当前位置: 网站首页>小程序开发>小程序制作

邵阳县网站推广【邵阳县办理400电话】邵阳县SEO优化、邵阳县微信公众号APP客户端小程序开发、邵阳县网站托管、邵阳县APP开发

发表日期: 2021-04-02 17:03:21 浏览次数:149

邵阳县网站推广【邵阳县办理400电话】邵阳县SEO优化、邵阳县微信公众号APP客户端小程序开发、邵阳县网站托管、邵阳县APP开发

邵阳县为湖南省邵阳市下辖县,属革命老区,是国家扶贫开发工作重点县和国家退耕还林项目重点县。邵阳县位于湖南省中南部偏西,东邻邵东县、祁东县,南连东安县、新宁县,西接武冈市、隆回县,北抵新邵县和邵阳市区。

邵阳县农产品主要有水稻、辣椒、柑桔、茶油、花生、百合、黄花、生猪、烤烟等;矿藏主要有无烟煤、大理石、石膏石、重晶石、铁、锰、锑及油页岩。

2017年,邵阳县实现地区生产总值1437494万元,其中第一产业实现增加值335849万元,第二产业实现增加值496529万元,第三产业实现增加值605116万元。 [1]  截至2017年末,邵阳县常住人口为936936人;汉族占99.6%,其余主要为回族。 [2] 

2020年2月29日,湖南省人民政府同意邵阳县退出贫困县。


块的作用

每次调用EatAphid,变量energy增加50,缓解了瓢虫的饥饿。然后,蚜虫的Visible及Enabled属性都被设置为false,看上去像是消失了。最后,产生随机的x、y坐标,并调用Aphid.MoveTo,这样,蚜虫会在一个新位置再次出现(否则,它一出现便会被立即吃掉)。

瓢虫与蚜虫之间的碰撞检测

图5-12显示了在瓢虫与蚜虫之间做碰撞检测的代码。

{%}

图 5-12 检测并处理瓢虫与蚜虫之间的碰撞

块的作用

当瓢虫与另一个ImageSprite碰撞时,将调用Ladybug.CollidedWith,参数“other”指向任何与瓢虫发生相撞的ImageSprite。此时,只有蚜虫可以碰撞,但稍后会有青蛙加入进来。我们采用防御性编程方式,即在调用EatAphid之前,要确认碰撞的对象就是蚜虫;此外还要确认蚜虫可见,否则,蚜虫在被吃掉之后而重新出现之前,还会与瓢虫再次碰撞。如果缺少这项确认,隐形的蚜虫会被再次吃掉,并引起能量水平的再次增加,这会让用户感到费解。

 提示:防御性编程是一种避免错误的编程方式,当程序被修改时,仍然可以正常工作。在图5-12中,对other=Aphid的检查并不是绝对必要的,因为此时瓢虫可碰撞的唯一对象就是蚜虫,但检查可以防止后续程序的错误:当添加另一个ImageSprite(青蛙)时,如果忘记了修改Ladybug.CollidedWith,程序就会出错。通常来说,程序员修复bug的时间要多余写新代码的时间,所以多花一点时间尝试防御型编程是非常值得的。

蚜虫的回归

最终蚜虫要重新出现,按图5-13所示修改UpdateAphid:仅当蚜虫可见时,令其改变方向(改变一个不可见的蚜虫岂不是浪费时间。);若蚜虫不可见(如刚刚被吃掉),将有1/20(5%)的机会重新出现,或者说会被再吃掉。

{%}

图 5-13 修改UpdateAphid使隐形蚜虫起死回生

块的功能

UpdateAphid变得有些复杂,让我们仔细推敲一下:

  • 如果蚜虫可见(这应该是常态,除非刚刚被吃掉),UpdateAphid的行为没有变化,即有20%的几率改变方向;

  • 如果蚜虫不可见(刚被吃掉),则执行“else”部分。首先生成一个随机分数,如果它<0.05(在5%的时间里),蚜虫再次变得可见并且可用,即,有资格被再次吃掉。

因为Clock1.Timer每隔10毫秒调用一次UpdateAphid,而当蚜虫隐形后,只有1/20(5%)的机会恢复可见,因此蚜虫平均重现的时间是200毫秒(1/5秒)。

添加重新启动按钮

在测试蚜虫被吃的新功能时,你可能已经注意到,游戏的确需要一个重新启动按钮。(在创建应用过程中,将应用分解成小的功能模块,完成一块就测试一块,这种开发模式大有裨益。在测试过程中,经常会发现一些被忽略了事情,一边做一边测一边改,比起整个应用完成之后再回来做修改,要容易得多。)在组件设计器中,将Button组件添加在EnergyCanvas下方,改名为“ResetButton”,并设置其Text属性为“重新启动”。

在块编辑器中,创建当RestartButton被点击时的代码,如图5-14所示:

1. 能量水平设置回200;

2. 重新使蚜虫可见并且可用;

3. 重新使瓢虫可用,并将其图片改为活的瓢虫(除非你想要僵尸瓢虫!)。

{%}

图 5-14 按下“重新启动”按钮让游戏重新开始

添加青蛙

到目前为止,让瓢虫活着并不难,因此我们需要一个捕食者。就是说我们要添加一个奔向瓢虫的青蛙,如果发生碰撞,瓢虫被吃掉了,游戏结束。

让青蛙追捕瓢虫

首先回到组件设计器,在FieldCanvas上添加第三个ImageSprite组件Frog,设置其Picture属性为相应的图片,interval属性为10,Speed为1,让它的移动速度慢于其他生物。

图5-15显示了Clock1.Timer中调用了新创建的过程。

{%}

图 5-15 让青蛙向着瓢虫移动

块的功能

现在你应该可以熟练地使用随机分数来控制事件的发生几率了,这里,青蛙有10%的机会直接直奔向瓢虫。这里用到了三角函数,但别害怕,你不必明白其中的道理!App Inventor提供了大量的数学函数,也包括三角函数。本例中使用的ATAN2(反正切)块,返回值是一个角度,该角度由一组给定的x、y值相对应。(如果你熟悉三角函数,会发现求解ATAN2时所用的y值与你所期望的y值符号正好相反,即y的减法顺序是反的,这是因为在Android的画布上,向下是y坐标的增加方向,这与标准的x-y坐标系正相反。)

邵阳县网站推广邵阳县办理400电话邵阳县SEO优化、邵阳县微信公众号APP客户端小程序开发、邵阳县网站托管、邵阳县APP开发

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878