All pastes #739756 Raw Edit

Player.java

public java v1 · immutable
#739756 ·published 2007-10-17 13:24 UTC
rendered paste body
/**  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());  }}