Python 贪吃蛇游戏代码示例
当然可以!以下是一个简化版本的贪吃蛇游戏的Python代码:\n\npython\nimport pygame\nimport random\n\n# 初始化游戏\npygame.init()\n\n# 定义窗口大小和蛇身大小\nwindow_width = 600\nwindow_height = 400\nsnake_size = 20\n\n# 定义颜色\nblack = (0, 0, 0)\nwhite = (255, 255, 255)\ngreen = (0, 255, 0)\n\n# 创建窗口\nwindow = pygame.display.set_mode((window_width, window_height))\npygame.display.set_caption("贪吃蛇")\n\n# 初始化蛇的位置和速度\nsnake_x = window_width // 2\nsnake_y = window_height // 2\nsnake_speed_x = 0\nsnake_speed_y = 0\n\n# 初始化食物的位置\nfood_x = round(random.randrange(0, window_width - snake_size) / 20.0) * 20.0\nfood_y = round(random.randrange(0, window_height - snake_size) / 20.0) * 20.0\n\n# 初始化得分\nscore = 0\n\n# 游戏循环\nrunning = True\nwhile running:\n # 处理事件\n for event in pygame.event.get():\n if event.type == pygame.QUIT:\n running = False\n\n # 处理键盘按键事件\n if event.type == pygame.KEYDOWN:\n if event.key == pygame.K_LEFT:\n snake_speed_x = -snake_size\n snake_speed_y = 0\n elif event.key == pygame.K_RIGHT:\n snake_speed_x = snake_size\n snake_speed_y = 0\n elif event.key == pygame.K_UP:\n snake_speed_y = -snake_size\n snake_speed_x = 0\n elif event.key == pygame.K_DOWN:\n snake_speed_y = snake_size\n snake_speed_x = 0\n\n # 更新蛇的位置\n snake_x += snake_speed_x\n snake_y += snake_speed_y\n\n # 绘制窗口背景和蛇身\n window.fill(black)\n pygame.draw.rect(window, green, [food_x, food_y, snake_size, snake_size])\n pygame.draw.rect(window, white, [snake_x, snake_y, snake_size, snake_size])\n\n # 判断是否吃到食物\n if snake_x == food_x and snake_y == food_y:\n score += 10\n food_x = round(random.randrange(0, window_width - snake_size) / 20.0) * 20.0\n food_y = round(random.randrange(0, window_height - snake_size) / 20.0) * 20.0\n\n # 显示得分\n font = pygame.font.Font(None, 36)\n text = font.render("Score: " + str(score), True, white)\n window.blit(text, (10, 10))\n\n # 更新窗口\n pygame.display.update()\n\n# 退出游戏\npygame.quit()\n\n\n这个简化版本的贪吃蛇游戏通过使用Pygame库来实现窗口绘制、事件处理和游戏逻辑等功能。在游戏循环中,通过检测键盘按键事件来改变蛇的移动方向,同时更新蛇的位置和食物的位置,并判断是否吃到食物。游戏窗口的背景和蛇身使用矩形绘制,得分使用文本显示在窗口上方。
原文地址: https://www.cveoy.top/t/topic/pMFG 著作权归作者所有。请勿转载和采集!