Zombiepolis / zombiepolis

GNU General Public License v3.0
0 stars 0 forks source link

Zombiejaeger bleibt da wenn man sein Haus entfernt hat (mit bulldozer) #24

Closed brier123 closed 10 years ago

AaronScott commented 10 years ago

der zugehörife zombiehunter lässt sich finden, wenn man über "city.getAllSprites(SpriteKind.HUN)" die liste abgreift und dann jeweils die originX & originY variablen mit der tile vergleicht

brier123 commented 10 years ago

Geht noch nicht, hier ist mein Code (in Micropolis.java):

void killZone(int xpos, int ypos, int zoneTile)
{
    rateOGMem[ypos/8][xpos/8] -= 20;

    assert isZoneCenter(zoneTile);
    CityDimension dim = getZoneSizeFor(zoneTile);
    assert dim != null;
    assert dim.width >= 3;
    assert dim.height >= 3;

    int zoneBase = (zoneTile&LOMASK) - 1 - dim.width;

    //kills zombie hunter, if this tile had a zombie hunter base on it: geht noch nicht
    if (isHunterHouse(zoneTile)){

        ArrayList<Sprite> hunter_sprites = this.city.getAllSprites(SpriteKind.HUN);

        int i = 0;
        HunterSprite hunter = (HunterSprite) hunter_sprites.get(i);

        while ((!(hunter.getOrigX() == xpos && hunter.getOrigY() == ypos)) && i < hunter_sprites.size()){
            hunter = (HunterSprite) hunter_sprites.get(i);
            i++;
        }
        hunter.explodeSprite();
    }
gerbeni commented 10 years ago

ab Zeile 54 in egine.huntersprite public void moveImpl() {

    if(this.city.getTile((origX-8)/16, (origY-8)/16) != HUNTER){
        this.frame = 0;
        return;
    }

    if (!city.hasPower((origX-8)/16, (origY-8)/16)){
        this.frame = 0;
        return;
    }

... weiter wie gehabt