Hi, I have a world where you can score points to kill someone. And if I die I set a new world: GameOver. But how do I set the score from the world where you can score points (in this case the world: Alien_Attack) to the GameOver world?
This are my codes:
Alien_Attack:
this is the code of the counter:
And this is the code of the GameOver:
Can someone please help me?
public class Alien_Attack extends World
{
public Speler mainSpeler = new Speler();
int EnemyCounter;
private int timer = 0; //timer instellen
int x = Greenfoot.getRandomNumber(getWidth()); //variable x instellen op random breedte
int y = Greenfoot.getRandomNumber(getHeight()); //variable y instellen op random hoogte
Counter counter = new Counter();
public Alien_Attack()
{
super(1150, 610, 1); //grootte wereld instellen
addObject(mainSpeler, getWidth()/2, getHeight()/2);
addObject(counter, 100, 40);
}
public Counter getCounter()
{
return counter; //het terugkeren van counter
}
public void act()
{
EnemyCounter++; //enemycounter laten lopen
if(getObjects(Enemy.class).size() < 7 && EnemyCounter%100 == 0) //als er minder dan 7 enemies zijn dan...
{
SpawnEnemy(); //Voer dan SpawnEnemy uit
}
timer++; // timer laten lopen
if (timer == 1650) //als de timer 1650 is (staat ongeveer gelijk aan 30 secondes)
{
Greenfoot.setWorld(new TimeUpAlien()); //open dan nieuwe wereld: TimeUpAlien
}
Greenfoot.setWorld(new GameOverAlien()); //open dan een niewe wereld: GameOverAlien
}
}
public void SpawnEnemy() //spawn plekken voor de enemies bepalen
{
addObject(new Enemy(), getWidth(), 0); //helemaal rechtsboven een Enemy toevoegen
addObject(new Enemy(), getWidth(), getHeight()); //rechtsonder een Enemy toevoegen
addObject(new Enemy(), getWidth(), getHeight()/2); //rechtsmidden een Enemy toevoegen
addObject(new Enemy(), getWidth(), getHeight()/4); //rechts kwart naar beneden (van bovenaan gezien) een Enemy toevoegen
addObject(new Enemy(), getWidth(), getHeight()*3/4); //rechts kwart naar boven (van onderaan gezien) een Enemy toevoegen
addObject(new Enemy(), getWidth(), getHeight()/8); //rechts een achtste naar beneden (van bovenaan gezien) een Enemy toevoegen
addObject(new Enemy(), getWidth(), getHeight()*7/8); //rechts een achtste naar boven (van onderaan gezien) een Enemy toevoegen
addObject(new Enemy(), getWidth()*7/8, 0);
addObject(new Enemy(), getWidth()*7/8, getHeight());
}
}public class Counter extends Actor
{
int score = 0; //variable score gelijkstellen aan 0
public void act()
{
setImage(new GreenfootImage("Score : " + score, 24, Color.WHITE,Color.BLACK)); //tekst invoegen
}
public void addScore()
{
score++; //score laten optellen
}
}public class GameOverAlien extends World
{
Counter counter = new Counter(); //counter betekent nu nieuwe Counter
public GameOverAlien()
{
super(1150, 610, 1); //grootte van wereld instellen
showText("GAME OVER", getWidth()/2, 100); //tekst game over invoegen
addObject(counter, getWidth()/2, 200); //counter standaard toevoegen aan wereld
showText("PRESS 'R' TO RESTART THE GAME", getWidth()/2, 400); //tekst invoegen
showText("PRESS 'ENTER' GO BACK TO HOME", getWidth()/2, 450); // tekst invoegen
}
public void act()
{
if(Greenfoot.isKeyDown("r")) //als r wordt ingedrukt...
{
Greenfoot.setWorld(new Alien_Attack()); //open dan een nieuwe alien attack
}
if(Greenfoot.isKeyDown("enter")) //als enter wordt ingedrukt...
{
Greenfoot.setWorld(new Home()); //open dan nieuwe home
}
}
}

