编程语言-课件-10-12课.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十课,检测--交互 1.检测 在我们之前的课程中已经讲过交互了。并且也讲了一下怎么检测我们脚下的方块。那么我们今天将要来学习一下,怎么检测敲击方块。 在这里我们一定可以想到我们会用到block文件。其实这是毋庸置疑的。因为我们要检测方块嘛。 然后我们今天还要用到event文件,字面意思,事件。没错。 今天我们要学的就是敲击事件。 通过event来判断我们是否敲击了方块。 pollBlockHits()这个方法就是监测方块是否被敲击,并且返回一个被敲击方块的坐标值组成的列表。当然,它监测的是整个minecraft世界的方块。所以,我们要对比一下。我们敲击的方块与我们想要敲击的方块是否在同一个位置。所以我们用这段代码,获取到了被敲击方块的坐标列表 events = mc.events.pollBlockHits()。然后与我们建造的方块进行对比。 2. 10_1BlockHit.py 分析:既然我们学习了函数,就肯定要把敲击判断这段代码写在函数中,然后去调用,当然了。 我们也有很多不必要的代码不用写在函数中, 比如,创建与服务器连接的对象。在敲击之前所创建的一个钻石方块,我们都不用写在敲击的函数中, 那么我们一开始的代码就要来创建一个钻石块mc.setBlock(D_pos.x,D_pos.y,D_pos.z,block.DIAMOND_BLOCK.id) ,钻石块创建好了。我们开始写checkHit这个敲击所用到的函数 用events获取到敲击方块的坐标。然后我们通过for循环遍历。与之前我们钻石块坐标的对比,如果一样,那么就说明,我们敲击到了这个钻石块! 第十一课,寻宝游戏(编程序) 1,游戏流程讲解 今天的任务就是写代码,一节可能写完就非常不错了。如果写不完,下节课最多给20分钟写代码并且熟悉代码,那么在我们开始编程之前,我们来了解一下这个游戏的玩法和流程。首先我们运行程序之后,在我们周围会随机出现一个钻石块。在我们角色脚下会出现一个黄金块随着人物移动而增加。每增加一个黄金块会减1分直到我们敲击了钻石块位置,当我们敲击钻石块的时候,会+10分。并且消除之前出现的所有黄金块。所以想要得到最多分,就要选择最短的鹿城到达敲击钻石块的位置。 好,那么我们先来看看第一个程序 2,11-12_1skyHunt.py 声明了三个坐标变量,声明了一个RANGE钻石方块随机位置的范围。声明了一个score分数的变量。 声明了四个函数。 placeTreasure()用来随机钻石方块的设置 checkHit()用来判断敲击的方块 homingBeacon()计算角色与钻石块的距离。 buildBridge()建造黄金桥梁,并计算减分情况 循环:判断什么时候调用placeTreasure()创建钻石块 然后调用checkHit() homingBeacon() buildBridge() 来完成这段程序 写完这程序之后,我们就已经完成我们本次游戏程序的框架了。接下来我们编写每个函数的具体内容就行了。接下来我们一起完成这本次的任务程序11-12_2skyHunt.py 第十二课,寻宝程序(讲程序) 1.11-12_2skyHunt.py 好了。 本次课程比较难,希望大家仔细听讲。同时,本次课程也充分的展现了函数的重要性。如果不用函数,那么我们将会很难写出这次项目的程序来。 在我们看函数之前我们讲一下之前没有见过的None这个关键字。我们看到我们给treasure_x,treasure_y,treasure_z这三个变量赋值的是None,那么这是一个特殊的值。是一个没有空值,也就是说,它只是用来占个位置的。实际上是没有值的。 现在我们看一下,placeTreasure()这个函数。首相将 treasure_x,treasure_y,treasure_z这三个变量声明成了全局变量,什么事全局变量呢,如果某个变量在函数中需要改变值。那么我们必须将这个变量声明称全局变量,也就是在变量前加一个global关键字。下面我们将treasure_x 赋值成 random.randint(pos.x,pos.x+RANGE)这样的一个随机数。范围是玩家x坐标和玩家坐标+5的这么一个范围。y坐标则是玩家坐标+2和玩家坐标+5的这么一个范围也就是说,这个钻石方块会出现在玩家周围5的范围。并且不会低于玩家(我们把玩家整体当做两个方块作比较)注释:这里老师可以给孩子在白板上或者在大屏幕上画图演示一下。然后我们用这个随机出来的三个坐标值,创建一个钻石块 我们再来看看checkHit()这个函数,和我们之前写的十分

文档评论(0)

女帝 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档