python写贪吃蛇 代码


下面是一个使用 Python 的 pygame 库编写的简单贪吃蛇游戏的示例代码: ```python import pygame import sys import random # 初始化pygame pygame.init() # 设置屏幕大小 screen_width = 480 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) # 设置颜色 black = (0, 0, 0) white = (255, 255, 255) red = (213, 50, 80) green = (0, 255, 0) blue = (50, 153, 213) # 设置帧率 clock = pygame.time.Clock() snake_speed = 15 # 设置蛇的大小和位置 snake_size = 10 snake_pos = [100, 50] snake_body = [[100, 50], [90, 50], [80, 50]] # 设置食物的位置 food_pos = [random.randrange(1, (screen_width//10)) * 10, random.randrange(1, (screen_height//10)) * 10] food_spawn = True # 设置方向 direction = 'RIGHT' change_to = direction # 游戏结束函数 def game_over(): my_font = pygame.font.SysFont('times new roman', 90) go_surface = my_font.render('Your Score is: ' + str(len(snake_body) - 3), True, red) go_rect = go_surface.get_rect() go_rect.midtop = (screen_width/2, screen_height/4) screen.fill(black) screen.blit(go_surface, go_rect) pygame.display.flip() time.sleep(2) pygame.quit() sys.exit() # 主循环 while True: for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: change_to = 'UP' elif event.key == pygame.K_DOWN: change_to = 'DOWN' elif event.key == pygame.K_LEFT: change_to = 'LEFT' elif event.key == pygame.K_RIGHT: change_to = 'RIGHT' if event.type == pygame.QUIT: pygame.quit() sys.exit() # 确保蛇不能直接反向移动 if change_to == 'UP' and direction != 'DOWN': direction = 'UP' if change_to == 'DOWN' and direction != 'UP': direction = 'DOWN' if change_to == 'LEFT' and direction != 'RIGHT': direction = 'LEFT' if change_to == 'RIGHT' and direction != 'LEFT': direction = 'RIGHT' # 根据方向移动蛇头 if direction == 'UP': snake_pos[1] -= 10 if direction == 'DOWN': snake_pos[1] += 10 if direction == 'LEFT': snake_pos[0] -= 10 if direction == 'RIGHT': snake_pos[0] += 10 # 蛇身体增长机制 snake_body.insert(0, list(snake_pos)) if snake_pos[0] == food_pos[0] and snake_pos[1] == food_pos[1]: food_spawn = False else: snake_body.pop() # 重新生成食物 if not food_spawn: food_pos = [random.randrange(1, (screen_width//10)) * 10, random.randrange(1, (screen_height//10)) * 10] food_spawn = True # 填充和绘制蛇和食物 screen.fill(black) for pos in snake_body: pygame.draw.rect(screen, green, pygame.Rect(pos[0], pos[1], snake_size, snake_size)) pygame.draw.rect(screen, white, pygame.Rect(food_pos[0], food_pos[1], snake_size, snake_size)) # 检查是否撞墙或撞到自己 if snake_pos[0] < 0 or snake_pos[0] > screen_width-snake_size: game_over() if snake_pos[1] < 0 or snake_pos[1] > screen_height-snake_size: game_over() for block in snake_body[1:]: if snake_pos[0] == block[0] and snake_pos[1] == block[1]: game_over() # 更新屏幕并设置帧率 pygame.display.update() clock.tick(snake_speed) ``` [2024-11-19 07:28:25 | AI写代码神器 | 1274点数解答]
- c:\python\venv\zzz\scripts\python.exe c:\python\main.py traceback (most recent call last): file "c:\users\意\appdata\local\programs\python\python311\lib\site-packages\urllib3\connection.py", line 199, in _new_conn sock = connection.create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ file "c:\users\意\appdata\local\programs\python\python311\lib\site-packages\urllib3\util\connection.py", line 85, in create_connection raise err file "c:\users\意\appdata\local\programs\python\pyt(161点数解答 | 2024-10-31 00:39:36)245
- student = [张三,李四,王五,周六,赵七] score =[ ["会计学", "c语言", "java"], ["python", "程序设计", "java"], ["数据结构", "c语言", "java"], ["python", "c语言", "大学计算机基础"], ["python", "会计学", "信息管理"] ] 1.将两个列表转换为一个字典,名为dict2 2.遍历字典dict2 3.将dict2深拷贝 4.在拷贝后的文件上做如下操作: 1)删除周六的信息 2)添加键值对:“钱一”:["管理科学与工程", "大学计算机基础", "大学数学"] 3)修改“张三”的三个课程为"大学数学", "c语言", "python"(422点数解答 | 2024-10-29 15:43:54)224
- student = [张三,李四,王五,周六,赵七] score =[ ["会计学", "c语言", "java"], ["python", "程序设计", "java"], ["数据结构", "c语言", "java"], ["python", "c语言", "大学计算机基础"], ["python", "会计学", "信息管理"] ] 1.将两个列表转换为一个字典,名为dict2 2.遍历字典dict2 3.将dict2深拷贝 4.在拷贝后的文件上做如下操作: 1)删除周六的信息 2)添加键值对:“钱一”:["管理科学与工程", "大学计算机基础", "大学数学"] 3)修改“张三”的三个课程为"大学数学", "c语言", "python"(254点数解答 | 2024-10-29 16:01:39)223
- 贪吃蛇。(57点数解答 | 2025-04-17 20:33:23)73
- 贪吃蛇(1352点数解答 | 2025-06-06 20:22:46)54
- java调用python接口使用了以下方法 string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取python脚本的输出 bufferedreader in = new bufferedreader(new inputstreamreader(ppng.getinputstream())); string line = null; while ((line = in.readline()) != null) { system.out.println(line); } ppng.waitfor(); // 等待 python 脚本执行完成 但是传入的中文会变成乱码(263点数解答 | 2024-06-06 17:07:59)229
- java调用python接口使用的string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取 python 脚本写入的文件 bufferedreader reader = new bufferedreader(new filereader("count.txt")); ppng.waitfor(); 传入的中文是乱码(160点数解答 | 2024-06-06 17:18:39)266
- java调用python接口使用的 string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取 python 脚本写入的文件 bufferedreader reader = new bufferedreader(new filereader("count.txt")); ppng.waitfor(); 传入的中文变成了乱码(344点数解答 | 2024-06-06 17:19:55)379
- java调用python接口使用的 string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取 python 脚本写入的文件 bufferedreader reader = new bufferedreader(new filereader("count.txt")); ppng.waitfor(); java传入的中文值变成了乱码(264点数解答 | 2024-06-06 17:27:09)241
- d:pcharm\python项目vvenv\scripts)python.exe d:\pycharm\python项目\医院系统|1添加信息2查询信息3修改信息4删除信息 请输入需要的操作:1 1添加部门信息2添加医生信息3添加患者信息4添加护士信息5添加药品信息6添加患者 用药信息输入你要添加的信息 d:\pycharm\python项目\venv\scripts\python.exe d: \pycharm\pyth1添加信息2查询信息3修改信息4删除信息 请输入需要的操作:2 ' 1查询医生姓名及部门2查询科室的每个患者及其主治医师3查询科室就诊人数4查询患:者的主治医生及其职务科室5查询医 生主治的患者数量6查询患者用药情况7查询患者应缴金额8根据护 士编号查询护士姓名9查询同一 病房的患者 输入你要查询的内容: 1添加信息2查询信息3修改信息4删除信息 请输入需要的操作:3 1修改药品库存2修改药品价格修改患者使用药品数量 4修改患者预计出院时间5修改患者房间号码输入你要修改的内容:(31点数解答 | 2024-05-22 11:20:34)382
- java调用python接口 以下方法 //调用吧ppt转换成图片的py脚本 string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取python脚本的输出 bufferedreader in = new bufferedreader(new inputstreamreader(ppng.getinputstream())); string line = null;(295点数解答 | 2024-06-06 17:07:15)213
- 使用 python 实现将当前目录中的文件名字输入到"url.txt"文件(每行一个文件名),语言方向:Python(127点数解答 | 2024-12-25 11:19:25)132