This site requires JavaScript, please enable it in your browser!
Greenfoot back
RickKoekkoek
RickKoekkoek wrote ...

2017/2/3

Start next round when there are no enemies left

RickKoekkoek RickKoekkoek

2017/2/3

#
I'm trying to start a new round of enemies when there are no enemies left, but it is'nt working. How can i fix this.
private int wave;
public MyWorld()
    {    
        
        // Create a new world with 800x600 cells with a cell size of 1x1 pixels.
         super(800, 600, 1, false); 

        drawAmountEnemiesWave(10);
        if (getObjects(Enemy.class).isEmpty()){
            nextWave();        
        }
       
public void nextWave()
    {
    wave++;
    switch(wave)
    {
         case 1: drawAmountEnemiesWave2(10); break;
         default: Greenfoot.stop(); break;
    }
    }
    public void drawAmountEnemiesWave(int anAmount){
    for(int i = 0; i < anAmount; i++)
    {
            Enemy enemy = new Enemy();
            addObject(enemy, getWidth() - enemy.getImage().getWidth() + 40,  40 + 70 * i);
            Enemy enemy2 = new Enemy();
            addObject(enemy2, getWidth() - enemy2.getImage().getWidth() - 40,  40 + 70 * i);

    }
            
            Enemy enemy3 = new Enemy();
            addObject(enemy3, 580, 250);
            Enemy enemy4 = new Enemy();
            addObject(enemy4, 580 , 350);
}
   public void drawAmountEnemiesWave2(int Amount)
    {
    for(int j = 0; j < Amount; j++)
    {
            Enemy enemy5 = new Enemy();
            addObject(enemy5, getWidth() - enemy5.getImage().getWidth() + 40,  40 + 70 * j);
            Enemy enemy6 = new Enemy();
            addObject(enemy6, getWidth() - enemy6.getImage().getWidth() - 40,  40 + 70 * j);

    }
    }
Super_Hippo Super_Hippo

2017/2/3

#
Create an act method and move lines 9-11 into it. Btw, there is no reason to name all these Enemies you add. You can just use 'new Enemy()' in the addObject method.
RickKoekkoek RickKoekkoek

2017/2/3

#
Thanks it worked! i didnt know you could use an act method in the world class.
You need to login to post a reply.