Hello!
I am pretty new to Greenfoot and I am not yet an expert when it comes to complex coding.
My scenario is a chase game. It is about a dart that pops balloons and once it pops one, a score is added to the counter. The chaser is an aerial bomb, which triggers the game over event.
For some reason, I could not get my counter to work despite trying to alter my codes in my different Actors.
I used the eat method instead of other methods.
Here are the codes for the dart:
And these are the balloon's:
And these are the bomb's:
(I have a gut feeling that the int's at the beginning are useless)
And these are the codes for the world (it's pretty long):
And lastly, the counter's:
I would be really grateful if someone points out my errors. :)
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Nest here. * * @author (your name) * @version (a version number or a date) */ public class Dart extends Actor { /** * Act - do whatever the Dart wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ private Balloon6 target; public void act() { if (Greenfoot.mouseMoved(null)) { MouseInfo mouse = Greenfoot.getMouseInfo(); setLocation(mouse.getX(), mouse.getY()); } eat(); } public void eat() { Actor food; food=getOneObjectAtOffset(0,0,Balloon6.class); if (food!=null) { World world; world=getWorld(); world.removeObject(food); Level1 level1 = (Level1)world; Counter counter = level1.getCounter (); counter.addScore(); } } }
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Balloon6 here. * * @author (your name) * @version (a version number or a date) */ public class Balloon6 extends Actor { /** * Act - do whatever the Balloon6 wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { moveAround(); } public void moveAround() { move(1); if(Greenfoot.getRandomNumber(100)<10) { turn(Greenfoot.getRandomNumber(90)-45); } if(getX()<=5||getX()>=getWorld().getWidth()-5) { turn(180); } if(getY()<=5||getY()>=getWorld().getHeight()-5) { turn(180); } } }
import greenfoot.*; /** * Write a description of class Bomb here. * * @author (your name) * @version (a version number or a date) */ public class Bomb extends Actor { int value = 4; int x,y; int counter = 0; int speed = 0; private Dart target; public void act() { x = getX(); move(4); y = getY(); turnTowards(); if (isTouching(Dart.class)) { World world; world=getWorld(); GameOver gameover = new GameOver(); world.addObject(gameover, world.getWidth()/2, world.getHeight()/2); Greenfoot.stop(); } } public void turnTowards() { if(target == null) { if(!getWorld().getObjects(Dart.class).isEmpty()) { target = (Dart) getWorld().getObjects(Dart.class).get(0); } } if(target != null) { int xDiff = target.getX() - getX(), yDiff = target.getY() - getY(); double angle = Math.toDegrees(Math.atan2(yDiff, xDiff)); setRotation((int)Math.round(angle)); } } }
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Level1 here. * * @author (your name) * @version (a version number or a date) */ public class Level1 extends World { Counter counter = new Counter(); /** * Constructor for objects of class Level1. * */ public Level1() { super(1000, 500, 1); prepare (); } public Counter getCounter() { return counter; } public void prepare() { Balloon6 balloon6 = new Balloon6(); addObject(balloon6, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon62 = new Balloon6(); addObject(balloon62, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon63 = new Balloon6(); addObject(balloon63, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon64 = new Balloon6(); addObject(balloon64, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon65 = new Balloon6(); addObject(balloon65, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon66 = new Balloon6(); addObject(balloon66, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon67 = new Balloon6(); addObject(balloon67, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon68 = new Balloon6(); addObject(balloon68, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon69 = new Balloon6(); addObject(balloon69, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon610 = new Balloon6(); addObject(balloon610, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon611 = new Balloon6(); addObject(balloon611, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon612 = new Balloon6(); addObject(balloon612, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon613 = new Balloon6(); addObject(balloon613, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon614 = new Balloon6(); addObject(balloon614, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon615 = new Balloon6(); addObject(balloon615, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon616 = new Balloon6(); addObject(balloon616, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon617 = new Balloon6(); addObject(balloon617, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon618 = new Balloon6(); addObject(balloon618, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon619 = new Balloon6(); addObject(balloon619, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon620 = new Balloon6(); addObject(balloon620, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon621 = new Balloon6(); addObject(balloon621, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon622 = new Balloon6(); addObject(balloon622, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon623 = new Balloon6(); addObject(balloon623, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon624 = new Balloon6(); addObject(balloon624, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon625 = new Balloon6(); addObject(balloon625, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon626 = new Balloon6(); addObject(balloon626, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon627 = new Balloon6(); addObject(balloon627, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon628 = new Balloon6(); addObject(balloon628, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon629 = new Balloon6(); addObject(balloon629, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon630 = new Balloon6(); addObject(balloon630, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon631 = new Balloon6(); addObject(balloon631, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon632 = new Balloon6(); addObject(balloon632, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon633 = new Balloon6(); addObject(balloon633, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon634 = new Balloon6(); addObject(balloon634, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon635 = new Balloon6(); addObject(balloon635, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon636 = new Balloon6(); addObject(balloon636, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon637 = new Balloon6(); addObject(balloon637, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon638 = new Balloon6(); addObject(balloon638, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon639 = new Balloon6(); addObject(balloon639, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon640 = new Balloon6(); addObject(balloon640, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon641 = new Balloon6(); addObject(balloon641, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon642 = new Balloon6(); addObject(balloon642, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon643 = new Balloon6(); addObject(balloon643, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon644 = new Balloon6(); addObject(balloon644, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon645 = new Balloon6(); addObject(balloon645, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon646 = new Balloon6(); addObject(balloon646, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon647 = new Balloon6(); addObject(balloon647, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon648 = new Balloon6(); addObject(balloon648, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon649 = new Balloon6(); addObject(balloon649, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon650 = new Balloon6(); addObject(balloon650, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon651 = new Balloon6(); addObject(balloon651, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon652 = new Balloon6(); addObject(balloon652, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon653 = new Balloon6(); addObject(balloon653, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon654 = new Balloon6(); addObject(balloon654, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon655 = new Balloon6(); addObject(balloon655, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon656 = new Balloon6(); addObject(balloon656, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon657 = new Balloon6(); addObject(balloon657, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon658 = new Balloon6(); addObject(balloon658, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon659 = new Balloon6(); addObject(balloon659, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon660 = new Balloon6(); addObject(balloon660, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon661 = new Balloon6(); addObject(balloon661, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon662 = new Balloon6(); addObject(balloon662, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon663 = new Balloon6(); addObject(balloon663, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon664 = new Balloon6(); addObject(balloon664, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon665 = new Balloon6(); addObject(balloon665, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon666 = new Balloon6(); addObject(balloon666, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon667 = new Balloon6(); addObject(balloon667, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon668 = new Balloon6(); addObject(balloon668, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon669 = new Balloon6(); addObject(balloon669, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon670 = new Balloon6(); addObject(balloon670, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon671 = new Balloon6(); addObject(balloon671, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon672 = new Balloon6(); addObject(balloon672, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon673 = new Balloon6(); addObject(balloon673, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon674 = new Balloon6(); addObject(balloon674, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon675 = new Balloon6(); addObject(balloon675, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon676 = new Balloon6(); addObject(balloon676, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon677 = new Balloon6(); addObject(balloon677, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon678 = new Balloon6(); addObject(balloon678, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon679 = new Balloon6(); addObject(balloon679, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon680 = new Balloon6(); addObject(balloon680, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon681 = new Balloon6(); addObject(balloon681, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon682 = new Balloon6(); addObject(balloon682, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon683 = new Balloon6(); addObject(balloon683, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon684 = new Balloon6(); addObject(balloon684, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon685 = new Balloon6(); addObject(balloon685, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon686 = new Balloon6(); addObject(balloon686, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon687 = new Balloon6(); addObject(balloon687, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon688 = new Balloon6(); addObject(balloon688, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon689 = new Balloon6(); addObject(balloon689, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon690 = new Balloon6(); addObject(balloon690, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon691 = new Balloon6(); addObject(balloon691, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon692 = new Balloon6(); addObject(balloon692, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon693 = new Balloon6(); addObject(balloon693, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon694 = new Balloon6(); addObject(balloon694, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon695 = new Balloon6(); addObject(balloon695, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon696 = new Balloon6(); addObject(balloon696, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon697 = new Balloon6(); addObject(balloon697, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon698 = new Balloon6(); addObject(balloon698, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Balloon6 balloon699 = new Balloon6(); addObject(balloon699, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); Bomb bomb = new Bomb(); addObject(bomb, 89, 469); Dart dart = new Dart(); addObject(dart, 78, 62); Counter counter = new Counter(); addObject(counter, 47, 14); bomb.setLocation(281, 29); dart.setLocation(83, 472); bomb.setLocation(91, 44); } }
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.awt.Color; /** * Write a description of class Counter here. * * @author (your name) * @version (a version number or a date) */ public class Counter extends Actor { int score = 0; /** * Act - do whatever the Counter wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { setImage(new GreenfootImage("Score : " + score,30, Color.WHITE, Color.BLUE)); } public void addScore() { score++; } }