I am trying to make a game with multiple rounds but it will not work and I do not know why. i want it to work in such a way that once all "robbers" have been killed more of them spawn.
background(world) code:
player code:
Robber code:
Bullet code:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class background here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Background extends World
{
ScoreBoard scoreboard = new ScoreBoard();
private int timer = 3600;
/**
* Constructor for objects of class background.
*
*/
public Background()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(1200, 900, 1);
prepare();
}
public void timer()
{
{
timer--;
showText("time:"+timer, 500, 50);
if(timer == 0) Greenfoot.stop();
}
}
// public void Act() {
// roundTwo();
// }
/**
* Prepare the world for the start of the program.
* That is: create the initial objects and add them to the world.
*/
private void prepare()
{
Player player = new Player();
addObject(player,80,808);
Robber robber = new Robber();
addObject(robber,1103,68);
Robber robber2 = new Robber();
Robber robber4 = new Robber();
addObject(robber4,539,72);
Robber robber5 = new Robber();
addObject(robber5,1127,442);
Robber robber6 = new Robber();
addObject(robber6,542,445);
Robber robber7 = new Robber();
addObject(robber7,833,272);
Robber robber8 = new Robber();
addObject(robber8,302,267);
Robber robber9 = new Robber();
addObject(robber9,796,652);
MoneyBag moneybag = new MoneyBag();
addObject(moneybag,973,377);
MoneyBag moneybag2 = new MoneyBag();
addObject(moneybag2,683,174);
MoneyBag moneybag3 = new MoneyBag();
addObject(moneybag3,645,387);
MoneyBag moneybag4 = new MoneyBag();
addObject(moneybag4,645,387);
MoneyBag moneybag5 = new MoneyBag();
addObject(moneybag5,378,359);
MoneyBag moneybag6 = new MoneyBag();
addObject(moneybag6,651,588);
MoneyBag moneybag7 = new MoneyBag();
addObject(moneybag7,307,648);
Timer timer = new Timer();
addObject(timer,1105,53);
timer.setLocation(1108,32);
addObject(scoreboard,72,54);
}
public ScoreBoard getScoreBoard()
{
return scoreboard;
}import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class player here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Player extends people
{
private final int reloadTime = 200,
maxShots = 6;
private int reloadTimer = 100,
shotsLeft = maxShots;
private boolean shooting = false;
/**
* Act - do whatever the robot wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
if(Greenfoot.isKeyDown("left"))
{
turn(-5);
}
if(Greenfoot.isKeyDown("right"))
{
turn(5);
}
if(Greenfoot.isKeyDown("up"))
{
move(5);
}
if(Greenfoot.isKeyDown("down"))
{
move(-5);
}
if (reloadTimer > 50)
{
if (--reloadTimer == 50) shotsLeft = maxShots;
else return;
}
if (!shooting && Greenfoot.isKeyDown("space"))
{
Actor Bullet = new Bullet();
getWorld().addObject(Bullet, getX(), getY());
Bullet.setRotation(getRotation());
shooting = true;
if (--shotsLeft == 0 ) reloadTimer = reloadTime;
}
else if (!Greenfoot.isKeyDown("space")) shooting = false;
}
}import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Robber here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Robber extends people
{
int score = 0;
/**
* Act - do whatever the man1 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
// Add your action code here.
move(Greenfoot.getRandomNumber(8)); //
turn(10 - Greenfoot.getRandomNumber(20));
if(getX() <=5 || getX() >= getWorld().getWidth() - 5)
{
turn(90);
}
if(getY() <=5 || getY() >= getWorld().getHeight() - 5)
{
turn(90);
}
Actor MoneyBag; // removes moneybag hen robber collides wwith it
MoneyBag = getOneObjectAtOffset(0,0,MoneyBag.class);
if(MoneyBag != null){
getWorld().removeObject(MoneyBag);
getWorld().addObject(new MoneyBag(),Greenfoot.getRandomNumber(getWorld().getWidth()), Greenfoot.getRandomNumber(getWorld().getHeight()));
}
Actor Player; //removes player when robber collides wwith it
Player = getOneObjectAtOffset(0,0,Player.class);
if(isTouching(Player.class))
{
World world = getWorld();
if (world != null) {
getWorld().removeObjects(world.getObjects(null));
world.setBackground("game_over.png");
Greenfoot.stop();
}
}
}
}import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Bullet here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Bullet extends bullets
{
public int speed = 10; // sets speed
private int curryEaten = 0;
private boolean variable = true;
private int RobberEaten = 0;
/**
* the command section thatcontrols the actions of the bullet
*/
public void act()
{
move(15); // sets movement speed
lookforRobber();
roundThree();
roundFour();
roundFive();
roundSix();
if(getX() >= getWorld().getWidth() -1)
getWorld().removeObject(this);
else if(getX() < 1)
getWorld().removeObject(this);
else if(getY() >= getWorld().getHeight() -1)
getWorld().removeObject(this);
else if(getY() < 1)
getWorld().removeObject(this);
}
/**
* adds multiple rounds and kills robber
*/
public void lookforRobber()
{
if(isTouching(Robber.class) )
{
removeTouching(Robber.class);
((Background) getWorld()).getScoreBoard().addScore();
RobberEaten = RobberEaten +1;
}
}
public void roundThree()
{
if ( RobberEaten == 7 && variable ==true)
{
variable = false;
getWorld().showText("Round 2" ,555, 455);
Robber Robber = new Robber();
getWorld().addObject(Robber,848,242);
Robber Robber2 = new Robber();
getWorld(). addObject(Robber2,505,289);
Robber Robber3 = new Robber();
getWorld().addObject(Robber3,189,525);
Robber Robber4 = new Robber();
getWorld().addObject(Robber4,1097,782);
Robber Robber5 = new Robber();
getWorld().addObject(Robber5,76,897);
Robber Robber6 = new Robber();
getWorld().addObject(Robber6,66,66);
Robber Robber7 = new Robber();
getWorld().addObject(Robber7,984,46);
Robber Robber8 = new Robber();
getWorld().addObject(Robber8,1047,397);
Robber Robber9 = new Robber();
getWorld().addObject(Robber9,487,74);
Robber Robber10 = new Robber();
getWorld().addObject(Robber10,159,299);
Robber Robber11 = new Robber();
getWorld().addObject(Robber11,400,550);
Robber Robber12 = new Robber();
getWorld().addObject(Robber12,800,700);
Robber Robber13 = new Robber();
getWorld().addObject(Robber13,1000,800);
Robber Robber14 = new Robber();
getWorld().addObject(Robber12,300,900);
Robber Robber15 = new Robber();
getWorld().addObject(Robber13,250,600);
}
}
public void roundFour()
{
if ( RobberEaten == 34 )
{
getWorld().showText("Round 4" ,555, 455);
Robber Robber = new Robber();
getWorld().addObject(Robber,848,242);
Robber Robber2 = new Robber();
getWorld(). addObject(Robber2,505,289);
Robber Robber3 = new Robber();
getWorld().addObject(Robber3,189,525);
Robber Robber4 = new Robber();
getWorld().addObject(Robber4,1097,782);
Robber Robber5 = new Robber();
getWorld().addObject(Robber5,76,897);
Robber Robber6 = new Robber();
getWorld().addObject(Robber6,66,66);
Robber Robber7 = new Robber();
getWorld().addObject(Robber7,984,46);
Robber Robber8 = new Robber();
getWorld().addObject(Robber8,1047,397);
Robber Robber9 = new Robber();
getWorld().addObject(Robber9,487,74);
Robber Robber10 = new Robber();
getWorld().addObject(Robber10,159,299);
Robber Robber11 = new Robber();
getWorld().addObject(Robber11,400,550);
Robber Robber12 = new Robber();
getWorld().addObject(Robber12,800,700);
Robber Robber13 = new Robber();
getWorld().addObject(Robber13,1000,800);
Robber Robber14 = new Robber();
getWorld().addObject(Robber14,300,900);
Robber Robber15 = new Robber();
getWorld().addObject(Robber15,250,600);
Robber Robber16 = new Robber();
getWorld().addObject(Robber16,300,900);
Robber Robber17 = new Robber();
getWorld().addObject(Robber17,250,600);
}
}
public void roundFive()
{
if ( RobberEaten == 51 )
{
getWorld().showText("Round 5" ,555, 455);
Robber Robber = new Robber();
getWorld().addObject(Robber,848,242);
Robber Robber2 = new Robber();
getWorld(). addObject(Robber2,505,289);
Robber Robber3 = new Robber();
getWorld().addObject(Robber3,189,525);
Robber Robber4 = new Robber();
getWorld().addObject(Robber4,1097,782);
Robber Robber5 = new Robber();
getWorld().addObject(Robber5,76,897);
Robber Robber6 = new Robber();
getWorld().addObject(Robber6,66,66);
Robber Robber7 = new Robber();
getWorld().addObject(Robber7,984,46);
Robber Robber8 = new Robber();
getWorld().addObject(Robber8,1047,397);
Robber Robber9 = new Robber();
getWorld().addObject(Robber9,487,74);
Robber Robber10 = new Robber();
getWorld().addObject(Robber10,159,299);
Robber Robber11 = new Robber();
getWorld().addObject(Robber11,400,550);
Robber Robber12 = new Robber();
getWorld().addObject(Robber12,800,700);
Robber Robber13 = new Robber();
getWorld().addObject(Robber13,1000,800);
Robber Robber14 = new Robber();
getWorld().addObject(Robber12,300,900);
Robber Robber15 = new Robber();
getWorld().addObject(Robber13,250,600);
Robber Robber16 = new Robber();
getWorld().addObject(Robber14,800,900);
Robber Robber17 = new Robber();
getWorld().addObject(Robber15,300,750);
}
}
public void roundSix()
{
if ( RobberEaten == 66 )
{
getWorld().showText("Round 6" ,555, 455);
Robber Robber = new Robber();
getWorld().addObject(Robber,848,242);
Robber Robber2 = new Robber();
getWorld(). addObject(Robber2,505,289);
Robber Robber3 = new Robber();
getWorld().addObject(Robber3,189,525);
Robber Robber4 = new Robber();
getWorld().addObject(Robber4,1097,782);
Robber Robber5 = new Robber();
getWorld().addObject(Robber5,76,897);
Robber Robber6 = new Robber();
getWorld().addObject(Robber6,66,66);
Robber Robber7 = new Robber();
getWorld().addObject(Robber7,984,46);
Robber Robber8 = new Robber();
getWorld().addObject(Robber8,1047,397);
Robber Robber9 = new Robber();
getWorld().addObject(Robber9,487,74);
Robber Robber10 = new Robber();
getWorld().addObject(Robber10,159,299);
Robber Robber11 = new Robber();
getWorld().addObject(Robber11,400,550);
Robber Robber12 = new Robber();
getWorld().addObject(Robber12,800,700);
Robber Robber13 = new Robber();
getWorld().addObject(Robber13,1000,800);
Robber Robber14 = new Robber();
getWorld().addObject(Robber12,300,900);
Robber Robber15 = new Robber();
getWorld().addObject(Robber13,250,600);
Robber Robber16 = new Robber();
getWorld().addObject(Robber14,300,900);
Robber Robber17 = new Robber();
getWorld().addObject(Robber15,250,600);
Robber Robber18 = new Robber();
getWorld().addObject(Robber16,300,900);
Robber Robber19 = new Robber();
getWorld().addObject(Robber17,250,600);
}
}
}
