예제 #1
0
 public void Dispense()
 {
     _gumballMachine.ReleaseBall();
     if (_gumballMachine.GetCount() > 0)
     {
         _gumballMachine.SetState(_gumballMachine.GetNoQuarterState());
     }
     else
     {
         Console.WriteLine("Oops, out of gumballs!");
         _gumballMachine.SetState(_gumballMachine.GetSoldOutState());
     }
 }
 public void Dispense()
 {
     _gumballMachine.ReleaseBall();
     if (_gumballMachine.GetCount() == 0)
     {
         _gumballMachine.SetState(_gumballMachine.GetSoldOutState());
     }
     else
     {
         _gumballMachine.ReleaseBall();
         Console.WriteLine("YOU'RE A WINNER! You got two gumballs for your quarter");
         if (_gumballMachine.GetCount() > 0)
         {
             _gumballMachine.SetState(_gumballMachine.GetNoQuarterState());
         }
         else
         {
             Console.WriteLine("Oops, out of gumballs!");
             _gumballMachine.SetState(_gumballMachine.GetSoldOutState());
         }
     }
 }
        public void TurnCrank()
        {
            Console.WriteLine("You turned....");
            var winner = randomWinner.Next(10);

            if (winner == 0 && _gumballMachine.GetCount() > 1)
            {
                _gumballMachine.SetState(_gumballMachine.GetWinnerState());
            }
            else
            {
                _gumballMachine.SetState(_gumballMachine.GetSoldState());
            }
        }