Exemplo n.º 1
0
  @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;
      }
    }
  }
Exemplo n.º 2
0
  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;
  }
Exemplo n.º 3
0
 @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();
 }
Exemplo n.º 4
0
  @Override
  public void zeichne(Graphics2D g2, int posX, int posY, Grafiken graf, int feldgroesse) {
    if ((int) (Math.random() * 10000) == TYP && gamepanel != null)
      gamepanel.getSounds().playSound(Geraeusch.WASSERPLAETSCHERN);
    int l;
    if (arbeiter == 0) l = 0;
    else l = aniZaehler;
    BufferedImage img = graf.getBauwerk(this.TYP, l);

    g2.drawImage(img, posX, posY, feldgroesse * 2, feldgroesse * 2, null);
  }