@Override public void arbeiterFertig(Mensch m) { if (m.equals(hasArbeiter) && hasBesteller == null) { hasArbeiter = null; m.despawn(); } else if (m.equals(hasArbeiter) && gamepanel != null) { m.setzeZiel(getFeld(), gamepanel.getMap()); hasBesteller.bestellungAngekommen(this); hasBesteller = null; } else m.despawn(); }
@Override public void neuGeladen(Map m, ArrayList<Kreatur> kList) { if (hasBesteller != null) hasBesteller = m.getFeldBei(hasBesteller.getX(), hasBesteller.getY()).getInhalt(); if (hasArbeiter != null) { Feld f = m.getFeldBei(hasArbeiter.x, hasArbeiter.y); Feld f2 = m.getFeldBei(hasArbeiter.getZiel().getH(), hasArbeiter.getZiel().getV()); hasArbeiter = new Mensch(Berufe.BRUNNENMEISTER, f, kList, this); hasArbeiter.setzeZiel(f2, m); } }
public Flugzeug(int leute) { this.leute = leute; for (int i = 0; i < leute; i++) { int zahl = (int) (Math.random() * 100); Mensch mensch = new Mensch(); if (zahl <= 10) { mensch.setErkrankt(true); } menschen.add(mensch); } }
@Override public void aktion(Gamepanel gp) { gamepanel = gp; durchgangzaehler++; if (durchgangzaehler % 20 == 0) { if (aniZaehler < 7) { aniZaehler++; } else { if (arbeiter == noetigeArbeiter) hasLager.add(Waren.WASSER, 50); aniZaehler = 1; } if (durchgangzaehler > 500) { if (arbeiter < noetigeArbeiter) { if (gp.getEinwohner().unterschichtArbeitslos() >= noetigeArbeiter) { Feld w = new Strecke(gp.getMap()) .getNaechstesFeldMitEigenschaft(getFeld(), Eigenschaften.WOHNHAUS); if (w != null) { arbeiter += noetigeArbeiter - arbeiter; hasArbeiter = new Mensch(Berufe.BRUNNENMEISTER, w, gp.getKreaturenliste(), this); hasArbeiter.setzeZiel(this.getFeld(), gp.getMap()); } } } durchgangzaehler = 0; } } }
public void nextround(Simulation simulation) { int zufall = (int) (Math.random() * this.leute); Mensch mensch = this.menschen.get(zufall); if (mensch.isErkrankt()) { int zufall2 = (int) (Math.random() * 100); if (zufall2 <= simulation.prozent) { mensch.setErkrankt(false); } else { try { this.menschen.get(zufall + 1).setErkrankt(true); } catch (Exception x) { } try { this.menschen.get(zufall - 1).setErkrankt(true); } catch (Exception x) { } } } }
public boolean order(Bauwerk bw) { if (gamepanel == null) return false; if (arbeiter < noetigeArbeiter || hasBesteller != null || hasArbeiter != null) return false; hasBesteller = bw; hasArbeiter = new Mensch(Berufe.BRUNNENMEISTER, this.getFeld(), gamepanel.getKreaturenliste(), this); hasArbeiter.setzeZiel(hasBesteller.getFeld(), gamepanel.getMap()); return true; }