maybe working win checks?
This commit is contained in:
parent
2c9fdaee10
commit
120130e9a5
31
main.py
31
main.py
|
|
@ -49,9 +49,34 @@ def colourTile(tile):
|
||||||
else:
|
else:
|
||||||
return "O"
|
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
|
return False
|
||||||
|
|
||||||
|
|
||||||
# Board will be 7x6.
|
# Board will be 7x6.
|
||||||
|
|
||||||
# O = open, R = red, Y = yellow
|
# O = open, R = red, Y = yellow
|
||||||
|
|
@ -93,9 +118,9 @@ while playing:
|
||||||
|
|
||||||
board[chosenColumn][tile] = player
|
board[chosenColumn][tile] = player
|
||||||
|
|
||||||
if checkWin(board):
|
if checkWin(board, player):
|
||||||
clear()
|
clear()
|
||||||
printBoard()
|
printBoard(board)
|
||||||
print(f"{colourTile(player)} won!")
|
print(f"{colourTile(player)} won!")
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user