This commit is contained in:
Benjamyn Love 2022-08-13 04:37:55 +10:00
commit 0af1832ee5
3 changed files with 83 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.vscode/

6
TODO.md Normal file
View File

@ -0,0 +1,6 @@
# Shit to do
- Add victory logic
- Separate game logic and graphics system
- Get board working correctly - Done
- Store player data in board - Done

76
main.py Normal file
View File

@ -0,0 +1,76 @@
#!/usr/bin/python3
import time
import os
class Game:
def __init__(self):
self.player = 1
self.board = [[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]]
self.labels = [1, 2, 3, 4, 5, 6, 7]
def draw_board(self):
for x in self.board:
for y in range(len(x)):
print(x[y], end=" ")
print("")
def draw_labels(self):
for x in self.labels:
print(x, end=" ")
print("")
def turn(self, slot):
landed_piece = False
if slot > 6:
raise Exception("You fucked up")
if self.board[0][slot] != 0:
# The space is filled and no longer valid
return
for x in range(len(self.board)):
if self.board[x][slot] != 0:
self.board[x-1][slot] = self.player
landed_piece = True
break
if landed_piece is False:
self.board[len(self.board) - 1][slot] = self.player
self.player = 2 if self.player == 1 else 1
def check_victory(self):
# Write logic to determine winner
for x in range(len(self.board)):
if any(self.board[x]):
for y in range(len(self.board[x])):
if self.board[x][y] != 0:
current_value = self.board[x][y]
print(f"checking current value: {current_value}")
pass
return False
if __name__ == '__main__':
playing = True
game = Game()
while playing is True:
os.system('clear')
game.check_victory()
print(f"It is player {game.player}'s turn")
game.draw_board()
print('-------------')
game.draw_labels()
in_data = input("(q/quit) Where do you want to put your piece? ")
if in_data == 'q' or in_data == "quit":
playing = False
break
try:
in_data = int(in_data) - 1
game.turn(in_data)
except Exception as e:
print(f"Got an error: {e}")