Python 贪吃蛇游戏代码示例 - 简单易懂
当然可以!下面是一个简单的 Python 版贪吃蛇游戏代码示例:\n\npython\nimport pygame\nimport time\nimport random\n\npygame.init()\n\n# 游戏窗口尺寸\nwidth, height = 800, 600\nwindow = pygame.display.set_mode((width, height))\n\n# 颜色定义\nblack = pygame.Color(0, 0, 0)\nwhite = pygame.Color(255, 255, 255)\nred = pygame.Color(255, 0, 0)\ngreen = pygame.Color(0, 255, 0)\nblue = pygame.Color(0, 0, 255)\n\n# 蛇的初始位置和移动速度\nsnake_position = [100, 50]\nsnake_body = [[100, 50], [90, 50], [80, 50]]\nsnake_speed = 10\n\n# 食物的初始位置\nfood_position = [random.randrange(1, (width//10)) * 10, random.randrange(1, (height//10)) * 10]\nfood_spawn = True\n\n# 控制蛇的移动方向\ndirection = 'RIGHT'\nchange_to = direction\n\n# 游戏结束函数\ndef game_over():\n font_style = pygame.font.SysFont(None, 50)\n message = font_style.render('Game Over', True, red)\n window.blit(message, [width/2, height/2])\n pygame.display.update()\n time.sleep(2)\n pygame.quit()\n quit()\n\n# 游戏主循环\nwhile True:\n for event in pygame.event.get():\n if event.type == pygame.KEYDOWN:\n if event.key == pygame.K_UP:\n change_to = 'UP'\n if event.key == pygame.K_DOWN:\n change_to = 'DOWN'\n if event.key == pygame.K_LEFT:\n change_to = 'LEFT'\n if event.key == pygame.K_RIGHT:\n change_to = 'RIGHT'\n\n # 确保蛇不会直接掉头\n if change_to == 'UP' and direction != 'DOWN':\n direction = 'UP'\n if change_to == 'DOWN' and direction != 'UP':\n direction = 'DOWN'\n if change_to == 'LEFT' and direction != 'RIGHT':\n direction = 'LEFT'\n if change_to == 'RIGHT' and direction != 'LEFT':\n direction = 'RIGHT'\n\n # 根据方向移动蛇头\n if direction == 'UP':\n snake_position[1] -= 10\n if direction == 'DOWN':\n snake_position[1] += 10\n if direction == 'LEFT':\n snake_position[0] -= 10\n if direction == 'RIGHT':\n snake_position[0] += 10\n\n # 更新蛇的身体\n snake_body.insert(0, list(snake_position))\n if snake_position[0] == food_position[0] and snake_position[1] == food_position[1]:\n food_spawn = False\n else:\n snake_body.pop()\n\n # 生成新的食物\n if not food_spawn:\n food_position = [random.randrange(1, (width // 10)) * 10, random.randrange(1, (height // 10)) * 10]\n food_spawn = True\n\n # 游戏结束判断\n if snake_position[0] < 0 or snake_position[0] > width - 10:\n game_over()\n if snake_position[1] < 0 or snake_position[1] > height - 10:\n game_over()\n if snake_position in snake_body[1:]:\n game_over()\n\n # 绘制游戏窗口\n window.fill(black)\n for pos in snake_body:\n pygame.draw.rect(window, green, pygame.Rect(pos[0], pos[1], 10, 10))\n pygame.draw.rect(window, white, pygame.Rect(food_position[0], food_position[1], 10, 10))\n\n pygame.display.update()\n\n # 控制游戏速度\n pygame.time.Clock().tick(snake_speed)\n\n\n请确保已经安装 Pygame 库,可以使用 pip install pygame 命令进行安装。然后运行代码,即可开始游戏。使用上、下、左、右箭头键控制蛇的移动方向,吃到食物得分,碰到墙壁或自己的身体游戏结束。
原文地址: https://www.cveoy.top/t/topic/pCqR 著作权归作者所有。请勿转载和采集!