From 120130e9a5e24f74e65d700c436dad79dcf61b3c Mon Sep 17 00:00:00 2001 From: Vincent Rodley Date: Fri, 1 Aug 2025 22:22:44 +1200 Subject: [PATCH] maybe working win checks? --- main.py | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 2b8f379..e13a13c 100644 --- a/main.py +++ b/main.py @@ -49,9 +49,34 @@ def colourTile(tile): else: return "O" -def checkWin(board): +def checkWin(board, player): + # Horizontal check + for row in range(6): + for col in range(4): + if all(board[col + i][row] == player for i in range(4)): + return True + + # Vertical check + for col in range(7): + for row in range(3): + if all(board[col][row + i] == player for i in range(4)): + return True + + # Diagonal / check + for col in range(4): + for row in range(3): + if all(board[col + i][row + i] == player for i in range(4)): + return True + + # Diagonal \ check + for col in range(4): + for row in range(3, 6): + if all(board[col + i][row - i] == player for i in range(4)): + return True + return False + # Board will be 7x6. # O = open, R = red, Y = yellow @@ -93,9 +118,9 @@ while playing: board[chosenColumn][tile] = player - if checkWin(board): + if checkWin(board, player): clear() - printBoard() + printBoard(board) print(f"{colourTile(player)} won!") break