добавлены команды для управления

This commit is contained in:
komissarovgo 2026-05-17 14:48:41 +03:00
parent 88fe6c89c8
commit 95dd862d49

View File

@ -0,0 +1,27 @@
from abc import ABC, abstractmethod
from models import Cell, Player
class Command(ABC):
@abstractmethod
def execute(self) -> None:
pass
@abstractmethod
def undo(self) -> None:
pass
class MoveCommand(Command):
def __init__(self, player: Player, new_cell: Cell):
self._player = player
self._new_cell = new_cell
self._old_cell = player.current_cell
def execute(self) -> None:
self._player.move_to(self._new_cell)
def undo(self) -> None:
self._player.move_to(self._old_cell)