邵阳县网站推广【邵阳县办理400电话】邵阳县SEO优化、邵阳县微信公众号APP客户端小程序开发、邵阳县网站托管、邵阳县APP开发-小程序制作-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

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

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

邵阳县网站推广【邵阳县办理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变得有些复杂,让我们仔细推敲一下:

因为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电话办理【邵阳县网站公司】邵阳县百度优化、邵阳县域名注册、邵阳县网店美工、邵阳县微信公众号托管
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约