python 五子棋游戏代码

时间:2024-06-02 14:32:46

下面是一个简单的五子棋游戏的Python代码示例。这个示例包括了游戏逻辑和用户界面的基本实现,但并不完整,例如没有AI对战功能。

import numpy as np

import pygame

# 初始化游戏界面

def init_game():

global board, screen, width, height

width, height = 500, 500

board = np.zeros((height // 40, width // 40))

pygame.init()

screen = pygame.display.set_mode((width, height))

# 绘制棋盘

def draw_board():

for i in range(40, height, 40):

pygame.draw.line(screen, (200, 200, 200), (0, i), (width, i), 2)

for i in range(40, width, 40):

pygame.draw.line(screen, (200, 200, 200), (i, 0), (i, height), 2)

# 绘制棋子

def draw_stones():

for y in range(board.shape[0]):

for x in range(board.shape[1]):

if board[y, x] == 1:

pygame.draw.circle(screen, (0, 0, 0), (x * 40 + 20, y * 40 + 20), 16, 0)

elif board[y, x] == -1:

pygame.draw.circle(screen, (255, 255, 255), (x * 40 + 20, y * 40 + 20), 16, 0)

# 事件处理

def handle_events():

for event in pygame.event.get():

if event.type == pygame.QUIT:

pygame.quit()

exit()

elif event.type == pygame.MOUSEBUTTONDOWN:

x, y = event.pos

col, row = x // 40, y // 40

if board[row, col] == 0:

board[row, col] = 1

else:

board[row, col] *= -1

# 主游戏循环

def main_game_loop():

global board

init_game()

while True:

draw_board()

draw_stones()

handle_events()

pygame.display.flip()

# 游戏逻辑

if __name__ == "__main__":

main_game_loop()

这段代码使用了Pygame库来创建和管理游戏界面,并使用NumPy来处理棋盘状态。它提供了一个简单的五子棋游戏,用户可以通过点击棋盘来下子,棋子的颜色交替变化。