diff --git a/ttt/game.py b/ttt/game.py index 2f0e302..f198345 100644 --- a/ttt/game.py +++ b/ttt/game.py @@ -58,4 +58,24 @@ class TTTGame: def check_winner(self, state, symbol): "Checks whether the player with `symbol` has won the game." + combos = [ + [0, 1, 2], + [3, 4, 5], + [6, 7, 8], + [0, 4, 8], + [2, 4, 6], + [0, 3, 6], + [1, 4, 7], + [2, 5, 8] + ] + for combo in combos: + if self.check_winning_combo(state, symbol, combo): + return True return False + + def check_winning_combo(self, state, symbol, combo): + """Checks whether all three spaces in a winning combo are filled with player's symbol.""" + for index in combo: + if state["board"][index] != symbol: + return False + return True