视频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
苹果x来电铃声小怎么处理 qq群班级作业怎么私发 苹果7p怎么下载不了软件 洗碗工怎样保护手 微信撤回的消息怎么查看 苹果怎么改变闹钟铃声 黑鲨手机喇叭怎么清理 熨斗下面脏了怎么清洁 手机wps怎么删除页面 苹果换华为通讯录怎么导入 手机掉水用吹风机热风吹的怎么办 微信封号15天怎么办 羊肉怎么去膻味最有效 苹果x滚动截屏怎么设置 吊瓶蒸汽熨斗不出蒸汽 小米手环2怎么连接手机 如何自己装win10 腾讯会议怎么屏蔽声音 小米手机突然反复重启怎么办 买的卤菜太辣了怎么办 金立手机开不了锁怎么办 大鱿鱼须的切法 pdf文档怎么合并成一个 为什么vivo闪充越来越慢 苹果手机怎么更换id账号 win10怎么看版本号 换手机号qq怎样找回 oppo手机开不了机咋办 华为手机锁屏时间怎么调 如何将pdf转换成excel 苹果6sp信号弱解决办法 一元打火机漏气怎么处理 没有熨斗如何去皱 怎么让华为手机不卡 超轻粘土干了裂开怎么办 沙发坐久了陷了怎么办 华为8x充不进去电怎么回事 为什么花洒半夜自动流水 怎样关闭360安全桌面 我被移出群聊怎么恢复
python贪吃蛇详解
2020-06-17 15:25:09 责编:小采
文档

首先来看贪吃蛇模块:

首先__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 应用专题numpy 下载专题下载numpy专题python 电脑专题游戏 python专题python 模拟专题python模拟点击专题疯狂python专题pip numpy专题go和python专题python和go专题python whl专题python game专题go与python专题python iter专题iter python专题python io专题