# 目标:
如果你学会了以下内容,请在后面方框内打上 √
1. 了解Bug是什么 □
2. 认识概念:顺序 □
3. 认识实践:调试 □
# 1. 故事:避开黑洞大陷阱
上回我们讲到编程猫炸开老鼠藏身之处,之后发生了什么呢?
老鼠们看到被编程猫发现,赶紧往另一个方向逃离。编程猫立即带着警员们追赶这些逃窜的老鼠。在警员们追赶中,只听黑贼鼠一声长长的口哨声,一只小老鼠走到了一个开关面前。
只见这只小老鼠按下开关,地面瞬间出现了很多大黑洞,只见几个警员掉入黑洞。
“小心!......"警长随后带着警员们小心翼翼,绕过黑洞,继续追捕黑贼鼠。
现在你需要学习后面的内容,去帮助警长抓住黑贼鼠!
# 2. 亲子时光:听我指挥
把完成任务的一系列步骤依次排列出来,在编程中我们把这叫做“顺序”。今天你和爸爸妈妈一起来玩一个“听我指挥”的游戏,去感受一下生活中执行指令的顺序。
* 亲子游戏:**听我指挥**
* 准备工作:在房间内或操场找一块空地,设定一个起点和终点,并在起点和终点之间放入一些障碍,如凳子、书本或树叶之类的任何物品。
* 游戏规则:从起点顺利绕过障碍到达终点即为胜利,触碰到任一障碍物则游戏失败
* 游戏过程:
1. 家长全程闭上眼睛,或用毛巾绑住眼睛,并站在起点处
2. 你在纸上先把从起点到终点的完整指令做成一张指令表,指令包括前进、后退、左、右
3. 照着指令一个一个读出来,家长听到指令后照着行走。家长需要保证每步的距离基本一致
4. 如果顺利到达终点,则胜利。如果遇到障碍,则失败,失败后,重新修改指令表,重新开始新一轮的游戏
* 思考:
* 你一共失败了几次之后再成功的,现在心情如何呢?
* 要保证游戏成功,有哪些是重要因素?
* 你后来是如何成功的,把你的小秘诀告诉爸妈吧。
# 3. 核心任务:
有一个已经编写的“编程猫绕过黑洞”游戏,好像出了一点问题。抓获黑贼鼠失败,因为程序运行中编程猫撞墙了。
![](https://box.kancloud.cn/cff8b03fd7aa99cfce00646b7dd26061_1992x1386.png)
现在需要检查程序代码,看看哪里出了问题,然后去修改代码,帮助编程猫顺利抓住黑贼鼠。
:-: *扫码看任务演示*
放置任务视频二维码(3.1 任务演示)
# 4. 技能指令
![](https://box.kancloud.cn/63dda5a81c5532e551a441488f413da4_1338x438.png)
## 技能1. 认识bug
![](https://box.kancloud.cn/54f3862080b8befd37ba31c4d96bbb00_472x308.png)
计算机Bug是什么?
在中文里面,至今仍没有与“Bug”准确对应的词汇,于是只能直接引用“Bug”一词。“Bug”这个词是虫子的意思,但我们通常说的计算机程序有Bug,并不是里面真的进了虫子。而是说,你编程中输入的指令里有错误,导致程序没有实现期望的结果。如果你电脑输入了一个错误的指令,电脑并不知道对错,即使指令里有错误,它也只会按照你输入的指令执行。如果程序结果出错,则意味着指令中有错误或Bug。
就像今天的亲子游戏一样,你给爸妈设计好的行走指令中,可能有些是错误的。原因有很多,例如你不知道一步会走多远,另外你第一次玩也什么经验,甚至你可能就是写错了,这些都会造成你的指令设计出现Bug。
在编程中经常会出现错误,我们可以通过对程序的检查来发现错误,然后去修改它,这样程序就能正常工作了。
:-: *扫码看bug介绍*
放置视频二维码(3.2 Bug是什么?)
## 概念2. 顺序
在上一章中你已经能在纸张和电脑上抓老鼠了,今天换种方式来玩。
![](https://box.kancloud.cn/4fbdf509179da361db8349c9c27d56e6_1436x194.png)
这是一些箭头指令,其中前四个是方向和移动,第五个是涂颜色。下图左边是一个四行四列的格子图形,起初所有格子都是空白的,现在你需要以五角星的小格子作为起点,使用上图的指令去一步一步的涂出左边的图案。
![](https://box.kancloud.cn/73be5af04d55298d4ed5dcb1ad40bc99_1352x228.png)
我们先一起来完成这个图案。你可以先向右再向下,或先向下再向右两种途径移到第二个要涂满颜色的格子上。现在假设我们选择从右边开始,那么路径就是:首先是涂色,然后是右移一格,再下移一格。对应这个路径的指令就是:先画“涂满黑色”涂色指令,然后是“向右移动一格”箭头指令,接着就是“向下移动一格”箭头指令。我们按照“顺序”依次把这三个指令填在步骤小方格中:
![](https://box.kancloud.cn/923f38c3a8be5253880b1d1b2435e363_1348x270.png)
接着我们继续按照这种思路,把剩余的两个方框涂满黑色,最后画出来的指令表如下:
![](https://box.kancloud.cn/524a3691ae0044fd3faf386cfdae57d3_1330x278.png)
我们依次执行这些指令就是“顺序”。在了解“顺序”这个概念之后,现在轮到你自己来完成下面两个图形指令了:
![](https://box.kancloud.cn/b1410366f0db19a543b53bebbc6dd254_1328x462.png)
如果通过了上面两关,接下来我们又变一种方式来玩,现在要通过指令表来看看生成什么图形。请你在阅读完下图的指令表后,在左边图形中绘制出最后涂满颜色的图形:
![](https://box.kancloud.cn/534c411f9b22aff7b9cf5aa7e2078725_1272x238.png)
## 技能3. 调试
我们把发现Bug并加以纠正的过程叫做调试,英文叫做Debug。调试是编程中常见的活动,简单的说就是发现和解决出现的问题,确保程序可工作。
通过上一小节,相信你已经知道如何绘制指令来画出对应的图形了。现在我们根据图形把指令表做出来了,但是这个指令表出现了错误,你需要找出错误的指令并进行修正。
![](https://box.kancloud.cn/320fae03445e3edf16458186a62bc503_1126x410.png)
如何去修正呢?你只需在对的指令下打勾,错误的下面画出正确的指令。我们从起点的第一个指令开始检查,可以看到第一个起点是涂成黑色的,于是先去检查第一个指令小方格是不是“涂满颜色”指令。指令表第一个指令是“涂满颜色”,这是符合图形的正确指令,我们就在这个涂色指令下面打勾,表示这个指令是对的。
![](https://box.kancloud.cn/2b9afb3043eba7f2c054595beb61db7c_1218x250.png)
第一个指令检查完后,我们依次根据图形来检查后面第二个、第三个,直至最后一个指令。检查到第6个指令应该是错误的,应该从“向下”改为“涂满颜色”。下图为调试修改的指令表:
![](https://box.kancloud.cn/dc044b098c64f518d3ddc60e6d21771b_1224x260.png)
如果你已经学会了如何修正指令表,接下来你需要自己修正下面3个指令表:
![](https://box.kancloud.cn/bb051ca02f7bd9fed87339eac141ca66_1192x710.png)
如果以后你发现自己编写的程序好像没有达到预期结果,那可能就意味着需要调试一下了。
## 指令4. 等待
在上一章练习中,我让编程猫每到一个格子后停了一下,这是使用了【等待】指令,你在本章扩展练习中会去练习这个指令。这个指令一般用在需要动画等待的时候,例如在移动之后加上等待,则可以看到角色移动的效果。
你可以参照以下技能卡来学习【等待】指令:
![](https://box.kancloud.cn/251fc54a5ce473dd94a380620245472c_906x1261.png)
## 指令5. 旋转模式
当游戏中的角色走到舞台边缘后往回移动时,你可以设定角色往回移动时的旋转方式:
| 1. 左右翻转 | 2. 不旋转 | 3. 任意 |
| --- | --- | --- |
| ![](https://box.kancloud.cn/a87d6c247727695c594e61e5562e7d62_482x502.png =100x100) | ![](https://box.kancloud.cn/23db7359e2d26c4d07cc5062a465c210_512x502.png =100x100) | ![](https://box.kancloud.cn/b016c56320dc776251d190335785f03f_512x502.png =100x100) |
你可以参照以下技能卡来学习【旋转模式】指令:
![](https://box.kancloud.cn/e51ef5e00988dcd8494a8b57e66db23c_678x1004.png)
# 5. 扩展练习
通过本章所学知识,你已经完成了核心任务的Debug。现在你需要想想整个调试过程的3个问题:
1. 这个Bug出现了什么问题?
2. 你是如何找到这个Bug的?
3. 你是如何修复这个Bug的?
除此之外,请在魔法宝箱中找到对应的三个游戏文件进行Bug修复:
![](https://box.kancloud.cn/fe973a03aeabf6fec3ed45dcbb54e94b_1194x1278.png)
# 6. 魔法宝箱
* 1个核心任务文件和3个扩展练习文件:
* 3.1 避开黑洞大陷阱.sb2
* 3.2 黑贼鼠360大翻转.sb2
* 3.3 编程猫倒立了.sb2
* 3.4 黑贼鼠不跟着编程猫动.sb2
* 3. 顺序和调试(练习册)
# 7. 任务编程详解
:-: *扫码看 3.1任务编程视频*
放置任务视频二维码(3.3 任务详解)
# 8.开动脑筋
我们每个人在生活中也有很多Bug,例如晚睡、不按时写作业等坏习惯都是生活Bug。找找你自己有哪些Bug需要修复的?也帮爸爸妈妈找找?然后一起沟通一下,如何去消灭这个生活Bug呢。
![](https://box.kancloud.cn/29fe3d5a6a5a5b24eb066b037dd6c44b_1193x556.png)
- 前言
- 第一章 黑贼鼠偷抢粮食 – 安装和运行
- 第二章 编程猫勇闯鼠洞 – 方向和移动
- 第三章 避开黑洞大陷阱 – 顺序和调试
- 第四章 编程猫欢快舞蹈 – 循环和角色
- 第五章 黑贼鼠监狱逃脱 – 事件和舞台
- 第六章 隧道追击黑贼鼠 – 条件和图形
- 第七章 猜数字开城堡门 – 运算和数据
- 第八章 空中城堡捡星星 – 坐标和飞行
- 第九章 老鼠集体大反击 – 克隆和参考
- 第十章 猫鼠空中大决斗 – 重用和大招
- 第十一章 黑贼鼠偷吃玉米 – 线上编辑器和帮助
- 第十二章 猫鼠枪战大终结 – 英文编辑器和多人游戏
- 第十三章 热闹音乐庆功会 – 声音和乐器
- 第十四章 妙笔生花齐欢乐 – 画笔和印章
- 第十五章 新闻播报传喜讯 - 官网和分享
- 附:编程启蒙疑问
- 附:了解计算思维