栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > 学术 > 人文期刊 > 电脑报

Scratch编程之小猫躲苹果

电脑报 更新时间: 发布时间: 学术归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scratch编程之小猫躲苹果

陈新龙

前不久,小编和我一起讨论一套Scratch的试卷,两人对一道基础题“小猫躲苹果”却很久没有想出正确的答案。

题目是这样的:天上不停地掉苹果,屏幕内苹果数要超过两个,小猫能自动躲开。(如图1)

這道题是试卷基础题的第三题,理论上应该是不会太难的。但是我们两个人都把题目解法复杂化了,导致几个小时也没写出合格的程序。题目要求随机落下至少两个苹果,这一部分实现很简单。因为小猫需要对苹果侦测,下落的苹果不能用克隆。真正的难点在于自动左右移动躲避苹果。

作为前车之鉴,说说我们的错误思路吧。在做题目的时候一般先考虑从简单情况开始,就先做了一个苹果的随机掉落,判断如果“苹果X坐标-小猫X坐标”的绝对值小于100时认为苹果会砸到小猫,小猫马上移动一段距离。躲避一个苹果是成功的,但是第二个苹果加进去后需要判断的情况一下多了起来,如果两个苹果刚刚好一左一右,那么小猫就可以移动到两个苹果的中间;如果苹果都在左边,那么就移动到右边;如果苹果都在右边则移动到左边;但是遇到舞台边界该怎么计算,这样复杂的条件判断难免会出现问题,这还没有考虑三个苹果的情况。关键是这只是第三题,一套卷子只有三小时的答题时间,不该写这么多复杂的语句。

我静下心来推翻之前的思路从头思考。在仔细梳理各个模块的属性后,注意到“到鼠标指针的距离”这个模块时恍然大悟,简单的事情让我俩想复杂了。

下面是程序代码,代码量确实很少。

两个苹果角色相同代码:X坐标取随机数,等待何时的时间后显示,重复执行下落。这里使用了循环,用来控制苹果掉落的位置和掉落的时间,这里提醒一下苹果掉落了之后不要忘记还要再回到上面。(如图2)

小猫代码:循环判断如果“小猫”到“苹果1”距离小于100或到“苹果2”距离小于100,那么随机改变X坐标的位置。虽然有可能移动后还会碰到苹果,但是因为程序执行足够快,继续换下一个X坐标就可以了,人眼看不出来的。这里用到了侦测到其他角色的距离,加判断语句,保证小猫附近有苹果时会移动。(如图3)

回想起来,本来一道简简单单的题目被复杂化了。没有能够完全理解各种模块的用法是这次问题的根源。

另外这次经历也提醒我,在解决问题时,必须先仔细分析题目要求,构造可行思路。遇到疑难时冷静一下,有时也许还需要有推倒重来的勇气。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/xueshu/250617.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号