Hey guys, i have to program something for school and i want to add a shield, after the Starship collected a powerup, but its simply not working. Could you help me pls???
import greenfoot.*; public class Starship extends Actor { private int count = 2; private boolean gotPowerup1=false; private boolean gotPowerup2=false; private boolean gotPowerup3=false; public void act() { move(0); checkKeys(); Powerup(); } /** * Press Keys to Move * getOneObjectAtOffset (x,y,Name.class) == null prüft ob Objekt der Klasse neben Starship ist */ public void checkKeys() { if (Greenfoot.isKeyDown("left")) {setLocation(getX() -6,getY()); } if (Greenfoot.isKeyDown("right") && getOneObjectAtOffset(5,0, Menu.class) == null) // wenn rechts Menu dann stoppe {setLocation(getX() +6,getY()); } if (Greenfoot.isKeyDown("up")) {setLocation(getX(),getY() -6); } if (Greenfoot.isKeyDown("down")) {setLocation(getX(),getY() +6); } if ("space".equals(Greenfoot.getKey())) { fire(); } } public void fire() { Bullet bullet = new Bullet(); //schießen (object create) getWorld().addObject(bullet,getX(),getY()); bullet.setRotation(-90);//objektrichtung anch oben richten } public void getShield() { count--; if (count == 0) {getWorld().addObject ( new Shield(), getX(), getY()); count=2; } } public void Powerup() { Actor Powerup1 = this.getOneObjectAtOffset (1,1, Powerup1.class); //Code verkürzen Actor Powerup2 = this.getOneObjectAtOffset (1,1, Powerup2.class); //Code verkürzen Actor Powerup3 = this.getOneObjectAtOffset (1,1, Powerup3.class); //Code verkürzen if (Powerup1 != null) { getWorld().removeObject(Powerup1); //Powerup1 entfernen } else if (Powerup2 != null) { getWorld().removeObject(Powerup2); //Powerup2 entfernen gotPowerup2 = true; } else if (Powerup3 != null) { getWorld().removeObject(Powerup3); //Powerup3 entfernen } } public void Powerup2_activated() {if (gotPowerup2 =true) {getShield(); } } }