Hey thanks for the response. I changed a few things, it compiles and runs but doesn't work right
1) fighter class
package example;
public abstract class fighter {
public int healthBar;
public abstract void taunt();
public abstract void deathmove();
public abstract int getHealth();
}//end fighter
2) life class
package example;
public class life {
public int takeLife(fighter f){
f.healthBar = f.healthBar - 1;
return f.healthBar;
}//end takelife()
}//end life
3) ninja class
package example;
public class ninja extends fighter {
public int healthBar = 20;
life l = new life();
public void taunt(){
System.out.println("Feel my cold steel!");
}//end taunt()
public void deathmove(){
System.out.println("Ninja has chopped off your head");
}//end deathmove()
public int getHealth(){
return this.healthBar;
}//end getHealth
public void punch(fighter f){
System.out.println("Pow!!Ninja has just punched you");
l.takeLife(f);
}//end punch()
}//end ninja
4) sumo class
package example;
public class sumo extends fighter {
public int healthBar = 20;
public void taunt(){
System.out.println("I will crush you!");
}//end taunt()
public int getHealth(){
return this.healthBar;
}//end getHealth()
public void deathmove(){
System.out.println("Sumo has snapped your neck");
}//end deathmove()
}//end sumo
5) areana class
package example;
public class areana{
public static void main(
String[] args){
ninja n = new ninja();
sumo s = new sumo();
System.out.println("Sumo's life " + s.getHealth());
n.punch(s);
System.out.println("Sumo's life " + s.getHealth());
}//end main()
}//end areana
It compiles with no error, however the output is this:
--------------------
Sumo's life is 20
Pow!! Ninja has just punched you
Sumo's life is 20
----------------------
It doesn't subtract 1 from sumo's healthbar
Any ideas
Thanks,
Chris