您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Scratch教程04-小猫脱险
Scratch第4课小猫脱险蝙蝠和小猫回顾•广播•蝙蝠•广播一个消息“boo_message”,说“我来了”•小猫•接收到消息“boo_message”后,赶紧开溜帮助小猫脱险•打开上一节课完成的“小猫和蝙蝠”程序。•点击绿旗并按下空格键运行程序。•小猫是不是始终在森林里走来走去跑不出去呢?帮助小猫脱险•为了让故事有一个美好的结局,让我们来帮助小猫逃离蝙蝠的威胁•小猫可以逃到哪里去呢?改变背景•我们可以设计当小猫碰到舞台边缘的时候,让他进入我们选定的背景从而逃脱蝙蝠。•为了让小猫碰到边缘时改变背景,我们需要知道:1.小猫怎么知道自己碰到了舞台边缘?2.当小猫碰到边缘时会有什么发生?3.当小猫碰到边缘时,舞台怎么知道该改变背景了?设计故事情节•写下我们希望故事里发生的每一件事情–小猫,蝙蝠和舞台是我们这个故事里面的角色。•小猫:–当它碰到舞台边缘后,说自己被撞痛了,然后广播一条消息。•蝙蝠–收到消息后,隐藏、然后停止动作。•舞台:–收到消息后,改变背景。小猫怎么知道他是什么时候碰到边缘的?•Scratch中,当一个角色触碰到某个物体时,有一个程序块是可以感知到的。•我们可以使用“touching[_]?”程序块来感知小猫是否边缘:True(真)或False(假)•请思考以下问题:“小猫碰到舞台边缘了吗”?•有几种可能的答案?1.碰到=True2.没有碰到=False3.或者其他答案=??•同学们想想除了True和False外还有其他可能的答案吗?测试“Touching”程序块•现在我们来看看“Touching”块如何运行的,看看它会不会像我们期望的那样工作。•创建“Touching”块并放置在小猫的脚本区域:•我们可以用鼠标点击该程序块来运行它,但不启动小猫的其它脚本。测试“Touching”程序块•按下停止所有脚本•按以下方式用鼠标拖拽小猫:•拖动小猫让他碰到舞台边缘,然后点击•拖动小猫离开边缘,然后点击单元测试•我们测试过了,而且它按照我们希望的方式去做了。•这一方法在计算机编程里面叫做“单元测试”,因为一个程序块就是程序里的一个“单元”•我们测试了这个程序“单元”每一种可能的结果,并确定它是有效的。•以后当我们遇到不确定怎么用的模块,我们也可以用同样的方式来进行测试。当小猫碰到边缘时如何让某些事发生?•还记得块吗?当小猫碰到边缘时将改变方向。•但我们希望小猫碰到边缘后能做一些其他的事情……当小猫碰到边缘时如何让某些事发生?•我们必须用“if_then”控制块,创建自己的“iftouchingedge”块:The“If”语句If语句用来判断条件为真(True)或者为假(False):如果条件为True,则执行“If”块内的脚本。这里指小猫碰到了边缘,所以执行if块内的说话脚本。如果条件为False,则“If”块内的脚本不执行这里指小猫没有碰到边缘,所以跳过整个“If”块。二进制逻辑和“If”语句•计算机编程中“If”语句是一个很重要的工具。•计算机是基于真和假来做决定的,其中1为真,0为假。•尽管计算机只需要考虑两种可能性,它却可以在一秒钟之内做出10亿个true/false的决定。•这永远快于人类大脑,但不用担心,我们的大脑可以做很多计算机不能做的事情,而且计算机必须要我们来告诉它做什么他才会做什么。将所有脚本集中到一起•现在我们知道边缘触碰代码可以工作了,就可以将这段代码放到故事里边了。运行故事•按下绿旗开始执行故事并使蝙蝠出现;•我们希望蝙蝠每次碰到舞台边缘就说:“Ouch!Thathurts…”•现在程序运行正确吗?下面的脚本干了什么呢?调试(Debugging)•当小猫碰到边缘时并没有说:“Ouch!Thathurt…”这时我们就说程序出现Bug了。•Bug指计算机没有按照我们所期望的那样去做。•对于计算机程序的bug,我们必须找出来并且修复它,这一过程叫调试“debugging”•为了调试小猫的脚本程序,我们必须仔细检查程序并思考为什么会出错。调试(Debugging)•下边这段代码到底能做什么呢?•你发现问题了吗?•-提示1:这段代码运行了多少次?•-提示2:将小猫放到舞台边缘,然后点击绿旗。•判断小猫是否碰到边缘的脚本是不是只执行了一次。调试——找到Bug•我们发现这个脚本只能用来检查小猫是否只碰到边缘一次。•脚本执行完一次后就再也不检查是否碰到了舞台边缘。•但我们希望计算机一直不停地检查小猫是否碰到了边缘。•这一过程在编程里面就叫做“轮询”(polling)轮询•轮询是指一直提出问题并获得结果。•我们希望计算机不停地询问:“小猫碰到边缘了吗?”•为了达到这个效果我们可以使用forever循环:•将forever循环放到小猫的脚本区,执行脚本并观察现在发生了什么?我们学到哪里啦?•我们已经完成了:•怎么让小猫知道他碰到了边缘。•当小猫碰到边缘时如何让某件事发生。•现在我们是不是需要完成,当小猫碰到边缘时如何改变场景…舞台怎么知道应该在什么时候切换场景?•我们可以写一个脚本,来改变场景。舞台有自己的脚本区。•当小猫碰到舞台边缘时我们怎样改变背景呢?-提示:还记得昨天我们怎样让小猫知道自己该逃跑了吗?舞台怎么知道应该什么时候切换场景?•舞台是不是也可以从小猫那里收到广播消息?。•首先,我们可以编程让小猫每次碰到边缘后就发送一个广播消息:——创建一个新广播消息——将消息放到当小猫碰到边缘时执行的代码中。改变舞台背景•当小猫碰到边缘时舞台必须接收广播消息;—收到广播消息后舞台就切换背景•在故事开始时我们的背景是森林背景开始你的故事•点击绿旗,然后按下空格键显示蝙蝠。•现在,当小猫逃跑并碰到边缘时应该改变场景。•但是小猫并没有逃脱蝙蝠:—背景改变时我们要让蝙蝠消失逃离蝙蝠•当收到“TouchingEdge”广播消息时蝙蝠应该藏起来:•有趣的试验—将更多的背景加入舞台。—每次当小猫碰到边缘时切换到下一个场景。事件(Events)•在计算机编程中,发生的某些事情叫“事件”(Event)•我们已经学过以下3类事件:—绿旗开始块—按键块—广播课后作业•让大家完成一个大鱼吃小鱼的游戏•大鱼可以跟着鼠标移动•当大鱼碰到小鱼时,大鱼嘴巴张开,小鱼被吃掉
本文标题:Scratch教程04-小猫脱险
链接地址:https://www.777doc.com/doc-5065787 .html