I need some help at my program.
If the counter reaches 30 or more, it should reset to 0 and give the boolean true out.
This works fine, but when I want to get access of it at another class, then i turn to false.
Here is the counter:
Here is the UFO, where the counter get the points from and where I get the problem from above:
Ty for your help :)
import greenfoot.*;
import java.awt.Color;
public class Counter extends Actor
{
private int value;
private int lvlcounter;
public boolean lvl2;
public boolean lvl1check;
public Counter()
{
updateImage();
lvlcounter=1;
}
public void act()
{
lvl2();
lvl2=lvl2();
lvl1check=lvl1check();
}
private void updateImage()
{
setImage(new GreenfootImage("Points: "+value, 20, Color.GRAY, Color.BLUE));
}
public void bumpCount(int amount)
{
value += amount;
updateImage();
}
public boolean lvl2()
{
if(lvlcounter==1)
{
if(value==30 || value>30)
{
lvlcounter=lvlcounter+1;
value=0;
if(lvlcounter==2)
{
return true;
}
else
{
return false;
}
}
else
{
if(lvlcounter==2)
{
return true;
}
else
{
return false;
}
}
}
else
{
if(lvlcounter==2)
{
return true;
}
else
{
return false;
}
}
}
public boolean lvl1check()
{
if(lvlcounter==2 || lvlcounter>2)
{
return true;
}
else
{
return false;
}
}
} import greenfoot.*;
/**
* Write a description of class Ufo here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Ufo extends Actor
{
private int speed;
private int gameStart;
public Ufo()
{
speed=Greenfoot.getRandomNumber(1)+1;
}
public void act()
{
startGame();
if(gameStart==1 || gameStart>1)
{
move();
border();
clicked();
isTouchingProjectile();
isTouchingBomb();
lvl1();
}
}
public void move()
{
setLocation(getX() + speed, getY());
}
public void border()
{
if(getX()>840)
{
Gameover gameover =new Gameover();
getWorld().addObject(gameover, 400, 400);
Greenfoot.stop();
}
}
public void clicked()
{
if(Greenfoot.mouseClicked(this))
{
setLocation(-40, Greenfoot.getRandomNumber(650)+50);
((Counter)getWorld().getObjects(Counter.class).get(0)).bumpCount(1);
((Cash)getWorld().getObjects(Cash.class).get(0)).bumpCount(Greenfoot.getRandomNumber(5) + 20);
}
}
public void isTouchingProjectile()
{
if(isTouching(Projectile.class))
{
setLocation(-40, Greenfoot.getRandomNumber(650)+50);
((Counter)getWorld().getObjects(Counter.class).get(0)).bumpCount(10);
((Cash)getWorld().getObjects(Cash.class).get(0)).bumpCount(Greenfoot.getRandomNumber(20) + 90);
}
}
public void isTouchingBomb()
{
if(isTouching(Bomb.class))
{
setLocation(-40, Greenfoot.getRandomNumber(650)+50);
((Counter)getWorld().getObjects(Counter.class).get(0)).bumpCount(5);
((Cash)getWorld().getObjects(Cash.class).get(0)).bumpCount(Greenfoot.getRandomNumber(10) + 45);
}
}
public void startGame()
{
MenuButton button =new MenuButton();
Menu menu =new Menu();
if(button.clicked())
{
gameStart=gameStart+1;
getWorld().removeObject(menu);
}
}
public void lvl1()
{
Counter counter =new Counter();
if(counter.lvl1check()==true)
{
getWorld().removeObject(this);
}
}
}
