From b9e2bb8399b542764aa5d5c2e146a97f6663a0b8 Mon Sep 17 00:00:00 2001 From: Lukas Hoffleit <lukas.hoffleit03@gmail.com> Date: Thu, 15 May 2025 17:07:57 +0200 Subject: [PATCH] Grid kann bei initialisierung uebergeben werden --- tictactoe.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/tictactoe.py b/tictactoe.py index 1f55247..6199eca 100644 --- a/tictactoe.py +++ b/tictactoe.py @@ -30,11 +30,24 @@ class TicTacToeError(Exception): """TicTacToe Error""" class TicTacToe(): - def __init__(self) -> None: - grid = [] - for _ in range(3): - grid.append([Player.undefined, Player.undefined, Player.undefined]) + def __init__(self, *args) -> None: + """ + Creates a new TicTacToe object. + A grid can be passed optionally as a list of ints or Player objects. + """ + if args: + grid = [] + for i in args[0]: + line = [] + for j in i: + line.append(self._get_player_from_int(j)) + grid.append(line) + else: + grid = [] + for _ in range(3): + grid.append([Player.undefined, Player.undefined, Player.undefined]) self.grid = np.array(grid) + print(self.grid) @staticmethod def _get_player_from_int(player:Player|int) -> Player: @@ -189,9 +202,9 @@ class TicTacToe(): if __name__ == "__main__": ttt = TicTacToe() - #ttt.add(1, 1, 1) - #ttt.print_grid() - #ttt.add(2, 1, 2) + ttt.add(1, 1, 1) + ttt.print_grid() + ttt.add(2, 1, 2) ttt.print_grid() current_player = Player.one while ttt.check_winner() == Player.undefined: -- GitLab