module noquarterstate; import std.stdio : writeln; import state, gumballmachine; class NoQuarterState : State { GumballMachine gumballMachine; this(GumballMachine gumballMachine) { this.gumballMachine = gumballMachine; } void insertQuarter() { writeln("Вы вставили четвертак"); gumballMachine.setState(gumballMachine.getHasQuarterState()); } void ejectQuarter() { writeln("Вы не вставили четвертак"); } void turnCrank() { writeln("Вы дернули за рычаг, но нет четвертака"); } void dispense() { writeln("Сначала вам нужно заплатить"); } void refill() { } override string toString() const { return "в ожидании четвертака"; } }