import java.util.Random; import java.awt.*; public class FighterTest { static Random ranGen = new Random(); static Player player1 = new Player("Ho Yin"); static Player player2 = new Player("Jenifer"); static Player winner, loser; static Player roundWinner, roundLoser; public static void main(String args[]) { int roundNum = 0; do { roundNum++; System.out.println(); System.out.println("Round "+ roundNum); boolean attackSuccessed; switch (ranGen.nextInt(2)) { case 0: System.out.println(player1.getName() + "'s power: " + player1.getPower()); System.out.println(player2.getName() + "'s power: " + player2.getPower()); attackSuccessed = player1.attack(player2); roundWinner = attackSuccessed? player1: player2; roundLoser = attackSuccessed? player2: player1; System.out.print(roundWinner.getName() + " wins"); System.out.println(); break; case 1: System.out.println(player1.getName() + "'s power: " + player1.getPower()); System.out.println(player2.getName() + "'s power: " + player2.getPower()); attackSuccessed = player2.attack(player1); roundWinner = attackSuccessed? player2: player1; roundLoser = attackSuccessed? player1: player2; System.out.print(roundLoser.getName() + " loses"); System.out.println(); break; } int difference = Math.abs(roundWinner.getPower()-roundLoser.getPower()); if (difference==0) { roundWinner.gainPower (1); roundLoser.losePower (1); } else { roundWinner.gainPower (difference); roundLoser.losePower (difference); } } while (!anyoneIsDead()); if (player1.isDead()) { winner = player2; loser = player1; } else { winner = player1; loser = player2; } System.out.println(); System.out.println("Game over:"); System.out.println(loser.getName() + " is dead!"); System.out.println(winner.getName()+"'s power:"+winner.getPower()); System.out.println(loser.getName()+"'s power:"+loser.getPower()); } public static boolean anyoneIsDead() { return (player1.isDead() || player2.isDead()); } }