se_uebungen/snake/snake_state_machine.py
2026-04-23 14:39:41 +02:00

26 lines
822 B
Python

from snake_up_movement_state import SnakeUpMovementState
from snake_down_movement_state import SnakeDownMovementState
from snake_left_movement_state import SnakeLeftMovementState
from snake_right_movement_state import SnakeRightMovementState
from input_manager import InputManager
class SnakeStateMachine:
def __init__(self):
self.__state = SnakeLeftMovementState()
self.__next_state_dict = {
InputManager.UP: SnakeUpMovementState(),
InputManager.DOWN: SnakeDownMovementState(),
InputManager.LEFT: SnakeLeftMovementState(),
InputManager.RIGHT: SnakeRightMovementState()
}
def update(self, user_input):
self.__state = self.__next_state_dict.get(user_input, self.__state)
def get_state(self):
return self.__state