python小游戏——贪吃蛇游戏

简介: python小游戏——贪吃蛇游戏

1.调用外部库

pygame

2.代码实现

1. # 导入必要的模块
2. import pygame, sys, random
3. from pygame.locals import *
4. 
5. # 定义颜色
6. white = (255, 255, 255)
7. black = (0, 0, 0)
8. red = (255, 0, 0)
9. green = (0, 255, 0)
10. blue = (0, 0, 255)
11. 
12. # 定义游戏区域大小
13. width = 800
14. height = 600
15. 
16. # 定义蛇的大小
17. snake_size = 10
18. 
19. # 初始化pygame
20. pygame.init()
21. 
22. # 创建游戏区域
23. screen = pygame.display.set_mode((width, height))
24. pygame.display.set_caption('贪吃蛇')
25. 
26. # 定义蛇的初始位置
27. snake_x = width / 2
28. snake_y = height / 2
29. 
30. # 定义蛇的初始移动方向
31. snake_direction = 'right'
32. 
33. # 定义蛇的初始长度
34. snake_length = 1
35. 
36. # 定义蛇的身体
37. snake_body = []
38. 
39. # 定义食物的初始位置
40. food_x = round(random.randrange(0, width - snake_size) / 10.0) * 10.0
41. food_y = round(random.randrange(0, height - snake_size) / 10.0) * 10.0
42. 
43. # 定义游戏结束的标志
44. game_over = False
45. 
46. # 定义游戏循环
47. while not game_over:
48. # 处理事件
49. for event in pygame.event.get():
50. if event.type == QUIT:
51.             pygame.quit()
52.             sys.exit()
53. elif event.type == KEYDOWN:
54. if event.key == K_LEFT and snake_direction != 'right':
55.                 snake_direction = 'left'
56. elif event.key == K_RIGHT and snake_direction != 'left':
57.                 snake_direction = 'right'
58. elif event.key == K_UP and snake_direction != 'down':
59.                 snake_direction = 'up'
60. elif event.key == K_DOWN and snake_direction != 'up':
61.                 snake_direction = 'down'
62. 
63. # 移动蛇的身体
64. if snake_direction == 'right':
65.         snake_x += snake_size
66. elif snake_direction == 'left':
67.         snake_x -= snake_size
68. elif snake_direction == 'up':
69.         snake_y -= snake_size
70. elif snake_direction == 'down':
71.         snake_y += snake_size
72. 
73. # 判断蛇是否吃到食物
74. if snake_x == food_x and snake_y == food_y:
75. # 生成新的食物位置
76.         food_x = round(random.randrange(0, width - snake_size) / 10.0) * 10.0
77.         food_y = round(random.randrange(0, height - snake_size) / 10.0) * 10.0
78. # 增加蛇的长度
79.         snake_length += 1
80. 
81. # 更新蛇的身体
82.     snake_head = []
83.     snake_head.append(snake_x)
84.     snake_head.append(snake_y)
85.     snake_body.append(snake_head)
86. 
87. if len(snake_body) > snake_length:
88. del snake_body[0]
89. 
90. # 判断蛇是否撞到自己
91. for block in snake_body[:-1]:
92. if block == snake_head:
93.             game_over = True
94. 
95. # 绘制游戏区域
96.     screen.fill(black)
97. 
98. # 绘制蛇的身体
99. for block in snake_body:
100.         pygame.draw.rect(screen, green, [block[0], block[1], snake_size, snake_size])
101. 
102. # 绘制食物
103.     pygame.draw.rect(screen, red, [food_x, food_y, snake_size, snake_size])
104. 
105. # 更新屏幕
106.     pygame.display.update()
107. 
108. # 判断蛇是否撞到边界
109. if snake_x >= width or snake_x < 0 or snake_y >= height or snake_y < 0:
110.         game_over = True
111. 
112. # 控制游戏速度
113.     pygame.time.Clock().tick(20)
114. 
115. # 退出游戏
116. pygame.quit()
117. sys.exit()

3.游戏实测

相关文章
|
27天前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
3月前
|
存储 算法 区块链
从零实现Python扫雷游戏:完整开发指南与深度解析
扫雷作为Windows经典游戏,承载了许多人的童年回忆。本文将详细介绍如何使用Python和Tkinter库从零开始构建一个功能完整的扫雷游戏,涵盖游戏设计、算法实现和界面开发的全过程。
231 1
|
4月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
388 1
|
4月前
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
214 0
|
9月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
376 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
Python
Python实现猜数字游戏
Python实现猜数字游戏
273 0
|
存储 Python
如何使用Python实现“猜数字”游戏
本文介绍了使用Python实现“猜数字”游戏的过程。游戏规则是玩家在给定范围内猜一个由计算机随机生成的整数,猜对则获胜。代码中,首先导入random模块生成随机数,然后在循环中获取玩家输入并判断大小,提供猜小、猜大提示。通过增加猜测次数限制、难度选择、优化输入提示和图形化界面等方式可优化游戏。这篇文章旨在帮助初学者通过实际操作学习Python编程。
753 2
|
IDE 开发工具 Python
用python写出一个猜数字游戏
用python写出一个猜数字游戏
195 4
|
Python
用 Python 写一个猜数字游戏并运行它
用 Python 写一个猜数字游戏并运行它
118 0
|
人工智能 算法 Python
Python猜数字游戏:集成高级AI对手
Python猜数字游戏:集成高级AI对手
245 0

推荐镜像

更多