what is "while(cashout > 0 || play <=0)" that has potential to be an infinite loop.... when would play ever be less than 0? also where is ur code that sets the balance & when is the boolean done ever...