Python代码实现,带你玩超简单贪吃蛇小游戏!
当然可以!下面是一个简单的贪吃蛇小游戏的代码示例,使用Python语言编写: ```python import pygame import random # 初始化 pygame.init() width = 800 height = 600 game_window = pygame.display.set_mode((width, height)) pygame.display.set_caption("贪吃蛇小游戏") # 定义颜色 black = pygame.Color(0, , 0) white = pygame.Color(255, 255, 255) red = pygame.Color(255, 0, ) green = pygame.Color(0, 255, 0) blue = pygame.Color(0, 0, 255) # 定义蛇和食物的大小 snake_block = 20 snake_speed = 15 # 定义蛇的移动方向 direction = "RIGHT" # 初始化蛇的初始位置和长度 snake_x = 100 snake_y = 50 snake_body = [[snake_x, snake_y]] snake_length = 1 # 初始化食物的位置 food_x = round(random.randrange(0, width - snake_block) / 20.0) * 20 food_y = round(random.randrange(0, height - snake_block) / 20.0) * 20 # 定义游戏分数 score = # 定义字体 font_style = pygame.font.SysFont(None, 50) score_font = pygame.font.SysFont(None, 35) # 显示分数 def show_score(score): score_value = score_font.render("Score: " + str(score), True, black) game_window.blit(score_value, [0, 0]) # 绘制蛇 def draw_snake(snake_body): for block in snake_body: pygame.draw.rect(game_window, green, [block[0], block[1], snake_block, snake_block]) # 游戏结束 def game_over(score): game_over_text = font_style.render("Game Over!", True, red) score_value = score_font.render("Your Score: " + str(score), True, black) game_window.blit(game_over_text, [width / 3, height / 3]) game_window.blit(score_value, [width / 3, height / 3 + 50]) pygame.display.flip() pygame.quit() # 游戏主循环 def game_loop(): game_exit = False game_over = False snake_x_change = 0 snake_y_change = 0 while not game_exit: while game_over == True: game_window.fill(white) game_over(score) for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_q: game_exit = True game_over = False if event.key == pygame.K_r: game_loop() for event in pygame.event.get(): if event.type == pygame.QUIT: game_exit = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: direction = "LEFT" snake_x_change = -snake_block snake_y_change = 0 elif event.key == pygame.K_RIGHT: direction = "RIGHT" snake_x_change = snake_block snake_y_change = 0 elif event.key == pygame.K_UP: direction = "UP" snake_y_change = -snake_block snake_x_change = 0 elif event.key == pygame.K_DOWN: direction = "DOWN" snake_y_change = snake_block snake_x_change = 0 # 判断蛇是否碰到边界 if snake_x >= width or snake_x < 0 or snake_y >= height or snake_y < 0: game_over = True snake_x += snake_x_change snake_y += snake_y_change game_window.fill(white) pygame.draw.rect(game_window, blue, [food_x, food_y, snake_block, snake_block]) snake_head = [] snake_head.append(snake_x) snake_head.append(snake_y) snake_body.append(snake_head) if len(snake_body) > snake_length: del snake_body[0] for block in snake_body[:-1]: if block == snake_head: game_over = True draw_snake(snake_body) show_score(score) pygame.display.update() # 判断蛇是否吃到食物 if snake_x == food_x and snake_y == food_y: food_x = round(random.randrange(0, width - snake_block) / 20.0) * 20 food_y = round(random.randrange(0, height - snake_block) / 20.0) * 20 snake_length += 1 score += 1 pygame.time.Clock().tick(snake_speed) pygame.quit() # 运行游戏 game_loop() ``` 你可以复制以上代码,然后在Python编译器中运行,即可开始贪吃蛇小游戏。请确保在运行之前,已经正确安装了pygame库。祝游戏愉快! ######[AI写代码神器 | 4045点数解答 | 2024-05-14 18:58:59]
- 龙年年会盛宴:热场、表演、游戏嗨翻全场! (字节豆包 | 270点数解答 | 2025-01-16 14:21:53)276
- 超燃年会盛宴:游戏、表演与祝福共迎 2024 新征程!(字节豆包 | 392点数解答 | 2025-01-16 14:34:56)185
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)485
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)368
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)437
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)431
- 经典贪吃蛇游戏:控制蛇身吃食物,避开危险大挑战!(字节豆包 | 57点数解答 | 2025-04-17 20:33:23)132
- Python+Pygame实现经典贪吃蛇游戏:附代码及关键逻辑解析(字节豆包 | 1352点数解答 | 2025-06-06 20:22:46)108
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)338
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)411
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)437
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)545