mainGame.py
Sat Aug 06 2022 01:33:38 GMT+0000 (Coordinated Universal Time)
Saved by @projectpython
import pygame
import sys
import time
from board import Board
from gameFunctions import gamefunctions as gf
class TicTacToe:
# Overall class to manage game behaviors
def __init__(self):
# Initialize the game/resources
pygame.init()
# Create the screen attribute, which
# uses pygame's built in screen method
# and call it Tic-Tac-Toe
self.screen = pygame.display.set_mode((800, 800))
pygame.display.set_caption("Tic-Tac-Toe")
self.board = Board(self)
self.gf = gf(self)
self.firstRun = True
# set boolean attributes storing
# whose turn it is
self.player1Move = 0
self.player2Move = 0
# Draw board to screen
self.board.blitme()
def run_game(self):
# Start the main loop for the game
while True:
# Check mouse/keyboard events
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if self.firstRun == False:
# Take move, and draw move to the screen
if self.gf.player1Turn:
self.player1Move = self.gf.makeMove()
self.gf.player1Moves.append(self.gf.moveData[self.player1Move])
self.gf.drawMove(self.player1Move)
self.gf.endTurnP1()
elif self.gf.player2Turn:
self.player2Move = self.gf.makeMove()
self.gf.player2Moves.append(self.gf.moveData[self.player2Move])
self.gf.drawMove(self.player2Move)
self.gf.endTurnP2()
# Update screen
pygame.display.flip()
# check if someone won
if self.firstRun == False:
isWinner = self.gf.checkWinner()
if True in isWinner:
print("Game Over!")
time.sleep(3)
if isWinner[0] == True:
winner = "Player One"
else:
winner = "Player Two"
print(f"The winner is {winner}!")
sys.exit()
elif len(self.gf.availableMoves) == 0:
print("It's a draw!")
time.sleep(3)
sys.exit()
else:
self.firstRun = False



Comments