少儿编程-开发贪吃蛇游戏之移动苹果JS编程

2020-09-16    来源:网上    编辑:少儿编程
17.5.2 移动苹果 Move方法将苹果移动到游戏区域中的一个随机的新位置(即画布,而不是边框上的任何块)。当贪吃蛇吃掉苹果的时候,调用该方法,以便苹果出现在一个新的位置。

  我觉得按照你的基础和目标,大约1年就够了,不要被那些你要懂计算机原理、离散数学、操作系统原理的答案吓住了;但这一年内1天2小时是不够的,估计至少4小时。程序开发发展到现在已经不是上世纪那种开荒的年代,什么都要自己搞,现在的程序开发已经是工业化的时代了。平台、工具、框架、开发库等做了大量的封装,只是想做一个能做出东西的程序员,要求并不高,以开车来类比,你不需要理解引擎原理、离合器怎么运转的,你照样可以开车。

  如果要成为高手的话,10000小时理论是最好的参考系,不说编程要编10000小时,而是你在这方面的投入要10000小时,包括看书、编码、设计、讨论等,而且注意着10000小时不能是重复劳动,学会java的ArrayList使用后,你再写10000行这个类的使用代码,对你水平提高是没有用的。推荐使用java,学会了做android开发也可以,做后台开发也可以,大量的框架、工具、开源库、资料

  17.5.2 移动苹果

  Move方法将苹果移动到游戏区域中的一个随机的新位置(即画布,而不是边框上的任何块)。当贪吃蛇吃掉苹果的时候,调用该方法,以便苹果出现在一个新的位置。  在?处,创建了randomCol和randomRow变量。这些变量将设置为游戏区域内的一个随机的列和行。如图17-1所示,游戏区域的列和行的范围是1到38,因此,需要从该范围中选取两个随机数。

  为了生成这些随机数,调用Math.floor(Math.random()*38),它给出了从0到37的一个随机数,然后,给结果加1以得到1到38之间的一个数字(要了解关于Math.floor和Math.random是如何工作的,参阅3.7.2小节)。

  在?处所做的事情,就是创建随机的列值,但是,不是写成38,而是(widthInBlocks-2).这意味着,如果随后修改游戏的大小,也不必再修改这段代码。使用Math.floor(Math.random()*(heightInBlocks-2))+1,做同样的事情来获取随机的行值。

  最后在?处,使用随机的列和行值创建了一个新的块对象,并且将其保存到this.position中,这意味着,苹果的位置将会更新为游戏区域之中的某个新的随机位置。

1
3