HI!!!!! I desperately need some assistance!!!! I want the thief (the player) to collect jewels. Whenever he collects a jewel, the jewel disappears and the jewel count increases by one. I have the code but it doesn't seem to work. HELP PLEASE!!!
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Thief here. * * @author (your name) * @version (a version number or a date) */ public class Thief extends Actor { public int jewelCount = 0; private int speed = 3; private int health = 3; int currentlvl; boolean isCaught = false; boolean hasLost = false; private GreenfootImage rR = new GreenfootImage("robberRight.png"); private GreenfootImage rL = new GreenfootImage("robberLeft.png"); public Thief(int a) { currentlvl = a; } /** * Act - do whatever the Thief wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { setImage(rR); go(); ladder(); } public void go() { if (Greenfoot.isKeyDown("right")) { setImage(rR); setLocation(getX() + speed, getY()); } if (Greenfoot.isKeyDown("left")) { setImage(rL); setLocation(getX() - speed, getY()); } } public void eatCoin() { Actor coin; coin = getOneObjectAtOffset(0, 0, Coin.class); if (coin != null) { World world; world = getWorld(); world.removeObject(coin); } } public boolean onPlatform() { Actor below = getOneObjectAtOffset (0, getImage().getHeight()/2, Platform.class); return below != null; } public void collectJewel() { Actor j = getOneObjectAtOffset(0, 0, Jewel.class); if (isTouching(Jewel.class)) { jewelCount ++; getWorld().removeObject(j); } } public void die() { if (health == 0) { Greenfoot.setWorld(new GameOver()); } } public void ladder() { Actor ladder; ladder = getOneObjectAtOffset(0, 5, Ladder.class); if (ladder != null) { if (Greenfoot.isKeyDown("up")) { setLocation(getX(), getY() - 3); } } Actor ladderd; ladderd = getOneObjectAtOffset(0, 42, Ladder.class); if (ladderd != null) { if (Greenfoot.isKeyDown("down")) { setLocation(getX(), getY() + 3); } } } public boolean getCaught() { Actor po; po = getOneObjectAtOffset(0, 0, PoliceOfficer.class); if (po != null) { isCaught = true; } return isCaught; } public void loseHealth() { if (isCaught) { health--; } } public void nextLvl() { if (jewelCount == 3 && isTouching(Door.class)) { switch (currentlvl) { case 0: Greenfoot.setWorld(new StartMenu()); break; case 1: Greenfoot.setWorld(new lvl_1()); break; case 2: Greenfoot.setWorld(new lvl_2()); break; case 3: Greenfoot.setWorld(new lvl_3()); break; case 4: Greenfoot.setWorld(new lvl_4()); break; case 5: Greenfoot.setWorld(new lvl_5()); break; } } } }