Program Code
Program Code
import numpy as np
pygame.init()
WIDTH = 600
HEIGHT = 600
LINE_WIDTH = 15
WIN_LINE_WIDTH = 15
BOARD_ROWS = 3
BOARD_COLS = 3
SQUARE_SIZE = 200
CIRCLE_RADIUS = 60
CIRCLE_WIDTH = 15
CROSS_WIDTH = 25
SPACE = 55
RED = (255, 0, 0)
screen.fill( BG_COLOR )
def draw_lines():
def draw_figures():
for row in range(BOARD_ROWS):
elif board[row][col] == 2:
board[row][col] = player
return board[row][col] == 0
def is_board_full():
if board[row][col] == 0:
return False
return True
def check_win(player):
draw_vertical_winning_line(col, player)
return True
draw_horizontal_winning_line(row, player)
return True
draw_asc_diagonal(player)
return True
return True
return False
if player == 1:
color = CIRCLE_COLOR
elif player == 2:
color = CROSS_COLOR
if player == 1:
color = CIRCLE_COLOR
elif player == 2:
color = CROSS_COLOR
pygame.draw.line( screen, color, (15, posY), (WIDTH - 15, posY),
WIN_LINE_WIDTH )
def draw_asc_diagonal(player):
if player == 1:
color = CIRCLE_COLOR
elif player == 2:
color = CROSS_COLOR
def draw_desc_diagonal(player):
if player == 1:
color = CIRCLE_COLOR
elif player == 2:
color = CROSS_COLOR
def restart():
screen.fill( BG_COLOR )
draw_lines()
board[row][col] = 0
draw_lines()
player = 1
game_over = False
while True:
if event.type == pygame.QUIT:
sys.exit()
mouseX = event.pos[0]
mouseY = event.pos[1]
if check_win( player ):
game_over = True
player = player % 2 + 1
draw_figures()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_r:
restart()
player = 1
game_over = False
pygame.display.update()