python小游戏编程代码
时间: 2024-07-03 21:01:02 浏览: 133
Python是一种非常适合初学者的小游戏编程语言,它拥有简洁的语法和丰富的库,如Pygame,可以帮助你快速上手。以下是一个简单的使用Pygame库创建的井字棋(Tic Tac Toe)游戏代码示例:
```python
import pygame
import sys
# 初始化pygame
pygame.init()
# 设置窗口大小
window_size = (400, 400)
screen = pygame.display.set_mode(window_size)
# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
# 字符
X = 'X'
O = 'O'
BLANK = '_'
# 游戏矩阵
board = [['_' for _ in range(3)] for _ in range(3)]
# 更新游戏状态的函数
def update_board(position, player):
board[position][position] = player
# 判断是否胜利
def check_win(board):
# ... (这里省略详细判断逻辑,你可以根据九宫格遍历和比较)
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
pos = pygame.mouse.get_pos()
row, col = pos // 100, pos // 100
if board[row][col] == BLANK:
update_board((row, col), X if turn == 'X' else O)
turn = 'O' if turn == 'X' else 'X'
# 绘制
screen.fill(BLACK)
for i in range(3):
for j in range(3):
pygame.draw.rect(screen, WHITE, (100 * j, 100 * i, 100, 100))
text = board[i][j]
font = pygame.font.SysFont(None, 50)
text_surface = font.render(text, True, WHITE)
screen.blit(text_surface, (100 * j + 50, 100 * i + 50))
# 检查并显示结果
winner = check_win(board)
if winner:
screen.fill(BLACK)
font = pygame.font.SysFont(None, 70)
text = 'Player ' + winner + ' wins!'
text_surface = font.render(text, True, WHITE)
screen.blit(text_surface, (window_size // 2 - text_surface.get_width() // 2, window_size // 2 - text_surface.get_height() // 2))
# 更新屏幕
pygame.display.flip()
# 关闭窗口
pygame.quit()
sys.exit()
```