public void TurnCrank()
 {
     int num = _rand.Next(10);
     if (num == 0 && _machine.GetCount() > 0)
     {
         _machine.SetState(_machine.GetWinnerState());
     }
     else
     {
         Console.WriteLine("Turning the crank...");
         _machine.SetState(_machine.GetSoldState());
     }
 }
 public void Dispense()
 {
     _machine.ReleaseBall();
     if (_machine.GetCount() == 0)
     {
         _machine.SetState(_machine.GetSoldOutState());
     }
     else
     {
         _machine.ReleaseBall();
         Console.WriteLine("Congratulations! You are a winner");
         if (_machine.GetCount() == 0)
         {
             _machine.SetState(_machine.GetSoldOutState());
             Console.WriteLine("Sold out of gumballs");
         }
         else
         {
             _machine.SetState(_machine.GetNoQuarterState());
         }
     }
 }
        public void Dispense()
        {
            _machine.ReleaseBall();

            if (_machine.GetCount() > 0)
            {
                _machine.SetState(_machine.GetNoQuarterState());
            }
            else
            {
                Console.WriteLine("Sold out of gumballs");
                _machine.SetState(_machine.GetSoldOutState());
            }
        }