I am trying to make a boolean statement that will make it so when my SpaceTurtle2 class eats the TurtleBlaster class, it will make the turtle shoot a different blaster bullet. I don't even know where to start....
if(canSee(TurtleBlaster.class))
{
eat(TurtleBlaster.class);
getWorld().addObject(new BlasterBullet(), x, y); // add a line like this here
}// add this instance boolean field
private boolean isBlasterType2;
// then to shoot
if (isBlasterType2)
{
getWorld().addObject(new BlasterBullet2(), getX(), getY());
}
else
{
getWorld().addObject(new BlasterBullet(), getX(), getY());
}
// and when eating a TurtleBlaster object
if(canSee(TurtleBlaster.class))
{
eat(TurtleBlaster.class);
isBlasterType2=true;
}// in the act method (or a method it calls)
if("z".equals(Greenfoot.getKey()) isBlasterType2= !isBlasterType2;import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class SpaceTurtle2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class SpaceTurtle2 extends Animal
{
private int tbEaten;
private boolean isBlasterType2;
public SpaceTurtle2()
{
}
public void Boss2()
{
}
public void addedToWorld(World world)
{
if (world instanceof Boss2)
{
//if (getY()<370) setLocation(getX(), getY() + 1);
if (getX()<370) setLocation(getX()+1, getY());
}
}
/**
* Act - do whatever the SpaceTurtle2 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
move(3);
checkKeys();
ifCanSeeArrow();
ifCanSeeFactory();
shoot1();
}
/**
* Check if keys are being pressed. Press left turn left.
* Press right turn right.
*/
public void checkKeys()
{
if (Greenfoot.isKeyDown("left"))
{
turn(-5);
}
if (Greenfoot.isKeyDown("right"))
{
turn(5);
}
//if("z".equals(Greenfoot.getKey())) isBlasterType2= !isBlasterType2;
}
public void shoot1()
{
if (isBlasterType2)
{
if ("space".equals(Greenfoot.getKey()))
{
shoot2();
}
//getWorld().addObject(new BlasterBullet2(), getX(), getY());
}
else
{
if ("space".equals(Greenfoot.getKey()))
{
shoot();
}
//getWorld().addObject(new BlasterBullet(), getX(), getY());
}
// and when eating a TurtleBlaster object
if(canSee(TurtleBlaster.class))
{
eat(TurtleBlaster.class);
tbEaten++;
isBlasterType2=true;
}
}
public void ifCanSeeFactory()
{
if (canSee(Factory.class))
{
Greenfoot.setWorld(new Zombies3());
}
}
public void ifCanSeeArrow()
{
if (canSee(Arrow.class))
{
Greenfoot.setWorld(new Zombies1());
}
if (canSee(Arrow2.class))
{
Greenfoot.setWorld(new Zombies2());
}
if (canSee(Arrow3.class))
{
Greenfoot.setWorld(new Zombies4());
}
if(canSee(Arrow4.class))
{
Greenfoot.setWorld(new Boss2());
}
if (canSee(Arrow5.class))
{
Greenfoot.setWorld(new Moon2());
}
if (canSee(Arrow6.class))
{
Greenfoot.setWorld(new Moon3());
}
if (canSee(Arrow7.class))
{
Greenfoot.setWorld(new Moon4());
}
}
public void shoot()
{
BlasterBullet blasterBullet = new BlasterBullet();
getWorld().addObject(blasterBullet, getX(), getY());
blasterBullet.setRotation(getRotation());
}
public void shoot2()
{
BlasterBullet4 blasterBullet4 = new BlasterBullet4();
getWorld().addObject(blasterBullet4, getX(), getY());
blasterBullet4.setRotation(getRotation());
blasterBullet4.setImage("BBPurge.png");
}
}
import greenfoot.*;
public class SpaceTurtle2 extends Animal
{
private int tbEaten;
private boolean isBlasterType2;
public SpaceTurtle2()
{
}
public void addedToWorld(World world)
{ // I cannot think of a reason for this method (for what it does)
if (world instanceof Boss2)
{
//if (getY()<370) setLocation(getX(), getY() + 1);
if (getX()<370) setLocation(getX()+1, getY());
}
}
public void act()
{
move(3);
checkKeys();
ifCanSeeTurtleBlaster();
ifCanSeeArrow();
ifCanSeeFactory();
}
public void checkKeys()
{
if (Greenfoot.isKeyDown("left")) turn(-5);
if (Greenfoot.isKeyDown("right")) turn(5);
String key=Greenfoot.getKey();
if (key == null) return;
if ("z".equals(key)) isBlasterType2= !isBlasterType2;
if ("space".equals(key)) shoot();
}
public void shoot()
{
Actor blaster = null;
if (isBlasterType2)
{
blaster = new BlasterBullet4();
blaster.setImage("BBPurge.png");
}
else
{
blaster = new BlaserBullet();
}
blaster.setRotation(getRotation());
getWorld().addObject(blaster, getX(), getY());
}
private void ifCanSeeTurtleBlaster()
{
if(canSee(TurtleBlaster.class))
{
eat(TurtleBlaster.class);
tbEaten++;
isBlasterType2=true;
}
}
public void ifCanSeeFactory()
{
if (canSee(Factory.class)) Greenfoot.setWorld(new Zombies3());
}
public void ifCanSeeArrow()
{
if (canSee(Arrow.class)) Greenfoot.setWorld(new Zombies1());
if (canSee(Arrow2.class)) Greenfoot.setWorld(new Zombies2());
if (canSee(Arrow3.class)) Greenfoot.setWorld(new Zombies4());
if (canSee(Arrow4.class)) Greenfoot.setWorld(new Boss2());
if (canSee(Arrow5.class)) Greenfoot.setWorld(new Moon2());
if (canSee(Arrow6.class)) Greenfoot.setWorld(new Moon3());
if (canSee(Arrow7.class)) Greenfoot.setWorld(new Moon4());
}
}import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class SpaceTurtle2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class SpaceTurtle2 extends Animal
{
private int tbEaten;
private boolean isBlasterType2;
public SpaceTurtle2()
{
}
/**
* Act - do whatever the SpaceTurtle2 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
move(3);
checkKeys();
ifCanSeeTurtleBlaster();
ifCanSeeArrow();
ifCanSeeFactory();
}
/**
* Check if keys are being pressed. Press left turn left.
* Press right turn right.
*/
public void checkKeys()
{
if (Greenfoot.isKeyDown("left")) turn(-5);
if (Greenfoot.isKeyDown("right")) turn(5);
String key=Greenfoot.getKey();
if (key == null) return;
if ("z".equals(key)) isBlasterType2= !isBlasterType2;
if ("space".equals(key)) shoot();
}
public void shoot()
{
Actor blaster = null;
if (isBlasterType2)
{
blaster = new BlasterBullet4();
blaster.setImage("BBPurge.png");
}
else
{
blaster = new BlasterBullet();
}
blaster.setRotation(getRotation());
getWorld().addObject(blaster, getX(), getY());
}
private void ifCanSeeTurtleBlaster()
{
if(canSee(TurtleBlaster.class))
{
eat(TurtleBlaster.class);
tbEaten++;
isBlasterType2=true;
}
}
public void ifCanSeeFactory()
{
if (canSee(Factory.class))
{
Greenfoot.setWorld(new Zombies3());
}
}
public void ifCanSeeArrow()
{
if (canSee(Arrow.class))
{
Greenfoot.setWorld(new Zombies1());
}
if (canSee(Arrow2.class))
{
Greenfoot.setWorld(new Zombies2());
}
if (canSee(Arrow3.class))
{
Greenfoot.setWorld(new Zombies4());
}
if(canSee(Arrow4.class))
{
Greenfoot.setWorld(new Boss2());
}
if (canSee(Arrow5.class))
{
Greenfoot.setWorld(new Moon2());
}
if (canSee(Arrow6.class))
{
Greenfoot.setWorld(new Moon3());
}
if (canSee(Arrow7.class))
{
Greenfoot.setWorld(new Moon4());
}
}
}