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

2021/3/4

help!!

Philinö Philinö

2021/3/4

#
I updated my code so that I can set the legion variable to a method, but now the fishs won't spawn. My code:
import greenfoot.*;
import java.util.Random;

public class Fisch extends SchwimmActor {
    private int timer;
    private int LebenszeitF = 0;
    private int legion = 0;
    private int spawnFisch = 0;

    
    
    public Fisch(){
        stats();
    }

    public void act(){
        amRand(); 
        schwimmen();
        ifberühren();
        move(4);
        stats();
        spawnFisch--;
        Actor F = getOneIntersectingObject(Fisch.class);
        LebenszeitF--;
        if (LebenszeitF == 0)
        {
            getWorld().removeObject(F);
            legion--;
            return;
            //lässt leider nur einen zufälligen Fisch sterben
        }

        World w = getWorld();
        if (spawnFisch == 0){                     //nach 5 sekunden
            Random random = new Random();
            for (int i = 0 ; i < 1; i++)
                w.addObject (new Fisch(),random.nextInt(600),random.nextInt(600));
            legion++;
            spawnFisch = 200;
        }
    }
    
    private void ausrottung(){
        if (legion == 0){
            System.out.println("Die gelben Fische sind ausgestorben :(");
            Greenfoot.stop();
        }
    }
    
    private void stats(){
        LebenszeitF = 10;
        legion = 0;
        spawnFisch = 1;
        
    }

    public void amRand(){
        if (atWorldEdge()){
            turn(4);
        }
    } 

    public void ifberühren(){
        if (canTouch(Raubfisch.class)){
            fressen(Fisch.class);
            legion--;
        }   
        if (canTouch(Delfin.class)){
            fressen(Fisch.class);
            legion--;
        }    
    }    


    public void schwimmen(){
        if(Greenfoot.getRandomNumber(100)<20){
            turn(Greenfoot.getRandomNumber(10));
        }    

    }
}
You need to login to post a reply.