import java.util.*;
public class CoinGame {
private Coin c1,c2;
private BankAccount p1,p2;
private double pot;
private Random randgen = new Random();
public CoinGame(BankAccount p1, BankAccount p2) {
c1 = new Coin();
c2 = new Coin();
this.p1 = p1;
this.p2 = p2;
}
public boolean turn() {
// First set up the pot
double amount = 10+randgen.nextInt(20); // 10-30 dollar pot
if (p1.getBalance() < amount) {
System.out.println(p1+" is out of money");
return false;
} else if (p2.getBalance() < amount) {
System.out.println(p2+" is out of money");
return false;
}
else
{
p1.withdraw(amount);
p2.withdraw(amount);
pot = amount*2;
c1.flip();
c2.flip();
System.out.println(c1+" "+c2);
if (c1.getFace().equals(c2.getFace())) {
// we have a winner
if (c1.getFace().equals("Heads"))
p1.deposit(pot);
else
p2.deposit(pot);
pot = 0;
}
}
System.out.println(p1+": "+p1.getBalance());
System.out.println(p2+": "+p2.getBalance());
System.out.println("------------------");
return true;
}
public boolean play(int n) {
boolean playmore=true;
while (n>0) {
playmore = turn();
if (!playmore) {
return playmore;
}
n=n-1;
}
return true;
}
}