
public class SlotsGame 
{
	private SlotMachine machine;
	private SlotsIO		io;
	private double winnings;
	
	private static final double match2 = 2;
	private static final double match3 = 5;
	
	
	public SlotsGame(SlotMachine sm)
	{
		machine = sm;
		io = new SlotsIO();
	}
	
	public void playGame()
	{
		double wager;
		
		io.writeWelcome();
		
		do 
		{
			io.writeBlank();
			wager = io.readWager("Wager: ");
			io.writeBlank();
			io.writeSlots(machine.pullHandle());
			io.writeBlank();
		
			io.writeResult(calcWinnings(wager));
					
		}while (!lostFifty() && io.playAgain("Go again? "));
		
		io.writeBlank();
		io.writeGoodbye(winnings);
	}
	
	public boolean lostFifty()
	{
		boolean result;
		result = false;
		
		if (winnings <= -50)
			result = true;
		return result;
	}
	
	public double calcWinnings(double wager)
	{
		winnings -= wager;
		
		if (machine.matches() == 3)
			wager = wager * match3;
		else if (machine.matches() == 2)
			wager = wager * match2;
		else 
			wager = 0;
		
		winnings += wager;
		
		return wager;
	}
}
