当前位置:首页 > python > 正文

编程猫贪吃蛇代码python

  • python
  • 2024-04-29 06:51:17
  • 4888

简介
贪吃蛇是一种经典的电子游戏,玩家控制一条蛇在屏幕上移动,收集食物并避免撞到自身或屏幕边界。 编程猫版本的游戏使用 Python 语言编写,为儿童提供了一个学习编程基础知识的有趣方式。
代码示例
以下是编程猫贪吃蛇代码的一个示例:
python
import pygame
import random
class Snake:
def __init__(self):
self.length = 1
self.body = [(0, 0)]
self.direction = pygame.K_RIGHT
def main():
pygame.init()
screen = pygame.display.set_mode((500, 500))
clock = pygame.time.Clock()
snake = Snake()
food = (random.randint(0, 49) 10, random.randint(0, 49) 10)
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 and snake.direction != pygame.K_DOWN:
snake.direction = pygame.K_UP
elif event.key == pygame.K_DOWN and snake.direction != pygame.K_UP:
snake.direction = pygame.K_DOWN
elif event.key == pygame.K_LEFT and snake.direction != pygame.K_RIGHT:
snake.direction = pygame.K_LEFT
elif event.key == pygame.K_RIGHT and snake.direction != pygame.K_LEFT:
snake.direction = pygame.K_RIGHT
# 移动蛇
move_snake(snake)
# 绘制游戏元素
screen.fill((0, 0, 0))
draw_snake(snake)
draw_food(food)
# 更新屏幕
pygame.display.update()
# 控制游戏速度
clock.tick(10)
def move_snake(snake):
head = snake.body[0]
if snake.direction == pygame.K_UP:
head = (head[0], head[1] - 10)
elif snake.direction == pygame.K_DOWN:
head = (head[0], head[1] + 10)
elif snake.direction == pygame.K_LEFT:
head = (head[0] - 10, head[1])
elif snake.direction == pygame.K_RIGHT:
head = (head[0] + 10, head[1])
snake.body.insert(0, head)
if len(snake.body) > snake.length:
snake.body.pop()
def draw_snake(snake):
for body in snake.body:
pygame.draw.rect(screen, (255, 255, 255), (body[0], body[1], 10, 10))
def draw_food(food):
pygame.draw.rect(screen, (255, 0, 0), (food[0], food[1], 10, 10))
if __name__ == "__main__":
main()
代码说明
导入模块:导入 pygame 和 random 模块,分别用于创建游戏窗口和生成随机数字。
Snake 类:定义 Snake 类来表示蛇。 它包含蛇的长度、身体位置的列表以及当前移动方向。
main 函数:游戏的主函数。 负责初始化 pygame、创建游戏窗口、时钟对象、蛇对象和食物位置。
游戏循环:一个 while 循环持续运行游戏,处理事件、移动蛇、绘制游戏元素和更新屏幕。
move_snake 函数:根据蛇的移动方向移动蛇。
draw_snake 函数:绘制蛇的身体。
draw_food 函数:绘制食物。
if __name__ == "__main__":确保只有在脚本作为主程序运行时才执行代码,这可以防止在导入时执行代码。
游戏玩法
按箭头键控制蛇移动。
吃食物以使蛇变长。
不要撞到自身或屏幕边界,否则游戏结束。