Python贪吃蛇游戏代码示例:入门教程
以下是一个简单的贪吃蛇游戏的Python代码示例:\n\npython\nimport pygame\nimport random\n\n# 初始化游戏\npygame.init()\n\n# 游戏窗口大小\nwindow_width = 800\nwindow_height = 600\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# 创建游戏窗口\nwindow = pygame.display.set_mode((window_width, window_height))\npygame.display.set_caption('贪吃蛇游戏')\n\n# 设置游戏时钟\nclock = pygame.time.Clock()\n\n# 定义蛇的初始位置和大小\nsnake_position = [100, 50]\nsnake_body = [[100, 50], [90, 50], [80, 50]]\nsnake_direction = 'RIGHT'\n\n# 定义食物的初始位置\nfood_position = [random.randrange(1, (window_width // 10)) * 10,\n random.randrange(1, (window_height // 10)) * 10]\nfood_spawn = True\n\n# 控制游戏结束的变量\ngame_over = False\n\n# 游戏主循环\nwhile not game_over:\n for event in pygame.event.get():\n if event.type == pygame.QUIT:\n game_over = True\n elif event.type == pygame.KEYDOWN:\n if event.key == pygame.K_RIGHT:\n snake_direction = 'RIGHT'\n if event.key == pygame.K_LEFT:\n snake_direction = 'LEFT'\n if event.key == pygame.K_UP:\n snake_direction = 'UP'\n if event.key == pygame.K_DOWN:\n snake_direction = 'DOWN'\n\n # 根据方向移动蛇的位置\n if snake_direction == 'RIGHT':\n snake_position[0] += 10\n if snake_direction == 'LEFT':\n snake_position[0] -= 10\n if snake_direction == 'UP':\n snake_position[1] -= 10\n if snake_direction == 'DOWN':\n snake_position[1] += 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, (window_width // 10)) * 10,\n random.randrange(1, (window_height // 10)) * 10]\n food_spawn = True\n\n # 绘制游戏窗口\n window.fill(black)\n for pos in snake_body:\n pygame.draw.rect(window, green, pygame.Rect(\n pos[0], pos[1], 10, 10))\n pygame.draw.rect(window, white, pygame.Rect(\n food_position[0], food_position[1], 10, 10))\n\n # 游戏结束条件:碰壁或自身\n if snake_position[0] < 0 or snake_position[0] > window_width-10:\n game_over = True\n if snake_position[1] < 0 or snake_position[1] > window_height-10:\n game_over = True\n for block in snake_body[1:]:\n if snake_position[0] == block[0] and snake_position[1] == block[1]:\n game_over = True\n\n # 刷新游戏窗口\n pygame.display.update()\n clock.tick(15)\n\n# 退出游戏\npygame.quit()\n\n\n这段代码使用了pygame库来实现游戏窗口、蛇的移动、食物生成和碰撞检测等功能。通过键盘事件来控制蛇的移动方向,使用循环更新蛇的位置和绘制游戏窗口。游戏结束的条件包括蛇碰壁和自身碰撞。
原文地址: https://www.cveoy.top/t/topic/pNXL 著作权归作者所有。请勿转载和采集!