Are you sure that:
1. your if statement is being tested sufficient times, and
2. returning true sufficient times
to increment count to the point that the game function will return? In your last block of code, count doesn't get changed; it merely gets assigned to a return value (plus one).
If you're not using a debugger, you can put telltales inside your "if (pennies..." loop to see that it's getting executed as often as you think it is.