自学编程汇报:我用Python写了一个贪吃蛇游戏!
我的电脑: Mac Pro
我使用的编程语言:Python
我使用的编程软件:VS code
我使用的游戏制作模块:pygame
详细的代码解析:点击这里
源代码:点击这里
作为一个编程初学者,我一直想用学到的知识写一点有意义的程序。之前学概念的时候,看着满屏的数据结构就头晕,再看着那些练习题,跟我的生活毫不相关,就更头晕了。
想来想去觉得只有玩游戏才是我的快乐。于是我决定用学到的编程知识写一个小游戏。一开始就简单一点,就从贪吃蛇开始吧。

编程语言:由于我只会python,所以就用python来写。
编程软件:浏览了一些网上的推荐,选定了VS code。我自己试用之后,体验不错。它自带terminal窗口,可以边写边测试。有疑似bug会自动提醒。从GitHub上传或者下载文件都很方便。其他高级的功能咱也不会。对于我来讲已经很足够了。
游戏制作模块:使用了pygame。应该就是最普遍的小游戏制作模块了吧。
我计划我的游戏拥有3个界面:
1. 欢迎界面
欢迎界面就是一打开程序显示的界面,上边会有一些欢迎词。
2. 游戏运行界面
游戏运行界面就是主界面,也就是我们通常看到的贪吃蛇游戏画面。会有一个蛇在上边移动,然后我们按上下左右可以控制它。它吃到食物会变长,它撞墙就死了。
3. 游戏结束界面
游戏结束界面就是在game over之后,会产生一个分数板,展示我们的得分。同时会给出选项问要不要开始新的一轮游戏。
接下去就用编程来实现这三个界面吧!我的代码脚本分成了以下几个板块:
1. 导入模块
除了导入pygame这个模块之外,我还用到了sys和random这两个模块。所以都一起在这一步导入。
2. 设置常用变量和函数
有些变量在编程过程中是重复使用的。比如游戏窗口的大小,颜色,蛇和食物的单位长度,所以我在最开始就一次性把它们都设置好,方便之后的使用。除此之外,有些代码也是重复使用的,比如关闭窗口,等待玩家输入指令等等。我就把这些重复的代码在一开始设置成函数,之后用到只要直接把函数名称报一遍就能运行啦(不需要再反复的打好多行代码)。
3. 设置基础的游戏元素
这一步就是设置游戏窗口的大小,字体等等。如果有想要插入的音乐,在这里也可以设置好。
4. 制作3个游戏界面
最最关键也是最最复杂的步骤啦。通过反复思考(其实是反复问chatGPT...),我给自己准备了一个代码框架:

整个框架包含了两个while loop. 第一个while loop保证python程序的运行,一旦停止,整个程序就退出了,窗口关闭。第二个while loop监测贪吃蛇游戏的运行,一旦停止,就说明蛇撞墙了死了,就会展示游戏结束界面,显示分数板。
然后这个框架就是我的To-Do List啦!我每完成一步,就会过来打一个勾,保证自己在写的过程中条理清晰。
一、欢迎界面

这个界面相对简单,主要就是显示两行文字。在前边第二步设置函数的时候,我提前设置了一个显示文字的函数。只需要调用函数,把文字的内容,字体,颜色,位置都输入进去,就好了。函数真的方便!
二、游戏运行界面

这是3个界面中最难的一个了。我归纳总结了它的5个特点:
- 在界面上有一个会动的蛇,有一个食物。
- 当我按上下左右键时,蛇会改变移动方向。
- 当蛇遇到食物时,蛇就会把食物吃掉。食物消失,蛇增长一截,另一个新的食物在界面上出现。
- 当蛇撞到边框时,蛇就死了。游戏结束。
- 在游戏运行时会有一个计分系统,每当蛇吃掉一个食物,记1分。最后这个总分会在window3(游戏结束界面)里呈现。
我将这5个特点用代码实现出来,然后根据之前的To-Do List,将5个代码块放置于框架的相应位置。具体来说,特点1放置在第一个while loop内,但在第二个while loop开始之前。特点2,3,4都放置在第二个while loop之内。特点5是用于计分的,所以在两个while loop之间会进行多次设置。
三、游戏结束界面

这个界面和window1很类似,就是会有一个半透明的分数板,然后在上边显示一些文字。这个时候之前设置的文字显示函数又派上用场啦!
这样就完成了!
运行程序的话,就直接在VS code里打开一个terminal窗口,然后输入python snake.py, 也就是python+程序脚本名。然后就会看到一个窗口弹出来,然后就可以快乐的玩起来了!玩自己做的游戏感觉真的不一样!好有成就感的!
以下是详细资料:
1. 详细的代码解析
2. 源代码
今天又进步了一点点!
继续加油!