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

