In creating a crab game, I am wanting to display a scoreboard every time 10 worms have been eating, and count up the multiples (i.e. 10, 20, 30, and so on). I have only figured out enough to just display 10 and have no clue how I would let it keep counting, any pointers?
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.awt.Color; import java.awt.Font; /** * Write a description of class Scoreboard here. * * @author (your name) * @version (a version number or a date) */ public class Scoreboard extends World { private int wormsEaten; private CrabWorld ocean; /** * Constructor for objects of class Scoreboard. * */ public Scoreboard(int w) { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. super(600, 400, 1); //ocean = cw; wormsEaten = w; GreenfootImage bg = getBackground(); //getting the background image Color c = new Color(Greenfoot.getRandomNumber(256), Greenfoot.getRandomNumber(256), Greenfoot.getRandomNumber(256)); bg.setColor(c); Font f = new Font("sample", Font.ITALIC, 20);//setting font style bg.setFont(f);//setting font bg.drawString("Worms EATEN =" + wormsEaten + " Press ENTER to continue playing!", 60, 210); } public void act() { if(Greenfoot.isKeyDown("enter")) { Greenfoot.setWorld(new CrabWorld()); } } }
import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot) /** * This class defines a crab. Crabs live on the beach. */ public class Crab extends Animal { private GreenfootImage image1 = new GreenfootImage("crab.png"); private GreenfootImage image2 = new GreenfootImage("crab2.png"); private int wormsEaten; private int count; public void act() { seeEatWorm(); keyClickA(); switchImage(); } /** * * When crab touches a worm it noms it. */ public void seeEatWorm() { if(canSee(Worm.class)) { eat(Worm.class); Greenfoot.playSound("slurp.wav"); wormsEaten++; if(wormsEaten >= 1) { getWorld().addObject(new Worm(), Greenfoot.getRandomNumber(560), Greenfoot.getRandomNumber(560)); } if (wormsEaten == 10) { Greenfoot.playSound ("fanfare.wav"); Greenfoot.setWorld(new Scoreboard(wormsEaten)); } } } /** * * Allows remote movement of crab of player 1. */ public void keyClickA() { if(Greenfoot.isKeyDown("left")) { turn(-4); move(); } if(Greenfoot.isKeyDown("right")) { turn(4); move(); } } /** * */ public void switchImage() { if(Greenfoot.isKeyDown("left") || Greenfoot.isKeyDown("right")) if(getImage() == image1) { setImage(image2); } else { setImage(image1); } } }