/** Player class for Text Fighter - 20070928, Cheung Ho Yin */import java.util.Random;public class Player { // Instance variables private String name = "Somebody"; private int power = 100; private static Random r = new Random(); // Constructors public Player( String name ){ this.name = name; } public Player() {} // Methods public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPower() { return power; } public void addPower( int x ) { power += x; } public boolean isDead() { return power>=0?false:true; } public void attack( Player victim ) { // Is the victim already dead? if( victim.isDead() ){ System.out.printf( "--> %s is already dead!\n", victim.getName() ); return; } // Is the player attacking himself? Assume a break. if( victim.getName() == getName() ){ System.out.printf( "--> %s chooses to take a break.\n", getName() ); return; } // Attack other players System.out.printf( "--> %s attacks %s!\n", getName(), victim.getName() ); int diff = Math.abs( victim.getPower() - getPower() ); if(diff==0) diff=1; if(r.nextDouble() < 0.5){ // Win! Get power difference from the other party System.out.printf( "--> %s wins => ", getName() ); addPower( diff ); victim.addPower( -diff ); System.out.printf( "%s: +%d; %s: -%d.", getName(), diff, victim.getName(), diff ); } else { // Lose! Give power difference to the other party System.out.printf( "--> %s loses => ", getName() ); addPower( -diff ); victim.addPower( diff ); System.out.printf( "%s: -%d; %s: +%d.", getName(), diff, victim.getName(), diff ); } System.out.println(); // Is somebody dead after this turn? if(isDead()) System.out.printf( "--> %s is killed!\n", getName() ); if(victim.isDead()) System.out.printf( "--> %s is killed!\n", victim.getName() ); } // Test main program public static void main( String [] args ) { int counter=0; // Define new players Player p1 = new Player("Ho Yin"); Player p2 = new Player("Justin"); do { System.out.printf("== Round %d ==\n", ++counter); System.out.println("Player " + p1.getName() + "'s power = " + p1.getPower()); System.out.println("Player " + p2.getName() + "'s power = " + p2.getPower()); p2.attack(p1); } while ( !p1.isDead() && !p2.isDead() ); System.out.println("== Game over =="); System.out.println("Player " + p1.getName() + "'s power = " + p1.getPower()); System.out.println("Player " + p2.getName() + "'s power = " + p2.getPower()); }}