视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
苹果xr来电铃声小怎么办 qq群作业怎么私发给每一个人 苹果11下载不了软件怎么办 在饭店洗碗怎么保护手 安卓对方撤回的微信怎么看 苹果手机如何设置闹钟铃声 黑鲨2扬声器灰尘怎么清理 熨斗怎么清理 手机wps删除空白页面 怎么把苹果通讯录导入华为 用吹风机吹手机的后果 羊肉膻味很重怎么去除 iphone滚动截屏怎么弄 工业吊瓶熨斗不出气 小米2手环怎么连接手机 小米平板4如何隐藏桌面应用 苹果手机设置来电彩铃 win10系统插耳机没有声音 腾讯会议怎么把声音关了 小米4不断重启怎么办 金立手机解不开锁怎么办 粗鱿鱼须怎么切 苹果手机打电话自动挂断怎么回事 如何将几个pdf合并 苹果手机怎么换id登录 去除手机屏幕水印方法 oppor7手机开不了机怎么办 华为手机熄屏时间设置 苹果8信号不好怎么解决 普通打火机漏气怎么处理 无熨斗衣服除皱小妙招 华为手机越用越慢怎么办 超轻粘土容易裂 华为手机充不了电怎么回事 花洒为什么会自己滴水 电脑360锁屏壁纸怎么取消 忘记微博账号和密码怎么办 炒勺第一次怎么处理 电脑怎么投屏 怎样防止生姜腐烂
python编写贪吃蛇
2020-06-17 15:21:19 责编:小采
文档

首先来看贪吃蛇模块:

首先__init__初始化贪吃蛇的位置初始方向竖直向上。toward函数用于改变贪吃蛇的方向,(x,y)分别表示蛇头在水平和竖直方向的朝向。朝左x=-1,朝右x=1,朝上y=-1,朝下y=1。move函数,使用标志enlarge来判断蛇是否吃到了食物,并进行相应的操作。eat_food函数判断蛇是否吃到食物,吃到的话,分数加 100,并返回True。toward函数,用于改变蛇头的方向,但如果改变方向与当前方向相反,就什么操作都不执行。draw函数用于画出贪吃蛇的模样,蛇头是略大一点的红心,蛇身是小一点的黄心。

我们怎么画出这条蛇呢?这就要借助函数pygame.draw.circle,这个函数的主要参数有screen:就是你要在其中画出贪吃蛇的游戏界面,color:图案的颜色(RGB), position:图案在屏幕上的位置, radius:的半径,width:内部填色的大小,如果为零,图案就是空心圆;如果与半径大小相同,图案就是实心圆。

下面是贪吃蛇的代码部分,大家可以结合注释阅读

其次是食物模块

np.random.randint用于产生边界之内的坐标,如果与贪吃蛇的坐标重合,那么就继续生成新的随机坐标。

然后是init_board函数

board_width、board_height分别为游戏界面的宽度和高度,根据计算得出边框占据的位置,然后打印出正方形来。pygame.draw.rect和pygame.draw.circle用法类似,区别就是rect四个参数分别为screen:屏幕,color:颜色,pos:横坐标 x,纵坐标 y,矩形的长,矩形的宽。这里我设置矩形长宽都为 20 。width和circle中width用法相同,都是填充大小的意思。

接着是game_over模块

如何判断谁咬到自身呢?可以利用python内置数据结构set:set这种数据结构中不能有重复元素。如果将list变成set之后,长度变短了,就说明list中有重复元素,即贪吃蛇咬到自己了。

接下来是游戏初始化模块

使用pygame模块需要使用pygame.init进行初始化。pygame.display.set_mode用来设置游戏界面的大小。pygame.display.set_caption用来显示游戏标题。

最后是游戏主函数

首先实例化贪吃蛇和食物。其次设置字体为SimHei,如果使用默认字体对中文的支持很不好。其次显示游戏界面,判断游戏是否失败。如果失败的话,就打印GAME OVER。否则就一直执行主函数。其中 pygame.event.get从队列中获取事件,也就是说必须先获取事件,才能得到用户的键盘输入和其他操作,screen.fill用于填充屏幕,pygame.key.get_pressed用于获取用户的键盘输入,pygame.display.update用来刷新到之前的图案,time.sleep用于控制刷新的频率。

下载本文
显示全文
专题云课堂学生登录平台怎么登录云课堂学生登录平台怎么登录专题如何看清马赛克下的字儿如何看清马赛克下的字儿专题Windows7系统怎么还原网络设置Windows7系统怎么还原网络设置专题如何打开windows7系统的防火墙如何打开windows7系统的防火墙专题dysonv7怎么倒灰dysonv7怎么倒灰专题误删的微信好友怎么找回误删的微信好友怎么找回专题windwos7系统桌面自动刷新如何解决windwos7系统桌面自动刷新如何解决专题腾讯会议如何上传PPT腾讯会议如何上传PPT专题ppt录制视频的时候为什么没有声音ppt录制视频的时候为什么没有声音专题如何解决win7系统提示werfault.exe应用程序错误如何解决win7系统提示werfault.exe应用程序错误专题微信公众号点亮图片怎么做微信公众号点亮图片怎么做专题腾讯会议分享视频没有声音怎么解决腾讯会议分享视频没有声音怎么解决专题鼠标可以使用正常但键盘无法使用怎么办鼠标可以使用正常但键盘无法使用怎么办专题鼠标移动操作无反应开始屏幕变黑怎么办鼠标移动操作无反应开始屏幕变黑怎么办专题苹果怎么设置第一屏幕苹果怎么设置第一屏幕专题华为手机隐藏图标怎么设置华为手机隐藏图标怎么设置专题1688视频怎么保存手机1688视频怎么保存手机专题PPT幻灯片放映时怎么隐藏鼠标指针PPT幻灯片放映时怎么隐藏鼠标指针专题网易邮箱手机号注销了怎么更换手机号网易邮箱手机号注销了怎么更换手机号专题word怎么设置上下文字对齐word怎么设置上下文字对齐专题如何领取快手给的1500个粉丝如何领取快手给的1500个粉丝专题钉钉加入班级怎么激活钉钉加入班级怎么激活专题qq录屏没有声音怎么办qq录屏没有声音怎么办专题电脑自带的录屏功能在哪里啊电脑自带的录屏功能在哪里啊专题彩色打印机如何设置只打印黑白彩色打印机如何设置只打印黑白专题微信撤回消息字样删除微信撤回消息字样删除专题苹果手机怎么截屏整个聊天记录苹果手机怎么截屏整个聊天记录专题新版qq骰子在哪里新版qq骰子在哪里专题微信只记得微信号怎么找回密码微信只记得微信号怎么找回密码专题企业微信会议怎么回放企业微信会议怎么回放专题python制作贪吃蛇代码专题python 贪吃蛇源码专题python贪吃蛇代码及注释专题贪吃蛇python程序专题用python写一个贪吃蛇专题贪吃蛇python编程代码专题numpy 版本专题numpy版本专题python 大师专题pure python专题python 堆专题python简单易学专题python imshow专题python loadtxt专题python123.io专题python float64专题http://python123.io专题python写的好玩简单的程序专题effective python专题python的应用专题