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()); } } }