From 2a908fa7adf8039e37aba1a2cdba9151fcad0551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20W=C3=B6lfer?= Date: Sat, 20 Apr 2019 02:30:36 +0200 Subject: [PATCH] Fixed DragonKill undo bug --- shenzhen_solitaire/board_actions.py | 2 +- test/test_solver.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shenzhen_solitaire/board_actions.py b/shenzhen_solitaire/board_actions.py index 1df92be..cd0dc8b 100644 --- a/shenzhen_solitaire/board_actions.py +++ b/shenzhen_solitaire/board_actions.py @@ -177,6 +177,7 @@ class DragonKillAction(Action): assert action_board.bunker[self.destination_bunker_id] == ( self.dragon, 4) assert len(self.source_stacks) == 4 + action_board.bunker[self.destination_bunker_id] = None for position, index in self.source_stacks: if position == board.Position.Field: action_board.field[index].append(self.dragon) @@ -184,7 +185,6 @@ class DragonKillAction(Action): action_board.bunker[index] = self.dragon else: raise RuntimeError("Can only kill dragons in field and bunker") - action_board.bunker[self.destination_bunker_id] = None @dataclass diff --git a/test/test_solver.py b/test/test_solver.py index 1445c24..40ead5a 100644 --- a/test/test_solver.py +++ b/test/test_solver.py @@ -5,8 +5,8 @@ from .boards import my_board def main() -> None: A = solver.SolitaireSolver(my_board) - for _, B in zip(range(1), A.solve()): - print(*B, sep='\n') + for _, B in zip(range(100), A.solve()): + #print(*B, sep='\n') print(len(B)) if __name__ == "__main__":