先记一下流水账,昨天一天没课,写了高数和一篇考研真题的阅读,阅读竟然一个都没错,自己都不敢相信。今天上午三四节课竟然有课(课表上明明啥都没有),差点一不小心就翘了两节课的。
今天下午主要是用Python写了一个小游戏(在工作室这么久,学了几门新语言,话说每次学完基础和一些应用后,就会开始写一个简单的游戏,那就是贪吃蛇了,可能是对贪吃蛇情有独钟吧,也可能是他逻辑简单,好写一点吧),在查看了Python用来做游戏的库之后就开始写这个小游戏了。
需要导入的包为Pygame,Pygame是python的游戏库,还需要的包有sys、random和pygame.locals,sys是操控python运行的环境,random用于生成随机数,pygame.locals这个模块包含各种pygame所使用的常量。上述几个就是写这个小游戏总共需要导入的包。
首先定义的就是游戏整体的背景色、蛇的颜色以及目标食物的颜色 ,调用pygame下的Color函数 :
然后定义一个游戏结束的函数,以便游戏结束时候调用(调用pygame下的quit函数和sys下的exit,退出正在执行的程序) :
接下来就是游戏开始执行的程序,首先需要利用pygame下个各种函数来画运行时的框框,初始化游戏,定义蛇还有目标块的初始位置以及初始蛇的长度和蛇最开始移动的方向 :
然后就是通过键盘来操控蛇的移动以及吃掉食物,在操控的时候要注意,蛇头不能直接朝相反的方向移动,然后就是碰撞检测一下,当蛇头和目标块重合的时候,事先定义的targetFlag置0,然后在地图上重新随机生成一个目标块,targetFlag置1。
现在就完成了游戏的主题内容,最后的一个检测是否撞墙 以及控制蛇移动的速度:
这样就完成了这个简单的小游戏。最后运行程序得到的结果如下 :