用python中的pygame库写一个适合小学生玩的小游戏
时间: 2024-06-08 09:07:26 浏览: 149
好的,我为您编写一个小游戏,它是一个简单的打地鼠游戏,适合小学生玩。
首先,需要安装pygame库。可以使用以下命令安装:
```
pip install pygame
```
安装完成后,可以开始编写代码。
```python
import pygame
import random
# 初始化pygame库
pygame.init()
# 设置游戏窗口大小和标题
WIDTH = 640
HEIGHT = 480
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("打地鼠游戏")
# 加载图片和音效
hole_img = pygame.image.load("hole.png")
mouse_img = pygame.image.load("mouse.png")
whack_sound = pygame.mixer.Sound("whack.wav")
miss_sound = pygame.mixer.Sound("miss.wav")
# 设置字体
font = pygame.font.Font(None, 36)
# 定义游戏变量
score = 0
timer = 30 * 60 # 游戏时间为30秒
mouse_timer = 0
mouse_x = 0
mouse_y = 0
mouse_visible = False
# 游戏循环
while timer > 0:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.MOUSEBUTTONDOWN:
if mouse_visible:
# 如果打中了地鼠,增加分数,并播放音效
if mouse_rect.collidepoint(event.pos):
score += 1
whack_sound.play()
else:
miss_sound.play()
# 更新游戏变量
timer -= 1
if mouse_timer == 0:
# 随机生成地鼠的位置
mouse_x = random.randint(0, WIDTH - mouse_img.get_width())
mouse_y = random.randint(0, HEIGHT - mouse_img.get_height())
mouse_timer = 30 # 地鼠停留时间为1秒
mouse_visible = True
else:
mouse_timer -= 1
if mouse_timer == 0:
mouse_visible = False
# 绘制游戏画面
screen.fill((255, 255, 255))
# 绘制打洞
hole_rect = hole_img.get_rect()
hole_rect.centerx = mouse_x + mouse_img.get_width() / 2
hole_rect.bottom = mouse_y + mouse_img.get_height()
screen.blit(hole_img, hole_rect)
# 绘制地鼠
if mouse_visible:
mouse_rect = mouse_img.get_rect()
mouse_rect.centerx = mouse_x + mouse_img.get_width() / 2
mouse_rect.bottom = mouse_y
screen.blit(mouse_img, mouse_rect)
# 绘制分数和时间
score_text = font.render("Score: " + str(score), True, (0, 0, 0))
screen.blit(score_text, (10, 10))
time_text = font.render("Time: " + str(timer // 60), True, (0, 0, 0))
screen.blit(time_text, (WIDTH - 100, 10))
# 更新屏幕
pygame.display.update()
# 游戏结束,显示得分
gameover_text = font.render("Game Over! Your Score is " + str(score), True, (255, 0, 0))
screen.blit(gameover_text, (WIDTH / 2 - gameover_text.get_width() / 2, HEIGHT / 2 - gameover_text.get_height() / 2))
pygame.display.update()
# 等待用户关闭窗口
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
```
在上面的代码中,我们使用pygame库编写了一个简单的打地鼠游戏。游戏循环中,我们处理鼠标点击事件,更新游戏变量,绘制游戏画面,并在游戏结束时显示得分。
您需要将hole.png、mouse.png、whack.wav和miss.wav这四个文件放在与脚本文件相同的目录下,并确保它们的文件名与代码中的文件名相同。
希望这个小游戏可以帮助到您!
阅读全文