import java.io.*; import java.util.*; public class CoinGame { private BankAccount p1,p2,pot; private Coin c1,c2; public CoinGame(String n1, String n2) { p1 = new BankAccount(); p2 = new BankAccount(); pot = new BankAccount(); p1.balance = 100.00; p1.name = n1; p2.balance = 100.00; p2.name = n2; pot.balance = 0.00; c1 = new Coin(); c2 = new Coin(); } public void turn() { Random r = new Random(); double bet = r.nextInt(1000) / 100.0; if (bet > p1.balance) { p1.giveMoneyTo(pot,p1.balance); } else { p1.giveMoneyTo(pot,bet); } if (bet > p2.balance) { p2.giveMoneyTo(pot,p2.balance); } else { p2.giveMoneyTo(pot,bet); } if (c1.getFace().equals(c2.getFace()) && c1.getFace().equals("Heads")) { pot.giveMoneyTo(p1,pot.balance); if (p2.balance == 0.0) { endgame(p1,p2); } else { result(p1,p2); } } else if (c1.getFace().equals(c2.getFace()) && c1.getFace().equals("Tails")) { pot.giveMoneyTo(p2,pot.balance); if (p1.balance == 0.0) { endgame(p2,p1); } else { result(p2,p1); } } else { result(); } } public void play(int n) { while (n != 0) { turn(); n = n - 1; } } public void ScoreCheck() { System.out.println("Score Check: " + p1.name + ": $" + p1.getBalance() + ", " + p2.name + ": $" + p2.getBalance() + ", Pot: $" + pot.getBalance()); } public void result() { System.out.println("Tie! Amount in pot: $" + pot.getBalance()); System.out.println(); } public void result(BankAccount win, BankAccount lose) { String x = win.name + " wins! Score: " + win.name + ": $" + win.getBalance() + ", " + lose.name + ": $" + lose.getBalance(); System.out.println(x); System.out.println(); } public void endgame(BankAccount win, BankAccount lose) { String x = win.name + " wins! Final Score: " + win.name + ": $" + win.getBalance() + ", " + lose.name + ": $" + lose.getBalance(); System.out.println(x); System.out.println(); } }