Files
SoftwareEngineeringCourse-Java/src/lab7_state/ex1/states/ChoiceState.java
2024-11-01 16:51:39 +01:00

33 lines
946 B
Java

package lab7_state.ex1.states;
import lab7_state.ex1.Machine;
import lab7_state.ex1.MachineState;
public class ChoiceState extends MachineState {
public ChoiceState(Machine machine) {
super(machine);
}
@Override
protected void returnCoin() {
machine.returnMoney(0.25);
machine.setCurrentState(machine.getIdleState());
}
@Override
protected void pushButton() {
if (!machine.hasCups()) {
System.out.println("The machine is out of cups");
} else if (!machine.hasCoffee()) {
System.out.println("The machine is out of coffee beans");
} else if (machine.isJammed()) {
System.out.println("The machine is jammed");
} else {
machine.makeCoffee();
machine.setCurrentState(machine.getCoffeeReadyState());
return;
}
machine.setCurrentState(machine.getServiceNeededState());
}
}