/** 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; } // Methods public String getName() { return 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 ) { // 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! Swap power. System.out.printf( "%s wins", getName() ); addPower( diff ); victim.addPower( -diff ); } else { // Lose! Give power difference to the other party System.out.printf( "%s loses", getName() ); addPower( -diff ); victim.addPower( 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; System.out.print("Java Text Fighter! v20070928\n\n"); // 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()); }}