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); } } }