So I have a game which I have managed to make a second level for, using the score method, whereby if the score goes up to 10 it goes to level 2, however I did the same for Level 3 but level 2 keeps resetting, as opposed to moving onwards to the third level.
This is my Code can someone please help me?
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class StandardBall here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class StandardBall extends Actor{
public int checkScore = 0;
private Counter counter;
private int hSpeed = 7, vSpeed = 10;
public void act()
{
movement();
getWorld().addObject(new trail(),getX(),getY());
Actor paddle = getOneIntersectingObject(paddle.class);
if( paddle != null ) {
hSpeed= -hSpeed;
}
Actor barrel = getOneIntersectingObject(barrel.class);
if(barrel != null)
{
getWorld().removeObject(barrel);
Counter counter = new Counter();
counter.addScore();
checkScore++;
}
Actor bee = getOneIntersectingObject(bee.class);
if(bee != null)
{
getWorld().removeObject(bee);
Counter counter = new Counter();
counter.addScore();
checkScore++;
}
Level2();
Level3();
}
public void movement()
{
setLocation( getX() +hSpeed, getY() + vSpeed);
if(getX()<5) {
hSpeed = -hSpeed;
}
if(getY()<5) {
vSpeed = -vSpeed;
}
if (getX() > getWorld().getWidth()-2) {
hSpeed = -hSpeed;
}
if (getY() > getWorld().getHeight()-2) {
vSpeed = -vSpeed;
}
}
public void MyWorld(){
if(checkScore >=10){
Greenfoot.setWorld(new Level2());
}
}
public void Level2(){
if(checkScore >=10){
Greenfoot.setWorld(new Level3());
}
}
public void Level3(){;
if(checkScore >=10){
Greenfoot.setWorld(new Level3());
}
}
}