B.class.....
import greenfoot.*; public class B extends Actor { int t,count,speed=5; boolean upKeyDown; int movt; Counter counter; int health=150; int s[]={0,1,2}; private static final Color transparent = new Color(0,0,0,0); private GreenfootImage background; static final int m=100; public B(Counter counter) { this.counter=counter; getImage().scale(60,60); setRotation(180); background = getImage(); } public void act() { magnet(); sheild(); speed(); stone(); die(); moveANDturn(); } protected void add(World w) { int i=0; while(getOneIntersectingObject(null)!=null && i++<m) { setLocation((int)(Math.random()*w.getWidth()), (int)(Math.random()*w.getHeight())); } if(i>=m) { w.removeObject(this); } } public void magnet() { if(Greenfoot.isKeyDown("w") && isTouching(Magn_feild.class)) { speed=+2; }else speed=5; } public void sheild() { if(isTouching(Crate.class)) { int rand=Greenfoot.getRandomNumber(s.length); if(rand==0) getWorld().addObject(new BSheild(),getX(),getY() ); if(rand==1)getWorld().addObject(new HealthB(),410,26 ); if(rand==2)getWorld().addObject(new Score_inc_b(counter),getX(),getY()); } } public void speed() { Actor Speed=getOneIntersectingObject(Speed.class); if(Greenfoot.isKeyDown("w") && Speed !=null) { speed=+16; } } public void stone() { Actor Stone=getOneIntersectingObject(Stone.class); Actor EnemyTank=getOneIntersectingObject(EnemyTank.class); Actor EnemyTank1=getOneIntersectingObject(EnemyTank1.class); Actor Sheild=getOneIntersectingObject(Sheild.class); Actor Tank=getOneIntersectingObject(Tank.class); if(Greenfoot.isKeyDown("w") && Stone !=null || Greenfoot.isKeyDown("w") && EnemyTank !=null || Greenfoot.isKeyDown("w") && EnemyTank1 !=null || Greenfoot.isKeyDown("w") && Sheild !=null || Greenfoot.isKeyDown("w") && Tank !=null) { speed=0; } if(upKeyDown != Greenfoot.isKeyDown("w") && Stone !=null || upKeyDown != Greenfoot.isKeyDown("w") && EnemyTank1 !=null || upKeyDown != Greenfoot.isKeyDown("w") && EnemyTank !=null || upKeyDown != Greenfoot.isKeyDown("w") && Sheild !=null || upKeyDown != Greenfoot.isKeyDown("w") && Tank !=null) { move(-15); } } public void moveANDturn() { if(Greenfoot.isKeyDown("w")) { movt++; }else {turn(t);movt=0;} if(movt>7) { move(speed); } if(upKeyDown != Greenfoot.isKeyDown("w")) { upKeyDown= !upKeyDown; if(upKeyDown) { count+=1; Projectile1 projectile1=new Projectile1(); getWorld().addObject(projectile1, getX(),getY()); projectile1.setRotation(getRotation()); } } if(count % 2==0) { t=4; }else t=-4; } public void die() { GreenfootImage image = new GreenfootImage(background); GreenfootImage text = new GreenfootImage(""+health,20,Color.WHITE, transparent); image.drawImage(text, (image.getWidth()-text.getWidth()-31), (image.getHeight()-text.getHeight()-20)); setImage(image); if(isTouching(Projectile.class)) { counter.tscore++; } Actor Projectile=getOneIntersectingObject(Projectile.class); if(Projectile !=null) { health-=50; getWorld().removeObject(Projectile); } if(health ==0 ) { removeTouching(Tank.class); getWorld().removeObject(this); } } }