60 lines
1.6 KiB
D
60 lines
1.6 KiB
D
|
module winnerstate;
|
|||
|
|
|||
|
import std.stdio : writeln;
|
|||
|
import state, gumballmachine;
|
|||
|
|
|||
|
class WinnerState : State
|
|||
|
{
|
|||
|
GumballMachine gumballMachine;
|
|||
|
|
|||
|
this(GumballMachine gumballMachine)
|
|||
|
{
|
|||
|
this.gumballMachine = gumballMachine;
|
|||
|
}
|
|||
|
|
|||
|
void insertQuarter()
|
|||
|
{
|
|||
|
writeln("Пожалуйста, подождите, мы уже даем вам жвачку");
|
|||
|
}
|
|||
|
|
|||
|
void ejectQuarter()
|
|||
|
{
|
|||
|
writeln("Пожалуйста, подождите, мы уже даем вам жвачку");
|
|||
|
}
|
|||
|
|
|||
|
void turnCrank()
|
|||
|
{
|
|||
|
writeln("Дважды дернув за рычаг вы не получите другую жвачку!");
|
|||
|
}
|
|||
|
|
|||
|
void dispense()
|
|||
|
{
|
|||
|
gumballMachine.releaseBall();
|
|||
|
if (gumballMachine.getCount() == 0)
|
|||
|
{
|
|||
|
gumballMachine.setState(gumballMachine.getSoldOutState());
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
gumballMachine.releaseBall();
|
|||
|
writeln("ТЫ ПОБЕДИТЕЛЬ! У тебя есть два жевательных шарика на твой четвертак");
|
|||
|
if (gumballMachine.getCount() > 0)
|
|||
|
{
|
|||
|
gumballMachine.setState(gumballMachine.getNoQuarterState());
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
writeln("Упс, кончились шарики!");
|
|||
|
gumballMachine.setState(gumballMachine.getSoldOutState());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void refill() {}
|
|||
|
|
|||
|
override string toString() const
|
|||
|
{
|
|||
|
return "раздаем два жевательных шарика за твою четвертак, потому что ТЫ ПОБЕДИТЕЛЬ!";
|
|||
|
}
|
|||
|
}
|