给“食物”角色编写程序为了讲清楚随机数范围的选择问题

前言

在上一期的Scratch编程课中,我们为“蛇”这个角色写了一个程序计算机技术基础 c语言 课程设计贪吃蛇游戏,让他可以自动移动并检测键盘上的“上、下、左、右”四个方向键是否被按下,从而改变它的运动方向。

今天这个Scratch编程课,我们要给它添加一个“食物”字符,并给它写代码,让它在被“蛇”吃掉后可以随机重新出现在舞台上。

添加食物字符

Scratch 自带的角色素材库中有一个特殊的“食物”类别。水果、糕点和饮料一应俱全。我选择了第一个 Apple 角色并将其添加到舞台上。但是,默认大小太大,我们需要调整它的大小。调整幅度有多大?用什么方法调整?我的想法是这样的:

它必须和蛇差不多大。如果“蛇”移动到下一行“食物”,那么就有可能触发“触摸食物”事件,正确的情况应该是安全通过,而不是触发事件。因此,我认为“食”字应该比“蛇”字小一点。 “蛇”字的大小是20×20,所以18×18更适合“食”字。

“食物”字符的大小确定为18×18,那么如何调整呢?如果您直接在设置区域中设置其大小,它似乎可以工作计算机技术基础 c语言 课程设计贪吃蛇游戏,但我想要更精确。因此,我在造型区域中将其大小调整为 18×18。

具体操作方法同上一期Scratch编程课中“蛇”字的调整。

图一

最后,不要忘记调整中心点的位置,方法和之前的 Scratch 编程课中的“蛇”字符一样。详情请参考《36.Scratch 青年编程实例教程:贪吃蛇游戏(二)Let the Snake Move)。

对“食物”角色进行编程

为了明确随机数范围的选取,我先为“食物”字符编写下图所示的程序。这不是最终计划。我们稍后会修改随机数的范围。

这段代码非常简单。首先将“食物”角色移动到一个随机位置,然后进入重复执行。重复执行的作用是不断判断是否遇到了贪蛇,其实就是贪蛇运动的过程。你遇到过“食物”吗?如果被击中,“食物”角色会移动到一个新的随机位置。看起来好像“食物”被吃掉了,然后出现了新的“食物”。

图2

我们试试上面的程序,好像完全没有问题,但是再尝试几次,就会出现下图:一半的苹果会在舞台外。

这是为什么?舞台的大小是480×360,位置坐标x值240、-240和y值180、-180正好是舞台的边界,所以我们的随机数是x在-240和240 取一个随机数,y取一个-180到180之间的随机数。好像没有错。

图 3

但是,不要忘记我在上一课中说过的,位置是由人物的中心决定的,而图片中苹果的中心正好在舞台的边界上。所以,我们只需减去苹果大小 18×18 的一半。即x是-231到x之间的随机数,x是-231到231之间的随机数,y是-179到179之间的随机数,可以保证苹果在舞台上完全展示。

图 4

图 5

视频效果

本次Scratch编程课的具体效果,请点击下方视频观看。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论