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 "раздаем два жевательных шарика за твою четвертак, потому что ТЫ ПОБЕДИТЕЛЬ!";
|
||
}
|
||
}
|