返回
趣味编程:Python小游戏 -- 贪吃蛇
闲谈
2023-12-03 00:34:48
Python小游戏 -- 贪吃蛇
贪吃蛇是一款经典的游戏,起源于20世纪70年代,至今仍受到许多人的喜爱。它是一款简单却有趣的休闲游戏,玩家需要控制一条贪吃蛇,吃掉关卡中的食物,同时避免撞到障碍物或自身身体。随着游戏进行,贪吃蛇会变得越来越长,难度也会逐渐增加。
今天,我们就来用Python语言编写一款贪吃蛇小游戏。Python是一种功能强大的编程语言,常用于web开发、数据分析、机器学习等领域。它以其简单的语法、丰富的库和社区支持而广受欢迎。
我们首先导入游戏开发所需的模块:
import pygame
import sys
import random
pygame
模块是Python中一个流行的游戏开发库,提供了丰富的游戏开发功能和API。sys
模块提供了系统级功能,如程序退出。random
模块提供了随机数生成功能。
接下来,我们创建游戏窗口并设置游戏的基本属性。
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("贪吃蛇")
clock = pygame.time.Clock()
pygame.init()
初始化pygame库。pygame.display.set_mode((640, 480))
创建640x480像素的游戏窗口。pygame.display.set_caption("贪吃蛇")
设置游戏窗口的标题。clock = pygame.time.Clock()
创建一个时钟对象,用于控制游戏循环。
接下来,我们定义游戏中的贪吃蛇。
snake = [(200, 200), (200, 220), (200, 240)]
snake_direction = (10, 0)
snake
是一个列表,其中每个元素都是蛇身体的一个方块的位置。snake_direction
是一个元组,表示蛇的移动方向。
接下来,我们定义游戏中的食物。
food = (300, 300)
接下来,我们编写游戏的主循环。
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
snake_direction = (0, -10)
elif event.key == pygame.K_DOWN:
snake_direction = (0, 10)
elif event.key == pygame.K_LEFT:
snake_direction = (-10, 0)
elif event.key == pygame.K_RIGHT:
snake_direction = (10, 0)
# 更新蛇的身体位置
for i in range(len(snake) - 1, 0, -1):
snake[i] = snake[i - 1]
# 更新蛇头位置
snake[0] = (snake[0][0] + snake_direction[0], snake[0][1] + snake_direction[1])
# 检查是否吃到食物
if snake[0] == food:
snake.append((food[0], food[1]))
food = (random.randint(0, 630), random.randint(0, 470))
# 检查是否撞到墙壁或自身身体
if snake[0][0] < 0 or snake[0][0] > 640 or snake[0][1] < 0 or snake[0][1] > 480 or snake[0] in snake[1:]:
pygame.quit()
sys.exit()
# 填充游戏窗口
screen.fill((0, 0, 0))
# 绘制食物
pygame.draw.rect(screen, (0, 255, 0), (food[0], food[1], 10, 10))
# 绘制蛇的身体
for i in range(len(snake)):
pygame.draw.rect(screen, (255, 255, 255), (snake[i][0], snake[i][1], 10, 10))
# 更新游戏画面
pygame.display.update()
# 控制游戏速度
clock.tick(10)
在主循环中,我们首先处理游戏事件,如键盘输入和窗口关闭。然后,我们更新蛇的身体位置和方向。接着,我们检查是否吃到食物或撞到墙壁或自身身体。如果游戏结束,我们退出游戏。否则,我们填充游戏窗口,绘制食物和蛇的身体,并更新游戏画面。最后,我们控制游戏速度,使游戏流畅运行。
以上便是Python贪吃蛇小游戏的完整代码。您可以在自己的电脑上运行它,体验亲手编写游戏的乐趣。