import java.io.*; import java.util.*; public class CoinGame { private double pot; private BankAccount p1, p2; private Coin c1, c2; private int count; private double totalpot; private boolean canplay; public CoinGame(BankAccount a, BankAccount b) { p1 = a; p2 = b; c1 = new Coin(); c2 = new Coin(); p1.deposit(1000.0); p2.deposit(1000.0); totalpot = 0; pot = 100.0; count = 1; canplay = true; } public void turn() { if (p1.getBalance() < pot || p2.getBalance() < pot) { System.out.println("Cannot play."); canplay = false; } else { p1.withdraw(pot); p2.withdraw(pot); totalpot = totalpot + 2*pot; c1.flip(); c2.flip(); count = count+1; if (c1.getFace() == 1 && c2.getFace() == 1) { p1.deposit(totalpot); System.out.println(p1.getName() + " Won!"); totalpot = 0; } else if (c1.getFace() == 0 && c2.getFace() == 0) { p2.deposit(totalpot); System.out.println(p2.getName() + " Won!"); totalpot = 0; } else System.out.println("Nobody won.") ; } } public void play(int n) { while (n > 0 && canplay) { n = n - 1; System.out.println("Turn " + count); printStatus(); turn(); } } public void printStatus() { System.out.println(p1.getName() + " " + p1.getBalance() + p2.getName() + " " + p2.getBalance()); System.out.println("Current pot: " + totalpot + " Pot: " + pot); System.out.println(); } public static void main(String[] args) { BankAccount p1 = new BankAccount("Michael", 1); BankAccount p2 = new BankAccount("Jason", 2); CoinGame cg = new CoinGame(p1, p2); cg.play(21); } }