148

编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

  • Upload
    others

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。
Page 2: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

编程入门学习

Makeblock 课程设计组

唐小兰 林侠升 陈楚键 陈振艺

2018. 06

1

Page 3: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 1 课《程小奔的秘密》教学设计

1. 理解程序的定义及作用;

2. 认识程小奔及其功能;

3. 掌握慧编程的基本操作步骤。

4. 学会上传程序。

课堂准备:

1. 白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 认识计算机及掌握计算机的基础操作;

2. 具备一定的认知能力。

教学过程:

1. 情境引入——破解程小奔的秘密

向学生介绍,老师手中拥有一个神奇的程小奔,小巧的身躯却拥有十分强大

的功能。 教师可通过视频展示,或者提前上传程序至程小奔中,展示功能,比如避障、

人又

内容简介:

理解程序及程序的作用,认识程小奔及慧编程的基本使用方法。

教学目标:

巡线

、悬崖勒马等。

向学生提问:除了程小奔以外,你们在生活中还见过哪些机器人?那些机器

都是来做什么的呢?

随机抽取学生,并回答刚才的问题。

学生可能回答:送餐机器人、物流机器人、安保机器人

再提问:那么你们又知道机器人为什么可以听从我们的命令?

由学生进行自由讨论,并给出答案。

学生可能回答:遥控控制、设定了程序

2. 新知识讲解——程序

2

Page 4: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师讲述:程序是一种可以让我们控制机器人,让机器人能够识别的计算机

语言。我们想要机器人执行的动作、功能等通过编程,形成特定的程序,再将程

序上传到机器人中,那么机器人就会按照我们程序中的设定执行动作了。

教师提问:所以你们知道控制程小奔的秘密了吗?

学生可能回答:因为程小奔里有我们编写的程序。

3. 教师演示案例

教师讲述:你们想要自己编写程序并上传到程小奔吗?那么在尝试编程之前,

我们得先认识认识我们可爱又功能强大的程小奔。

程小奔是一个可编程教育机器人,我们可以通过软件和硬件的结合产生许多

新奇的玩法。不仅好玩有趣,程小奔还是我们学习编程的好帮手,通过它我们可

以掌握编程的基础知识与技能,锻炼逻辑思维和计算思维。程小奔支持 AI(人

工智能)和 IoT(物联网)等高科技功能,通过它可以开启人工智能及物联网的4

执行

上传

编写

想法

程序

机器人

动作

3

Page 5: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

神秘大门。

教师讲述:程小奔是由小程和小奔共同组合而成的,接下来我们就分别认识

一下他们。

1) 小程:具有丰富传感器和可编程模块的主控大脑,既可单独使用,又可

以加上小车底盘“小奔”实现更多功能。拿出你们桌上的小程,我们一起来看看

小程拥有哪些传感器。

功能 名称 应用案例、玩法

输入部分

红外线发射、接收

器 支持小程之间的通信、遥控控制

齿轮电位器 用于对输入信号的控制

小提示:

教师可通过展示上图向学生进行指认,并分别简单讲述一下传感器的应用案

例、可实现的玩法。

4

Page 6: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

输入部分

陀螺仪传感器 检测小程的运动状态和角度

功能按键 可编程实体物理按键,用按键来定义

程小奔的表情、动作和声音等指令。

光线传感器 感知环境中的音量

声音传感器 感知环境中的光线强弱

输出部分

扬声器 可输出声音,通过编程实现音乐播放

RGB 指示灯 可显示各种色彩的灯光

LED 点阵屏幕 可自定义表情、文字、时间

2) 小奔是小程的“座驾”,有了小奔之后,可以躲避障碍物,以及进行颜

色识别、地图巡线等多种功能。

功能 名称 应用案例、玩法

输入部分 颜色红外传感器

集成了颜色传感器、灰度传感器、IR

近距传感器等多种功能的传感器。

向上向下拨动该结构,可分别实现避

障、巡线等多种好玩且实用的黑科技。

电机 可实现小奔的运动控制

颜色红外传感器

小提示:

教师可通过展示上图向学生进行指认。并分别简单讲述一下传感器的应用案

例、可实现的玩法。

5

Page 7: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

4. 学生模仿或创作

认识完程小奔,我们尝试通过编程让程小奔动起来吧!

任务一:认识慧编程软件

慧编程是一款使用积木式编程和支持 Python 语言的编程软件。它是基于

MIT(美国麻省理工实验室)和 Google 共同合作的开源软件 Scratch 3.0 研

发而成。通过慧编程软件,不仅可以实现对程小奔等机器人的控制,还能让用户

在软件中创作有趣的故事、游戏、动画等,同时还可以让学生接触了解人工智能、

深度识别、训练模型的各个方面,初学者学习程序设计的一个最好的选择之一。

教师活动:要求学生打开电脑桌面上的慧编程软件,启动软件后,电脑桌面

停留在以下界面,并针对界面进行功能区介绍。

慧编程启动界面

1. 菜单栏:切换中英文界面、打开和保存文件、示例程序、帮助等功能都

可以在这里找到。

2. 舞台区:除了呈现作品之外,设备的连接与上传,添加角色与背景等功

能都在这个区域进行。

3. 积木区:提供编程所需的积木,可以按照分类及颜色查找需要的积木。

4. 脚本区:程序的编写区域,可以用将积木拖放到这个区域来编写程序。

6

Page 8: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

任务二:让程小奔动起来

在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1. 连接电脑:拿出程小奔,使用 USB 数据线将小程与电脑连接,然后打

开程小奔电源开关。

2. 连接串口:打开软件,点击连接选项,连接对应的串口。

点击连接选项

选择对应串口

3.按照下图的示例程序,找出相应的编程积木,并完成拼接。

7

Page 9: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

操作步骤:

步骤一:在“事件”中拖出“当小程启动”指令

步骤二:在“运动”中拖出“前进以动力(50)%,持续(1)秒”

步骤三:将“前进以动力(50)%,持续(1)秒”的持续()秒改为 5 秒。

4.将写好的程序上传至小程主控中。

8

Page 10: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

5. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上

述步骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点

和待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和

待改进的部分。 6.教师总结

教师总结程序的概念及认识慧编程的界面及操作界面。

点击“上传到设备”选项

5.拔除数据线,将程小奔放置桌面中间,按下 A 键,并观察程小奔。

以上任务可组织学生使用结对编程的方式进行合作。

结对编程

结对编程中,两个学生成一个小组,共同使用一套设备(比如电脑和

程小奔)完成一个项目。两个学生坐在一起,一个担任司机的角色,另

一个担任导航者的角色,就像开车一样。司机坐在电脑面前,握着鼠

标,敲着键盘,控制电脑屏幕上所有操作。而导航者坐在司机身边,给

司机提供建议或指出操作过程中存在的问题,并手拿程小奔进行程序测

试。两个人在合作的过程中需要注意的是:

尊重彼此,不说侮辱性的词汇;

导航者:不要做一个专横的导航者;不要去拿司机的鼠标和键盘;对

整个项目有宏观的设想;

彼此相互交流;

9

Page 11: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

程序:是一种可以让我们控制机器人,让机器人能够识别的计算机语言。我

们想要机器人执行的动作、功能等通过编写特定的程序即可实现控制。

教师向学生提问:慧编程的编程界面分为几个部分?分别是什么?

学生回答:舞台区、积木区、脚本区、设备、角色、背景设置区

7.学生反思

发放附件中的反思报告表,要求学生快速简洁地填写。

10

Page 12: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 2 课《按钮表情》教学设计

内容简介:

学会使用事件积木编写程序,并设计不同的按钮表情。

教学目标:

1理解事件的定义;

2.掌握事件积木的使用;

3.使用事件积木,设计自己独具创意的按钮表情。

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 认识程小奔;

2. 认识慧编程软件的基本操作界面;

3. 知道如何拖拽编程积木。

教学过程:

1. 旧知识回顾

回顾程小奔的认识,教师提问:

1)通过程小奔我们可以学会什么?

2)通过编程的学习,能让我们掌握哪些技术?。

学生可能回答:

1) 可以学会编程;

2)能掌握 AI(人工智能)、IOT(物联网)等技术。

2. 新知识讲解

教师讲解事件的概念以及事件的使用。

教师讲述事件是导致事情发生的动作。举例:当晚上天黑时,我们进入房间

时,按下电灯开关时,房间的灯就亮了。在这个开灯过程中,按下开关是一个事

件,灯亮就是事件产生的结果。

接下来我们玩一个小游戏来进一步了解什么是事件。

11

Page 13: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3. 游戏情境引入——听指令做动作

游戏介绍:

1. 教师需先将全体学生分为 3 或 4 个小组。2. 然后再在黑板上画出几个图形,比如:三角形、圆形、正方形、星形。

3. 再设置 3 或 4 个事件:

1) 当老师手放在三角形的位置时;

2) 当老师手放在圆形的位置时;

3)当老师手放在正方形的位置时;

4)当老师手放在星形的位置时。

四个事件将分别触发以下四个动作:

a. 当老师手放在三角形的位置时——第 2 组学生站

b. 当老师手放在圆形的位置时——第 4 组学生站立

c. 当老师手放在正方形的位置时——第 1 组学生站立

d. 当老师手放在星形的位置时——第 3 组学生站立

游戏步骤和教学准备:

1. 教师在黑板上画出上述几种图形。2. 将学生进行分组,并准备游戏。

3. 教师将手随机放在图形上方,观察学生是否准确站立。

4. 若准确站立,则继续随机放到下一个图形上方。若站立错误,则可以重复强调一次游戏规则。

5. 重复进行几次游戏,游戏中手切换图形的速度可以逐渐变快。

教师总结,事件就像刚才老师游戏中选择图形的手,当手放到了不同的形状时,分别使得不同组号的同学站立。

4. 教师演示案例

教师先操作一遍并进行解释,并让学生模仿一遍。

使用事件积木使得小程可以实现【开机微笑】。程序代码如下:

小贴士: 1)教师设置事件时,可随机安排对应学生的组号;2)具体事件可根据老师喜好设置,例如:手指向眼睛或鼻子、

拍掌 1 次或拍掌 2 次等等。

12

Page 14: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师向学生解释到:

黄色带帽积木【当小程启动】是事件:当小程启动时;

蓝色积木【显示图案】可选择或编辑 LED 点阵上显示的图案:小程微笑。

5. 学生模仿或创作

任务一:学会设置事件;按下按钮 A、B 和 C 分别配上不同的表情或图案。

两人一组,学生操作,教师辅助。

任务二:为按下按钮 A、B、C 三个事件分别配上不同的图案和声音,并进行项目分享。

教师可参考案例,按钮切换表情:

程序故事:

当按下按钮 A,播放声音“开关”,小程睁开眼睛;

当按下按钮 B,播放声音“开关”,小程微笑;

当按下按钮 C,播放声音“开关”,小程沮丧。

小贴士:

如果学生接受能力很强,可直接进入下一任务。

小贴士:

如果时间充裕,可允许学生对图案进行编辑,制作自己喜欢的表情或图片。

教师需根据课堂情况和学生特征,自行规定项目创作时间,推荐时间为10mins。

13

Page 15: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

以上任务可组织学生使用结对编程的方式进行合作。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

6.作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

7.教师总结

教师总结事件的概念。强调事件是一个程序最开始的部分。在编写程序时,

需要做的第一件事情就是选择合适的触发事件。

8.学生反思

发放附件中的反思报告表,要求学生快速简洁地填写。

14

Page 16: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 3 课《动画制作师》教学设计

内容简介:

理解序列的概念,并使用编程完成动画制作。

教学目标:

1.理解序列的概念;

2.制定一套步骤,完成一个动画;

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

4. 根据上课人数或者小组人数准备一定数量的 A4 白纸及铅笔。预备知识:

1. 知道基本的编程概念;

2. 掌握慧编程的基本操作方式。

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)什么是事件?

2)生活中有哪些事件?

3)上节课使用到了哪些事件?

学生可能回答:

1)事件是导致某些事情发生的动作;

2)当按下电灯开关时,灯亮了。按下开关是一个事件,灯亮是事件产生的

结果。

3)上节课用到的事件有:当程序启动和当按下按钮 A、B 和 C。

2. 新知识讲解——序列

1) 教师提问:你们知道如何将西瓜放入冰箱里面吗?

2) 学生可能回答:打开冰箱,放入冰箱;或者更多答案。

15

Page 17: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师解释:如果我们想把西瓜放入冰箱,把西瓜放入冰箱里,需要:

打开冰箱门,放入西瓜,然后关上冰箱。如果不按照这个步骤执行,则无法将

西瓜放入冰箱。

教师提问:生活中还有哪些事情也需要遵循一套步骤才能顺利完成?

学生头脑风暴,教师可提醒,喝水:先打开瓶盖,然后倒入口中,然后关上瓶盖。如果不按照这个顺序进行,则无法喝到水。

接下来我们会玩一个游戏来体验一下什么叫序列。

3. 游戏情境引入——我是机器人

游戏介绍:

我是机器人游戏,教师充当机器人角色,需要从教室的某个位置走到黑板处,

然后画出笑脸。邀请学生给机器人(教师)根据上述的机器人动作任务按照实际

需要的行动路线下达行动指令(如前进、左转、后退等),并要求将指令写在纸

上。然后教师根据指令完成特定动作。

游戏步骤和教学准备:

1. 教师向学生详细介绍游戏内容,并组织学生准备进行游戏。2. 邀请学生下达行动指令,并书写在 A4 白纸上。要求学生书写的指令详

细且顺序准确(要求顺序至上而下)。

3. 教师至上而下阅读指令,并根据指令顺序执行动作。

小贴士: 所举案例必须按顺序才能完成,没有其他顺序的可能性。

4. 教师按照学生的指令完成动作后,让学生给出判断是否为正确的动作序列。

16

Page 18: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师总结:序列就像在刚才的游戏过程中的要求一样,需要一个机器可逐条

执行并完成任务的指令步骤,这样机器人才能正确的做出相应的动作。总而言

之,完成某个任务所遵循的一套步骤,称之为序列。

4. 教师演示案例

教师示范:

基于“显示图案( )持续( )秒”积木中的基本图案,通过复制,简单修

改 细节,按一定顺序从上到下排列,形成动画。

参考案例:眨眼睛

小贴士:

1. 当学生用从左到右的方式书写指令时,还是严格遵守从上到下的方式读取指令,此时,也许只能读取最左边的指令;

2. 如果学生的指令不明确,请继续按照指令作出动作,例如:如果指

令为向左转,前进 4 米,那么机器人的执行方式为:在极短的时间内

左转然后直走。这个是计算机软件中指令的执行方式,如果没有规定时

间和角度,电脑会在极短的速度内读取向左转的指令,然后进入前进指

令;

3. 如果想要进一步精确指令,可提醒学生,机器人的双手是垂直放下

的,因此在描述某些指令,如拿起笔时,需明确规定哪只手、拿笔的动

作如何、在黑板的那个位置画笑脸等等;

4. 同样地,如果受时间和年龄的限制,教师可简化指令,重在强调如

果想让机器人完成任务,需要制定详细的指令,并将指令按顺序排列。

17

Page 19: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

程序故事:

使用“显示图案( )持续( )秒”积木,第一个图案小程睁开眼睛;

复制上述“显示图案( )持续( )秒”积木,将一只眼睛的图案进行修改,

变成眨眼;

第三个“显示图案( )持续( )秒”积木,小程眨眼后眼睛睁开;

添加事件积木——“当按下按钮 A”;

上传程序到设备,当按下按钮 A,小程眨眼。

教师解释:

传统的动画制作过程是动画师基于一个基本的静止的画面,上面叠加新的画

纸,进行描线并细微地修改动作,不断重复同样的动作,最后制作出一帧一帧的

有着细微区别的画面。将这些画面快速翻动就能形成流畅动画,让人在视觉上感

觉事物是动起来的。所以,使用“显示图案( )持续( )秒”积木,就是利用

这个原理制作出动画效果来的。

5. 学生模仿或创作

教师要求学生完成以下任务。

任务一:学生模仿老师的案例完成小程眨眼动作。

两人一组,基于“显示图案( )持续( )秒”积木中的基本图案,通过复

制,简单修改图案,按照刚才老师的案例顺序从上到下排列,形成动画。

任务二:创作新动画。

此任务学生需分享作品。

两人一组,在以下表格上(教材中)用涂框的方式自行绘制一个基本图案;

再将此图案绘制在慧编程的“显示图案( )持续( )秒”积木上;利用复制积

木的方式,基于已有的图案进行细节的修改,形成一系列不断变化的按顺序排列

的积木序列。

18

Page 20: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

最后上传代码,观察动画效果并分享。

在学生进行自由创作之前,教师可展示以下两个案例:成长的大树和行走的

案例一:成长的大树

程序故事:将 LED 点阵竖立摆放,当按下按钮 B,一颗小树苗茁壮成长。

小提示:

1. 如果有学生提前完成,可尝试使用多个事件演示不同的动画。

2. 如果有学生提前完成,可尝试改变图案的持续时间。

3. 如果有学生在规定的时间没有完成项目,可要求他们分享编写程序

过程中的一件事 情,可以是开心的,也可以是遇到的挑战和问题。

4. 分享的方式可以是在教室前,也可以是依次向其他小组展示。5. 教师需根据课堂情况和学生特征,自行规定项目创作时间,推荐时间

为20min。

19

Page 21: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

案例二:行走的人

程序故事:当按下按钮 B,一个小人从 LED 点阵的一侧跑步到另一侧。

以上任务可组织学生使用结对编程的方式进行合作。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

6.作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。 7. 教师总结

教师总结序列的概念,即使在我们完成某个任务的过程中所遵循的一套步骤。

使用正确的序列能确保我们的程序按照预期的想法实现。否则程序出错或者无

法实现所需的想法。 21

20

Page 22: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 4 课《寻找虫子》教学设计

内容简介:

理解 Bug 的概念及学会查找并修改 Bug。

教学目标:

1.理解 Bug 的概念;

2.学会查找并修改 Bug。

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道基本的编程概念;

2. 掌握慧编程的基本操作方式。

3. 尝试过编写程序。

教学过程:

1. 旧知识回顾

回顾序列的知识,教师提问:

1)什么是序列?

2)生活中哪些事情是遵循序列的?

学生可能回答:

1)序列是完成某个任务的一套步骤。

2)例如,把西瓜放入冰箱、刷牙、洗头发等等。2. 新知识讲解

教师告知学生,今天学习的知识点是 Bug,什么是 Bug 呢?

教师向学生介绍,在我们编写程序时难免出现 Bug。Bug 的原意为“虫子”,

它是在程序设计中会导致程序不能正确运行的漏洞。就像语文老师在批改我们作

文时,时常会在我们的文章中圈出错别字。因为有这些错别字可能会导致我们的

文章不顺畅,不正确。Bug 就像作文中错别字一样。

你们知道吗?Bug 的源于一个真实的故事。接下来我们就一起来了解一下这

21

Page 23: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

个故事。

3. 故事情境引入——“Debug 之母”

为了让学生更好的 Bug 的概念,教师可以和学生讲述以下的故事。

描述故事:

计算机在发明的最初阶段,是一个非常大的机器,而不是我们现在用

的这种便携式的电脑。(图片来自维基百科)

图 1,二战期间用来破译德国密码的巨型电脑

在使用这种巨型计算机时期,有一次,电脑不能正常运作了,而整个程序设

计师团队都无法找到引起故障的原因。直到一位女程序员,葛丽丝·穆雷·霍普(英

语:Grace Murray Hopper),发现原来是一只飞蛾意外飞入了一台电脑内部而

引起故障。把这个飞蛾移除,错误便解除了。这个错误是第一个被发现的导致计

算机错误,以日记的方式被记录了下来(见下图)。而且,从那以后,人们逐渐开始

用‘Bug’ 来称呼计算机中的错误,而葛丽丝·霍普也被称为是“Debug 之

母”。(图片来自维基百科)

图 2,第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误

我们已经了解了什么 Bug,那么我们亲自做一回寻找虫子(Bug)的人吧。

4. 教师演示案例

22

Page 24: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师先向学生提供 3 个教学案例文件:

案例 1.车钥匙被偷了;案例 2.不会计时的炸弹;案例 3.蚯蚓与虫子

教师告知学生,在编写程序时,为了找出 bug,我们需要从上到下逐条阅读

代码,并从中发现 bug。

任务一:找出以下程序中的 bug,并修改。

1. 车钥匙被偷了

教师活动:向学生讲述车钥匙被偷了,无法启动,找找车钥匙吧(缺少事件)。

学生活动:观察程序,找出 Bug。

教师活动:向学生询问,你发现这个程序的 Bug 了吗?

学生活动:找到 Bug,缺少了事件积木,并添加事件积木。

2. 不会计时的炸弹

教师活动:向学生讲述,这是一个不会计时的炸弹,你们能找出它不会几时

的 Bug 吗?

学生活动:观察程序,找出 Bug。

教师活动:向学生询问,你发现这个程序的 Bug 了吗?

学生活动:找到 Bug,计时的积木块顺序错误,并调整错误的积木块顺序。

3. 蚯蚓与虫子

23

Page 25: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师活动:教师向学生讲述,小蚯蚓在爬行的过程中出现了一只大虫子,

删除这只大虫子,小蚯蚓才能够正常爬行(将虫子图案改为原本的蚯蚓爬行姿

势)。请找出Bug,并修 改 Bug。

学生活动:观察程序,找出 Bug。

教师活动:向学生询问,你发现这个程序的 Bug 了吗?

学生活动:找到 Bug,需将虫子的图形修改为爬行的蚯蚓。

以上任务可组织学生使用结对编程的方式进行合作。

24

Page 26: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

6.作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

7.教师总结

教师总结 Bug 的概念以及学会寻找 Bug。强调编写程序的过程中,出现 Bug

是很正常的事情,我们应该学会寻找程序中的 Bug 并修改。在我们使用的编程

软件慧编程中,程序是从上至下的逐条排列,如果发现程序没有按照预期的完成

动作,可以从上到下的逐条检查积木,找出 Bug。

25

Page 27: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 5 课《跳不起来的馒头》教学设计

内容简介:

使用计数次循环积木设计趣味动画。

教学目标:

1.理解循环的定义;

2.掌握计数次循环积木的使用;

3.使用计数次循环积木,设计自己独具创意的动画。

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 了解事件积木的使用和序列的概念;

2. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 旧知识回顾

回顾序列的知识,教师提问:

1)什么是序列?

2)生活中哪些事情是遵循序列的?。

学生可能回答:

1)序列是完成某个任务的一套步骤;

2)生活中,例如把西瓜放入冰箱、刷牙、洗头发等等都是遵循一系列步骤

的。

2. 新知识讲解

教师讲解计数次循环的概念以及计数次循环的使用。

1)教师告知今天学习的知识点是循环。

2)正好最近小熊猫为街道种环保树,就涉及到了循环的知识点,我们一起

来看看小熊猫是怎么种树的。

3)针对每一棵树,这位小园丁需要:挖个坑、放入树苗、埋上土、前进 5

26

Page 28: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

米,然后种下另一棵树。

4)如果街道长度是 20 米,种每棵树的步骤将重复 4 次。那哪些步骤将会被

重复的?重复了多少次?

5)在小熊猫种树的过程中,重复或循环是指小熊猫仿佛不断地执行某些动

作。而在电脑编程中,循环是指电脑反复不断地执行某段程序。而使用计数次循

环积木,可指定某些程序或指令的循环次数。

3. 游戏情境引入——节拍拍击

为了帮助学生更好的理解计数次循环,教师和学生一起完成以下节拍拍击

的游戏。

游戏步骤和教学准备:

1)A 代表左手拍打左大腿;B 代表右手拍打右大腿;C 代表两只手同时拍

打大腿。按照以下节拍进行拍击。

ABABABC ABABABC

如果要求学生快速完成拍击,可能会出现混乱的状态,此时,询问学生是否

可以简化节拍,提高效率。简化结果可如下:

ABABABC 重复两次

2)如果有更多的节拍呢?增加一个动作,D 为双手击掌:

ABABABC ABABABC ABCABC ABABABC

ABABABD ABABABD ABDABD ABABABD

ABABABC ABABABC ABCABC ABABABC

ABABABD ABABABD ABDABD ABABABD

教师要求学生完成以上节拍的拍击,并进行简化。节拍简化可能如下:

ABABABC 重复两次

ABC 重复两次

ABABABC 重复两次

ABABABD 重复两次

ABD 重复两次ABABABD

27

Page 29: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

使用重复语句,我们可以让节拍的书写更简洁,也能让节拍的拍打更有效率。

重复语句在编写程序时常常会被用到。它能够简化程序,让我们不需要重复拖入

相同的积木;它让程小奔以完全相同的顺序,重复循环一系列的动作。循环积木

每重复执行一次,我们则称为进行了一轮或一次迭代。

4. 教师演示案例

教师使用计数次积木制作一个简单趣味的动画——跳不起来的馒头。故事的

情节是:有一个倔强的小馒头,想要跳起来,但是试过好几次都没有办法。程序

代码如下:

教师一边演示案例,一边询问:程序使用的事件是什么?我们还可以使用其

他什么事件?小馒头尝试了多少次都没有完成跳跃?

5. 学生模仿或创作

教师要求学生使用计数次积木,完成一个动画。学生选择完成以下任务中

的一个:

1)模仿教师的案例进行简单修改,如更改事件、循环的次数或播放的声音;

2)选择软件中已有的 LED 图片库中的表情进行修改并制作动画;

任务扩展——如果时间充足或学生编程水平较高,教师可提供第三种任务:

3)设计一个具备故事情节的富有创意的趣味动画。

小贴士:

1)教师可将节拍写在黑板上,然后用笔做记号,帮助学生总结节拍规律时;

2)以上节拍可做参考。如果教师自己设计节拍,注意节拍不要过于复

杂,拍击的时间也不要过长,否则学生会没有耐心完成整个游戏。

教师总结:

28

Page 30: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

学生使用结对编程的方式进行合作。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

6. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

7. 教师总结

教师总结循环的概念,即机器反复不断地执行某段程序。告知学生,重复迭

代是编程中一个重要的部分,使用重复循环积木,可以让程序变得非常简洁,也

能创作许多生动有趣的作品。

29

Page 31: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 6 课《跳起来的馒头》教学设计

内容简介:

使用无限循环积木设计趣味动画。

教学目标:

1.掌握无限循环的概念;

2. 掌握无限循环积木的使用;

3.使用无限循环积木,设计自己独具创意的动画。

课堂准备:

1. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

2. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 了解循环的概念;

2. 了解计数次循环积木的使用;

3. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 旧知识回顾

回顾循环的知识,教师提问:

1)什么是循环?

2)什么是计数次循环?

3)生活中计数次循环的事情发生?

学生可能回答:

1)编程中,循环是指机器反复不断地执行某段程序;

2)计数次循环是指循环指定的次数;

3)生活中计数次循环的事情例如种树、每天刷牙的次数和每天来学校的次

数等。

2. 新知识讲解

1)教师告知有些事情的循环是有一定的次数的,而有些则是无限永久循环

的,例如日出日落;

30

Page 32: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

2)在编程中,使用无限循环积木可以使积木内的程序永久重复。

教师打开慧编程软件,拖出计数次和无限循环积木,询问学生“重复执行”

积木和“重复执行()次” 的区别。提醒学生,“重复执行”积木下方没有凸

出的可卡合其他积木的点。因为“重复执行”是永久循环,所以无法在后面卡合

其他的积木。

3. 学生练习

教师回顾上节课的动画:跳不起来的馒头,并描述:有一天,功夫不负有心

有人,这个倔强的小馒头终于学会了跳动,它可以永远重复不停地跳跃,去到它

想去的地方。要求学生使用无限循环积木,对上节课的程序——跳不起来的馒头

进行调整,改为跳起来的馒头。以下为参考程序。

4. 学生模仿或创作

学生使用结对编程的方式进行合作,完成挑战:

1)设计两个不同的动画,由不同的事件(按钮)触发,分别使用计数次循

环积木和无限循环积木;

2)两个动画可以具备故事情节,如跳不起来的馒头和跳起来的馒头;也可

以独立存在。

3)动画可结合声音和 RGB LED 灯表达情绪,如:

31

Page 33: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

5. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

6. 教师总结

教师总结无限循环的概念,即机器无限重复某段程序。教师询问我们生活中

有哪些事情是无限循环发生的?学生可能回答海水的潮起潮落和月亮的阴晴圆

缺。教师总结,使用无限循环积木,能够创作许多生动有趣的作品。

32

Page 34: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1. 掌握条件的概念;

2. 掌握条件积木的初步使用;

课堂准备:

1. 游戏环节需要的条件箱;

2. 白板和白板笔(或黑板和粉笔);

3. 电子版(或纸质版)挑战卡;

4. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

5. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 旧知识回顾

回顾循环的知识,教师提问:

1)什么是循环?

2)什么是计数次循环?

3)什么是无限循环?

4)什么时候循环积木是有用的?

学生可能回答:

1)编程中,循环是指机器反复不断地执行某段程序;

2)计数次循环是指循环指定的次数;

3)而无限循环是指永久重复;

4)当某段代码需要重复指定次数或永久重复时,重复积木是有用的。重复

积木可以让程序变得简洁有效。

2. 新知识讲解

第 7 课《程小奔赛车之旅 1》教学设计

内容简介:

参与游戏,理解条件的概念。使用条件积木对识别的颜色和前方的障碍物进

行检测,编写程序,完成挑战。

教学目标:

33

Page 35: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1)教师告知本节课要学习“条件”积木的使用。小熊猫上街买酱油,它打

开门,然后往外看了看,看看有没有下雨。 2)如果下雨,小熊猫就穿上雨衣出门买酱油;如果没下雨就直接出门。

3)那么这里面就涉及到了条件判断,小熊猫要判断外面是否下了雨,如果下雨,则要穿上雨衣,如果没有下雨,则直接出门。我们这节课要学的也是条件

判断。条件是指对不同的情况进行判断并作出决定。如果满足条件,就执行动作;

不满足则跳过或忽略不管。 4)编程时,我们使用条件积木进行条件判断。

5)首先,拖入条件积木。然后添加满足条件时执行的指令。条件积木外是

若条件不满足时,程序直接执行的指令。

3. 游戏情境引入——条件箱

为了加深学生对条件语句的理解和掌握,教师和学生一起完成一个游戏:条

件箱。

游戏介绍:

1) 条件箱里装满了条件以及满足条件时学生需要做出的相应动作。学生从

条件箱里随机抽取相应纸条,大声朗读纸条上的问题,并完成相应条件的判断和

执行。

2) 纸条上的条件由学生自己填写,而满足条件时执行的动作则由教师提前

完成。这样做的目的是为了避免学生写出难以执行的动作,例如走出教室离开学

校或从二楼跳向地面等。教师可以参考附件中的表格,自行修改动作或添加更多

动作。打印并沿虚线剪裁成纸条,将每个纸条折叠放入条件箱。

34

Page 36: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3) 提醒学生,为了让游戏顺利进行,必须写上能够马上做出判断的条件,

例如:如果你是长头发;如果你带着眼镜;如果你穿着黑色的衣服;如果你的名

字中含有‘A’这个字母;如果你的生日是六月;如果有人将手举起;如果有人

拍掌等。如果写出的条件难以立刻做出判断,纸条可作废,例如:如果明天下雨,

如果你的头发数目是奇数等。

4)学生可以站在讲台上抽取纸条,也可以坐在座位上传递纸条箱。

游戏步骤和教学准备:

1)抽取纸条,打开;

2)大声朗读纸条上的文字,对条件进行判断,如果条件满足则执行纸条上

的动作;如果不满足,则直接进入下一步;

3)将纸条重新折叠放回条件箱,回到座位上或者将条件箱传递给下一位。

4. 教师演示案例,学生练习

教师介绍,接下来,学生们要使用条件语句完成相应的挑战。

故事情节:程小奔参加了赛车比赛。比赛即将开始,如果看到绿色的旗帜程

小奔就向前极速奔驰。教师演示本节课第一个挑战。

挑战 1—绿旗挥动,出发

比赛即将开始,如果程小奔看到绿色的旗帜则向前极速奔驰。

当按下按钮 A,程小奔在起跑线做好准备(播放准备的声音)。

如果颜色传感器检测到颜色是绿色,程小奔以最快的速度前进。

条件判断结束后,RGB LED 亮起红色

挑战:设计程小奔全力奔跑时的表情和声音。

35

Page 37: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师按照挑战卡中的步骤演示以下程序的制作:

在示范程序的过程中,教师提醒学生:

1)条件语句中有一个六边形的凹槽,我们需要把判断的条件(“颜色是绿?”)

卡合在这个凹槽里;

2) 提醒学生,积木“RGB LED 亮起红色”需要放在条件语句外,可以帮助

判断程序是否执行结束。

学生练习,对以上任务进行扩展:

1) 设计程小奔全力奔跑时的表情和声音;

2)如果程小奔感应到红色则后退。

完成挑战后,学生将结果展示给老师和同学。

5. 学生挑战

在完成以上任务的前提下,教师按照挑战卡中的故事和步骤提示,简单讲解

第二个任务。

学生独立完成或结对完成新的挑战 2。

挑战 2—绕过障碍物

前方遇到障碍物,程小奔绕过障碍物然后继续前进。

将一个障碍物放在程小奔的面前

当按下按钮 A,如果检测到物体,程小奔向右转 90 度,前进,左转 90

度,然后以非常快的速度继续前进。

36

Page 38: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

如果没有侦测到有障碍物,程小奔保持最快的速度向前行驶。

挑战 1. 从障碍物的另一侧绕过,即先左转,后右转。

2. 添加程小奔遇到障碍物时的表情和声音

在学生完成任务的过程中,教师:

1)确保条件积木内使用的是具备时间限制的前进和旋转积木

而非

前者在持续时间结束后停止,执行下一个积木;而后者会与其他积木同时运

行,因此,在其他运动积木改变当前运动状态之前,当前运动状态会一直持续,

直到程小奔被关闭。

2)提醒学生,“前进以动力 100%”的积木在条件积木外。当程小奔左转后,

完成条件积木里的程序,直接运行前进积木。条件积木外的前行积木并没有持续

时间限制。

3)鼓励学生思考如果在所有程序的外面添加永久重复积木,将会发生什么?

建议程序:

37

Page 39: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

6. 教师总结

教师总结条件的概念,即对不同的情形进行判断并作出决定,满足条件则执

行动作,不满足则跳过或忽略。提醒学生,条件语句中有一个六边形的凹槽,我

们需要把判断的条件(如“颜色是绿?”,“检测到物体?”)卡合在这个凹槽里。

条件语句可以对不同的情形进行判断。

38

Page 40: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1.学会在程序中使用多个条件积木;

2.学会嵌套使用条件与计数次循环积木,简化程序;

3.学会使用比较操作符积木,根据数值比较结果进行条件判断。

课堂准备:

1.电子版(或纸质版)挑战卡;

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 了解条件积木的使用;

2. 了解计数次循环积木的使用;

3. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 旧知识回顾

回顾条件的知识,教师提问:

1)什么是条件?

2)生活中哪些事情是我们需要进行判断并作出决定的条件?

3)条件积木有什么特点?

4)上节课的挑战任务中我们主要用了什么样的条件判断?

学生可能回答:

1)对不同的情形进行判断并作出决定,满足条件则执行动作,不满足则跳

过或忽略;

2)下雨然后决定是否穿雨衣;

3)条件语句中有一个六边形的凹槽,我们需要把判断的条件积木卡在这个

凹槽里;

第 8 课《程小奔的赛车之旅 2》教学设计

内容简介:

使用多个条件积木或嵌套使用计数次循环与条件积木,结合运算符积木完成

两个任务卡的挑战。

教学目标:

39

Page 41: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

4)程小奔判断检测到的颜色是否为绿色(以及前方是否能够检测到物体)。

2. 任务挑战:程小奔的赛车之旅

上节课是利用条件积木帮助程小奔完成了第一阶段的赛车之旅,今天,比赛

还在继续, 首先,在比赛的过程中,程小奔不断进入维修站进行维修和加油。

而每一次进入维修站的方式也许都不同,有可能车头朝左、朝右或朝前:

教师提问及引导:1)三种停靠方式随机出现,如果程小奔加好油后想顺利

找到出口,它该如何做?2)我们如何以不变应万变,只编写一个程序就能够帮

助程小奔应对以上任何一种情况呢?教师提示,为大家提供了以下三种积木,每

种积木数量随意使用。

3)如何让程序变得更加简洁呢?教师可提示使用计数次循环积木。

学生可能回答:

1)第一种方式,车头朝左,程小奔向左转 90 度;第二种方式,车头朝右,

程小奔向右转 90 度;第三种方式,车头朝前,程小奔旋转 180 度或者朝左(右)

旋转 90 度两次;

2)学生思考,最后得出结论,使用三个条件判断,每个都是如果检测到前

方有物体就向右转 90 度直到结束;

3)程序“如果前方有物体就向右转 90 度”重复三次。

任务卡讲解:

40

Page 42: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师对挑战任务先进行简单地讲解,避免学生因为不喜欢看文字而忽略每个

步骤中的细节。学生也可以打开本节课的任务挑战,完成挑战。

挑战 1—维修站

在比赛的过程中,程小奔需要不断进入维修站进行维修和加油。它每一次

进入维修站的方式可能不同,你能编写一个程序,让它无论以什么样的方

式停靠,都能准确地离开维修站,进入赛道吗?

用书本或其他物品围绕程小奔,模拟程小奔停靠在维修站里。程小奔停靠

的位置会以图中三种方式随机出现。

编写程序,当按下按钮 A,如果程小奔侦测到前方有障碍物,会持续旋

转,直到找到出口。你将用到的条件积木可能不止 1 个。

出口前方是赛道。如果找到出口,程小奔前进离开维修站,然后左转,全

力向前奔跑。

挑战: 添加表情、声音和灯光

参考程序:

41

Page 43: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

拓展任务挑战:隧道

任务介绍:

程小奔已经顺利开出加油站进入赛道,然而,新的问题的出现了。前方有一

个隧道,程小奔需要打开车灯,降低速度小心行驶。程小奔的右下方有一个光线

传感器,当它感知到环境光强度小于某个数值时,就会打开白色的 RGB 指示灯,

然后降低行驶速度,小心行驶。

教师提问,这一次判断的条件是什么?学生回答,环境光的强度是否小于某

个数值。

教师讲解,前面的任务中所用的六边形积木可以直接判断,得出真假结果,

小贴士:

1) 请记住提醒学生,在测试程序是需要将小奔的颜色红外传感器拨至前方:

2)教师可根据学生实际完成情况,决定是否开展下面的拓展任务。

42

Page 44: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

例如有无障碍物和颜色是否为绿色。在这次的挑战中,将会使用比较操作符积木

进行数值判断,得出真假结果。例如,环境光强度 < 20,如果环境光强度小于

20,则整个比较运算积木的判断结果为真;否则,判断结果为假。

六边形意味着该积木返回的结果是非真即假的布尔值。布尔值由 1 和 0 构

成,或者说由真和假两个逻辑组成,如果条件满足,则返回真,如果条件不满足,

则返回假。因此,六边形积木也可以称之为布尔积木。

教师演示:

1)从运算模块拖出比较操作符积木;

2)将环境光强度积木拖向比较运算积木的左侧凹槽;

3)在比较运算积木右侧输入数值;

学生根据本课的第二个挑战卡完成挑战,并将结果展示给老师和同学。

拓展挑战 2—隧道

进入黑色隧道,程小奔打开灯,降低速度小心行驶。

将一个黑色的纸片贴在程小奔的光线传感器上

当按下按钮 A,程小奔以最快的速度向前行驶

如果小程侦测到环境光强度小于 20,那么程小奔打开白色 RGB 指示

灯,以较小的速度向前小心行驶。

43

Page 45: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

挑战:添加黑暗环境下的小程的声音和表情

完成挑战后,学生思考如何让程小奔对黑暗环境更敏感,在环境光强度稍低

时就及时打开 RGB LED 灯?(增大比较操作符右侧的数值,如当环境光强度大

于 40 时程小奔就打开 RGB LED 灯)

3. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

4. 教师总结

教师总结本节课知识点:计数次循环与条件积木的嵌套使用、比较操作符、

布尔值以及程小奔光线传感器的位置。

5. 学生反思

学生快速简洁地填写反思报告表。

44

Page 46: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 9 课 《音量柱》教学设计

内容简介:

嵌套使用无限循环积木与条件积木完成挑战。

教学目标:

1.学会嵌套使用无限循环积木与条件积木;

2.学会使用“如果…那么…否则…”条件积木;

课堂准备:

1.电子版(或纸质版)学生挑战卡;

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 了解条件积木的使用;

2. 了解无限循环积木的使用;

3. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 旧知识回顾

回顾上节课的知识:计数次循环与条件积木的嵌套使用、比较操作符、布尔

值以及程小奔光线传感器的位置。

教师提问:

1)常用的比较操作符积木有哪些;

2)什么是布尔值?为什么六边形积木又被称为是布尔积木?

3)程小奔的光线传感器的位置在哪里?

学生可能回答:

1)常用的比较操作符积木包括大于、小于和等于;

2)布尔值由 1 和 0 构成,或者说由真和假两个逻辑组成。在慧编程中,六

边形积木返回的结果是非真即假的布尔值。如果条件满足,则返回真,如果条件

不满足,则返回假,因此,六边形积木又被称之为布尔积木;

3)程小奔光线传感器的位置在小程右下角的黑点位置。

2. 任务挑战:音量柱

45

Page 47: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

上节课嵌套使用了计数次循环积木和条件积木,今天,我们将嵌套使用无限

循环积木和条件积木完成新的挑战,就是制作会根据声音大小变化产生波动的音

量柱。

程小奔获得了赛车比赛的胜利,周围响起了掌声,屏幕上的音量柱会根据掌

声响度的大小发生高低变化。

响度的大小分为三个区间,分别为:

1)响度大于 20;

2)响度小于 20 且大于 10;

3)掌声小于 10。

三个响度区间分别对应三种不同高度的 LED 点阵音量柱,响度越大,音量

柱的高度越高。值得注意的是:获取判断条件“小于 20 且大于 10”时需要使

用到“与”积木。

为了让程小奔随时感应到响度的变化,需要在程序的外面加上无限循环积木。

学生独立或结对完成下面的挑战。

挑战 1—音量柱

程小奔获得了比赛的胜利,周围响起了掌声,屏幕上的音量柱会根据掌声响

度的大小发生变化。

46

Page 48: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

当程小奔启动时,如果侦测到掌声的响度大于 20,LED 点阵上的音量柱达

到最高高度。

如果侦测到掌声的响度小于 20 且大于 10,音量柱高度下降。此时,将会

使用到“与”积木。

如果掌声的响度小于 10,音量柱的位置在最低处。

在所有程序外面加上永久重复积木,让程小奔时刻侦测周围声音的响度

挑战:不同的响度伴随不同的 RGB LED 灯光颜色

如果学生问到此处为何没有判断等于 20 和 10 的情况,教师可引导,如果

需要添加等于,则需要使用“非”积木,如小于等于 20,使用积木组合:

如果响度大于 10 且小于等于 20,则使用积木组合:

建议程序:

47

Page 49: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

学生完成挑战后,继续完成扩展任务:

1)不同的响度伴随不同的 RGB LED 灯光颜色;

2)将响度的大小区间进一步细分,让音乐柱对响度更加敏感。

学生将任务结果展示给老师和同学。

拓展任务挑战:跟随的小猫

若时间和学生能力充足,可选择性完成本节课的第二个挑战任务:一只会跟

随主人的小猫。教师可提前将挑战卡上的任务根据步骤进行简单讲解。

拓展任务—跟随的小猫

想象小程是一只乖巧的小猫,当你靠近时,它会跟随你;如果没有靠近,

它就会站在原地等你。

小奔前方的颜色红外传感器可以检测红外反射光的强度,物体距离程小奔

越近,反射光的强度将越大。

当程小奔启动时,屏幕显示红外反射光的强度。

48

Page 50: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

将“显示”积木放在永久重复积木中,实时侦测红外反射光强度。

在永久重复积木内,显示红外反射光强度后,进行判断,如果强度大于某

个数值(自定义),程小奔以最快的速度向前奔跑。否则,停留在原地。

需要使用到如果否则积木和运算符积木。

挑战:让程小奔在响度大于某个值时以最快的动力前进或左转。

在学生完成挑战的过程中,教师可能需要提示学生:

1)当使用 LED 点阵显示响度和环境光强度等参数变化时,应避免使用带有

持续时间的积木,如前进 1 秒、左转直到结束、播放声音直到结束等。带有持续

时间的积木会导致程小奔无法实时侦测参数的变化。

2)通过实时侦测和显示红外线反射光强度,可自行调整程小奔跟随的条件,

即红外反射光强度大于多少时程小奔前进。

3)确保所有的程序都包含在永久重复积木内;

4)拨动颜色红外传感器,让它面向前方,检测障碍物。

并引导学生思考:如果将颜色红外传感器面朝下,将会发生什么?

建议程序:

49

Page 51: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

4. 教师总结

教师总结本节课知识点:无限循环与条件积木的嵌套使用、“与”积木的使

用。无限循环与条件积木的嵌套使用可以让程小奔时刻处在侦测的状态下,对周

围环境进行感知。

5. 学生反思

学生快速简洁地填写反思报告表。

50

Page 52: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 10 课《早晨的函数》教学设计

内容简介:

使用函数积木块编写小程的开机程序。

教学目标:

1.理解函数的定义;

2.掌握函数积木(自定义积木块)的使用;

3.创建函数并调用,设计自己独具创意的小程开机动画。

课堂准备:

1.函数纸条(需打印,在附件)

2. 白板和白板笔(或黑板和粉笔);

3. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

4. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道如何将程序上传给小程;

2. 知道事件的积木和运用;

3. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 旧知识回顾

回顾条件的知识,教师提问:

1)什么是条件积木?

2)上节课中我们用条件积木对哪些条件进行了判断?

学生可能回答:

1)条件积木是对不同的情形进行判断并作出决定,满足条件则执行动作,

不满足则跳过或忽略。

2)上节课中我们用条件积木判断:

颜色传感器是否感应到绿色;

前方是否有障碍物;

环境光强度是否小于 20;

响度是否大于 20;

51

Page 53: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

红外反射光强度是否大于 10。

2. 新知识讲解

教师讲解函数的概念以及函数的使用。

1)教师告知今天学习的知识点是函数:

今天学习的新知识为函数。在生活中,做完一件事情可能需要很多步骤,比

如说洗发。洗发包括三个步骤:涂香波、搓揉起泡和热水冲洗。如果我们没有一

个“词——洗头发“来概况和包含着一连串的步骤的话,会发生什么事情呢?

可能会发生以下情况:

1)当小伙伴找你出去玩,你描述说:“我要涂香波、搓揉起泡、冲洗,等等

我”;

2)当妈妈叫你吃早饭,你说:“我在涂香波、搓揉起泡、冲洗,等一下”;

3)当你淋雨,你自言自语说:“我得回去涂香波、搓揉起泡、冲洗”。

但是在实际生活中,我们只会说“我去洗头发,等我一下”。我们会把“涂

香波、搓揉起泡、冲洗”,这一组动作命名为“洗头发”, 然后在需要的时候

直接使用这个词来指代整套动作。

所以情况是:

1)当小伙伴找你出去玩,你只会说“我要洗头发,等等我”;

2)当妈妈叫你吃早饭,你说“我在洗头发,等一下”;

3)当你淋雨,你对自己说“我得回去洗头发”。

用一个简单易懂的词来代表一组动作,这个过程——用一个词来指代一系列

的动作指令,我们称之为函数。洗头发就是一个函数,它指代了“涂香波、搓揉

起泡、冲洗”这一系列的动作。在编程中,可以使用函数命名一组指令,然后在需要时随时调用。在创建函数时,首先为函数取一个名字,然后在函数下添加指

令来定义函数的行为。

接下来我们会玩一些游戏来体验一下函数的用处和好处是什么。

小贴士:

函数名必须简单易懂,否则就会在调用过程中造成困扰。比如说,如果我们为

涂香波、搓揉起泡、冲洗三个行为定义一个函数,命名为“吃饭”,然后在当我们

在厕所涂香波、搓揉起泡、冲洗时,我们告诉我们的小伙伴“我在吃饭,等等我”。

显然,如果将函数命名为“吃饭”,就会引起误解。

52

Page 54: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3. 游戏情境引入——早晨的函数

游戏介绍:

早晨的函数,该游戏是将早晨起床到学校上学的一系列的动作用函数的形

式表达出来。比如说,早晨起床之后,要先刷牙—>洗脸—>穿衣服—>穿鞋子

—>吃早饭—>背书包—>出门—>到学校。这里面的每一个函数都包含着一系列

的动作,比如说函数-刷牙,包含了拿起牙刷,挤上牙膏,漱口,上下左右刷

牙,漱口等等一系列的动作指令。学生们,现在需要把一系列的动作命名,定

义其函数名。老师会在学生们定义好函数名后,开始调用函数,用已有的函数

来完成起床到上学的这一个过程。

游戏步骤和教学准备:

1)教师打印附件中的第一个表格,即早晨的函数,并将表格按虚线裁剪成

纸条,即函数条。

2)教师在白板上写上:事件——当闹钟响起;

3)学生抽取教师手中的函数条;

4)教师告知规则:每个人手中的函数条代表一组动作,请为这个动作起一

个函数名;之后教师会在事件“当闹钟响起”下调用这些函数;当你手中的函数

被调用时,请一边朗读函数下的步骤,一边表演相应的动作;

5)每个学生报出他们的函数名,教师将各个函数名写在黑板上;

6)当所有函数条被命名并且函数名被写在白板上,询问学生不同函数的调

用顺序(例如:起床到上学这一过程中,需要依次用到哪些函数?),教师按照

顺序将函数名写在事件“当闹钟响起”下;

7)如果发生有些函数并没有被调用,询问没有被调用的函数和多次被调用

的函数,查找原因,完善程序。(有可能是因为学生的函数名并不属于起床到上

学这一过程。)

下图是针对各组动作所建议的函数名:

函数名:赖床

用被子盖住脑袋

等待 5 秒

打开被子

伸出手

按下闹钟

函数名:看时间

拿起闹钟

看时间

放下闹钟

函数名:起床

指令:伸个懒腰

掀开被子

坐起

53

Page 55: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

函数名:穿拖鞋

左脚放入拖鞋

右脚放入拖鞋

站起

函数名:走路

左脚抬起

左脚向前伸展落地

右脚抬起

右脚向前伸展落地

函数:刷牙

拿起牙刷

挤上牙膏

漱口

上下左右刷牙

漱口

函数名:洗脸

打开水龙头

双手捧水

将手上的水拍向脸部

关上水龙头

用毛巾擦干脸

函数名:脱上衣

如果是 T 恤,将衣服从上

到下从头部脱出

如果是系扣衣服,解开扣子

左手从袖子脱出

右手从袖子脱出

函数名:脱裤子

拉下裤子

左腿从裤腿脱出

右腿从裤腿脱出

函数名:脱衣服

脱上衣

脱裤子

函数名:穿上衣

左手穿入袖子

右手穿入袖子

如果是 T 恤,头部套入衣

如果是系扣衣服,系上扣子

函数名:穿裤子

左腿穿入裤腿

右腿穿入裤腿

提上裤子

函数名:穿衣服

穿上裤子

穿上衣服

函数名:背书包

左手穿过背带

右手穿过背带

将书包背起

函数名:系鞋带

左手将鞋带打个圈

右手将鞋带打个圈

将两个圈系在一起

函数名:穿鞋子

左脚放入鞋子

右脚放入鞋子

左脚系上鞋带

右脚系上鞋带

重复

三次

54

Page 56: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师总结:

函数的使用包含三个部分:

1)创建函数并命名;

2)编写该函数的功能;

3)在程序中调用函数。

我们已经通过游戏更加了解了什么是函数,并且也学会是用函数来完成一系

列的动作,那我们先开始到编程的世界里面,真正的使用函数的积木块吧!

4. 教师演示案例

两人一组或个人完成挑战。

老师发布任务:“为自己的程小奔设计一个开机函数,每次开机就会自动执

行。”

小贴士:

1)脱衣服,穿衣服和穿鞋三个函数存在嵌套函数,玩游戏时,若觉

得难度过高,可不使用需要嵌套部分,即不使用穿上衣和穿裤子的函数

条,而只使用穿衣服函数条;若学生年龄可接受嵌套函数概念,可在游戏

中强调嵌套函数的概念,即一个函数调用另一个函数;

2)有时候,函数名也许并不那么准确,例如,有学生将动作“左脚

抬起、左脚向前伸展落地、右脚抬起、右脚向前伸展落地”命名为“体

操”。这样做的后果是,这个函数在程序中并没有被调用。此时,可以让

学生朗读并表演动作,然后在同伴的帮助下重新命名,并在程序中重新调

用。

3)有时候,函数名会很有趣。例如,有学生将动作“用被子盖住脑

袋、等待 5 秒、打开被子、伸出手、按下闹钟”取名为“不耐烦”,这

样的取名会让课堂变得生动有趣。请鼓励这样的行为,而不是把为函数取

名限制为“赖床”;

4)如果学生认为表演动作太麻烦,或者课堂时间不充分,可以将朗

读步骤并表演动作改为仅朗读动作。

55

Page 57: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师指导:打开 mblock5,在自定义模块中选择新建积木,并指导完成任

务。

挑战 1-开机函数

为程小奔设计一个开机函数

在功能栏中找到自定义块,点击并找到新建积木

点击新建积木,在打开的窗口中为新建的函数命名

此时,脚本区会出现函数的定义积木。

你希望程小奔每次启动时,运行什么样的程序?请在“定义开机”积木下

编写程小奔的开机程序。

当开机函数定义完成,可在事件“当小程启动”下直接调用积木区的“开

机”积木。

建议程序:

56

Page 58: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

5. 学生模仿或创作

教师要求学生使用函数积木,完成小程的开机动画。

学生可以:

1)模仿教师的案例进行简单修改,如更改开机动画或播放的声音;

2)选择软件中已有的 LED 图片库中的表情进行修改并制作动画;

3)设计一个具备故事情节的富有创意的趣味动画。

学生使用结对编程的方式进行合作。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

6. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

7. 教师总结

教师总结函数的概念,即自定义一个函数积木块,来指代一连串的指令。告

知学生,函数是编程中一个重要的部分,使用函数积木,可以让程序变得非常简

洁,也能创作许多生动有趣的作品。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁地填写。

57

Page 59: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 11 课《小小巡逻员 1》教学设计

内容简介:

使用函数积木块编写程小奔的游戏闯关程序,并且在闯关中运用数学计算知

识。

教学目标:

1.掌握函数积木(自定义模块)的使用;

2.创建函数并调用;

3.能够使用函数和相关的数学知识完成游戏挑战;

课堂准备:

1.游戏地图(学生两个一组,共用一份地图)

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

4. 直尺,本子和铅笔等等;

预备知识:

1. 知道如何将程序上传给小程;

2. 了解函数积木的概念和使用;

3. 知道如何寻找 Bug 并进行 Debug;

4. 知道路程,速度和时间的关系。

教学过程:

1. 旧知识回顾

回顾函数的知识,教师提问:

1)什么是函数?

2)上节课中我们用函数积木做了什么事情?

学生可能回答:

1)函数是一个自定义积木块,它可以指代一连串的指令,并且可以被重复

调用。

2)给一系列的动作命名其函数名,并且在游戏中调用该函数; 为小程设计

了开机动画。

2. 任务挑战:地图巡逻(简单)

58

Page 60: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师结合地图和任务卡讲解任务的规则,教师告知今天学习的内容是利用函

数积木来完成一些任务的挑战;

任务介绍:

大家想象程小奔是一个小保安,它每天都需要在大楼的走廊里不断巡视,

确保财物安全。一楼的路线图如下:

如果我们要编写程序,让我们的程小奔能够沿着路线图来进行巡逻,那我

们应该怎么去写我们的程序呢?而且要用到我们昨天刚刚学到的函数,那我们

开始这个挑战吧!

任务:第一层巡逻

教师对挑战任务先进行简单地讲解,避免学生因为不喜欢看文字而忽略每个

步骤中的细节。学生也可以打开本节课的任务挑战,完成挑战,并将结果展示给

老师和同学。

挑战-第一层巡逻

想象程小奔是一个小保安,它每天都需要在大楼的走廊里不断巡视,确保

财物安全。现在,它巡视的是一楼。

设计程序,让程小奔在桌面上能够大致沿着地图走一圈。

创建一个函数,并将其命名为正方形

在这个函数下,为了让程小奔走正方形,你可能需要使用以下积木

59

Page 61: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

计算出每个正方形需要行驶的时间,以及两个正方形之间的连线需要的

时间。

测量正方形边长的长度

测量两个正方形直接的连线长度

测量程小奔的每秒行驶路程(例如,当前进动力 50%,持续 1 秒行驶

的路程)

计算出程小奔走正方形需要的时间

计算出程小奔走连线需要的时间

在事件“当按下按钮A”下,调用两次函数“正方形”。

挑战:添加表情、声音和灯光

教师引导:

1)第一步,需要计算地图的长和宽,根据程小奔的每秒行驶速度和地图的

长度来计算出程小奔的前进时间。

该积木块有两个变量,一个是前进的动力,一个是持续的时间。一般情况下,

我们只要修改一个变量即可。例如,确定前进动力为 50%,不断的去调整持续的

时间;或者是确定持续的时间,不断的去调整前进的动力。

例如:地图中正方形的边长为 14cm,程小奔在前进动力 50%的情况下,持

续 1 秒的形式路程为 7cm, 那么要走一条边长的时间则是 2 秒(14÷7=2),以

此类推,计算出所有的时间,并且不断的调试。

正方形的边长为 14cm

如果动力为 50%,则走一个边长需要 2 秒。 14cm

60

Page 62: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

并且走完一条边长后,需要转弯 90 度,走另外

一条边长,重复 4 次

2)因为程小奔的电机是直流电机,没有办法转精准的角度和走准确的直线,

所以只要程序正确,学生的程小奔能够大致的沿着路线图来巡逻,不需要一定要

沿黑线行驶;

3)程小奔前进右转重复四次后,会回到出发的位置和方向;

4)因为有两个正方形,因此在程序中需要调用正方形函数至少两次。

建议程序:

3. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

4. 教师总结

教师总结函数的概念,即自定义一个函数积木块,来指代一连串的指令。告

知学生,函数是编程中一个重要的部分,使用函数积木,可以让程序变得非常简

洁,也能创作许多生动有趣的作品。并且在编程中,我们很有可能要用到数学知

识,我们则需要运算。

61

Page 63: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

5. 学生反思

发放附件中的反思报告表,要求学生快速简洁地填写。

62

Page 64: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1.掌握函数积木(自定义模块)的使用;

2.创建函数并调用;

3.能够使用函数和相关的数学知识完成游戏挑战;

课堂准备:

1.游戏地图(学生两个一组,共用一份地图)

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

4. 直尺,本子和铅笔等等;

预备知识:

1. 知道如何将程序上传给小程;

2. 了解函数积木的概念和使用;

3. 知道如何寻找 Bug 并进行 Debug;

4. 知道路程,速度和时间的关系。

教学过程:

1. 旧知识回顾

回顾序列的知识,教师提问:

1)什么是函数?

2)上节课中我们用函数积木做了什么事情?

学生可能回答:

1)函数是一个自定义积木块,它可以指代一连串的指令,并且可以被重复

调用。

2)用函数积木进行游戏闯关;要计算出小奔的运行时间,不断的调试程序

等等。

2. 任务挑战:地图巡逻(复杂)

第 12 课《小小巡逻员 2》教学设计

内容简介:

在上一节课的基础上,将地图变得更为复杂,让学生开始尝试较为复杂的函

数程序编写和数学计算知识的运用。

教学目标:

63

Page 65: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师结合地图讲解任务的规则。

1)教师告知今天学习的内容是利用函数积木来完成更难的任务挑战:

任务介绍:

在上一节课中,我们已经让程小奔对一楼进行巡逻,那么现在难度升级

了,程小奔要去二楼巡逻,以此确保二楼的财物安全。二楼的路线图如下:

如果我们要编写程序,让我们的程小奔能够沿着路线图来进行巡逻,那我

们应该怎么去写我们的程序呢?而且要用到我们昨天刚刚学到的函数,那我们

开始这个挑战吧!

任务:第二层巡逻

教师对挑战任务先进行简单地讲解,避免学生因为不喜欢看文字而忽略每个

步骤中的细节。学生也可以打开本节课的任务挑战,完成挑战,并将结果展示给

老师和同学。

挑战-第二层巡逻

程小奔来到了二楼,这里的房间更多,走廊也更加复杂。

设计程序,让程小奔在桌面上或地上走出途中黑线方框的路径。

64

Page 66: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

你可能需要创建两个函数,分别为“下正方”和“上正方”

计算出每个正方形需要行驶的时间,以及两个正方形之间的连线需要的

时间。

测量正方形边长的长度

测量两个正方形直接的连线长度

测量程小奔的每秒行驶路程(例如,当前进动力 50%,持续 1 秒行驶

的路程)

计算出程小奔走正方形需要的时间

计算出程小奔走连线需要的时间

在事件“当按下按钮A”下,调用两个函数,可使用重复积木让程序变得

更简单。

挑战:添加表情、声音和灯光

教师引导:

1)向学生强调需要创建两个函数,如“下正方”和“上正方”;

2)学生需要计算地图的长和宽,根据程小奔的每秒行驶速度和地图的长度

来计算出程小奔的前进时间。

3)因为小奔的电机是直流电机,没有办法转精准的角度和走准确的直线,

所以只要程序正确,学生的程小奔能够大致的沿着路线图来巡逻,不需要一定要

沿黑线行驶;

4)学生可能会使用多种方法走出上述图形,学生可先按照自己的想法编写

程序;随后教师可通过伪代码鼓励学生按照下述建议程序完成挑战,即:

下正方:

前进 1 秒

上正方:

前进 1 秒

左转 90 度 右转90度 重复 4 次 重复 4 次

65

Page 67: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

当按下按钮 A:

下正方

前进 1 秒

上正方

前进 1 秒

建议程序:

3. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

4. 教师总结

教师总结函数的概念,即自定义一个函数积木块,来指代一连串的指令。告

知学生,函数是编程中一个重要的部分,使用函数积木,可以让程序变得非常简

洁,也能创作许多生动有趣的作品。

5. 学生反思

重复 2 次

66

Page 68: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

发放附件中的反思报告表,要求学生快速简洁地填写。

67

Page 69: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 13 课《小松鼠的松果箱》教学设计

内容简介:

使用变量对程小奔进行控制。

教学目标:

1.理解变量的概念;

2.创建变量并调用,进行创作;

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道如何将程序上传给小程;

2. 了解事件积木的使用和函数的概念;

3. 知道如何寻找 Bug 并进行 Debug。

教学过程:

1. 知识回顾

回顾函数的知识,教师提问:

1)之前的课程是如何使用函数的?

2)函数与循环的区别是什么?。

学生可能回答:

1)走正方形;

2)循环是在同一个位置重复一段代码,而函数是可以在程序的不同位置被

多次调用。

2. 新知识讲解

教师讲解计变量的概念以及变量的使用。

1)教师告知今天学习的知识点是变量:

变量是一个储存可更改信息的容器。

一个变量可以想象成一个盒子,你能在里面存放一个值并随时替换。如同计

分板是记录比赛得分的容器。随着比赛的进行,你可以随时更换计分板上的分数。

68

Page 70: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

专业地讲,它是被命名的计算机内存区域。当创建一个变量时,计算机会开辟一

块内存区域存储它,并给这块内存区域一个变量名。通过使用变量名,程序可随

时读取和修改内存区域里的数据。

简洁贴切的变量名有利于变量的使用。例如,将计分板命名为“红队”,那

么变量“红队”代表的是红队比赛得分。当红队投入一个三分球,相应的,计分

板上的数字发生改变,新的值替代旧的值。

变量有三个重要用法:第一是赋值,你可以将一个数值赋予给变量。例如,

创建变量 “红队”用以存储红队比赛得分,首先将变量的初始值设置为 0;第

二是信息修改,你可以对变量进行加减乘除,修改原本存储在变量中的值,然后

在程序中调用运算的结果。例如,如果红队投篮成功,则将“红队”的值增加 2;

第三是进行数值比较,你可以读取当前变量的数值,通过比较操作符进行条件判

断,例如,如果红队得分大于蓝队得分,红队取胜。

生活中常遇到的变量,比如游戏中角色的生命值。随着游戏的进行,角色的

生命值会不断地发生变化。钱包里的钱币金额和糖果罐里的糖果数量。钱币的金

额和糖果的数量会不断变化,我们可以读取、增加或减少钱币的金额和糖果的数

量。还可以进行比较,当钱包里的金额多于某个物品的价格时,购买该物品。当

糖果罐里的糖果数量大于某个值时,将糖果分享给其他小朋友。

3. 游戏情境引入——小松鼠的坚果箱

为了帮助学生更好的理解变量的概念,教师和学生一起完成小松鼠的坚果

箱的游戏。

游戏介绍:

小松鼠有个坚果箱,它每天都会在箱子里不断地放入和拿取坚果。因此,坚

果的数量会不断地发生改变。新的一天开始了,早上起床,小松鼠打开坚果箱,

现在还剩下 10 个坚果。因为不同情况发生,坚果数量会不断的改变。

比如,小松鼠肚子饿了,吃掉了 2 个坚果,那么坚果箱还剩下 8 个坚果,然

后,小松鼠又摘到了 5 个坚果,那么坚果箱有 13 个坚果。接下来,我们会一起

来玩一个游戏,来看看坚果箱里面到底还剩下几个坚果。

游戏步骤和教学准备:

1)教师在黑板上写出数字 10,并告诉学生,目前还剩下 10 个坚果。

2)教师准备纸条,上面写有各种坚果数量发生变化的情形(如以下表格所

示)。

69

Page 71: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3)学生抽取纸条(若学生人数较多,部分学生上台抽取纸条;如学生人数

较少,每个人都参与抽取纸条)。

4)学生朗读纸条上的内容,根据纸条上设定的情形,计算当前的坚果数量,

然后在黑板上写出最新的剩余坚果数量。

早上小松鼠吃掉 2 个坚果作为早餐

如果今天的最高气温高于 5 度,小松鼠出门摘取 10 个坚果

中午午饭,小松鼠吃掉 3 个坚果

下午小鸟来做客,送给小松鼠 5 个坚果

小猴子今天生日,小松鼠了 3 个坚果作为礼物

晚上小老鼠偷走了小松鼠的 4 个坚果

小松鼠与伙伴玩了三把猜拳,每输一把则损失一个坚果,每赢一把则获得一

个坚果,如果打平,则不损失也不获取。

晚上,小松鼠为了减肥,只吃了 1 个坚果

天气热了,小松鼠用 7 个坚果从熊大妈那买了一个遮阳草帽

如果此刻坚果箱里坚果数量小于 5,小松鼠重新出门,摘取 10 个坚果

如果此刻坚果箱里的坚果大于 12,小松鼠开心的在原地转圈

教师总结:

教师询问以下问题:

1)游戏中的变量是什么?如果为它命名,你将会取什么样的变量名?

2)变量的初始值是什么?

3)在游戏的过程中,变量分别进行了哪些运算?

4)在游戏的过程中,变量分别进行了哪些比较?

建议答案:

1)游戏中的变量是坚果,因为坚果的数量一直在随着游戏发生变化;变量

名,学生自由回答;教师:坚果数量或坚果。

小贴士:

有的时候,因为抽取变量条的顺序不同,计算的结果可能为负值。如果学生已

经学过负数,可以暂用负数代替;如果没有,老师可以自行修改变量条里的条件,

给小松鼠创造更多获得坚果的机会。

70

Page 72: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

2)变量的初始值是 10。因为小松鼠一开始发现它的坚果箱里只有 10 个坚

果。

3)主要进行了加减运算。

4)对坚果当前的数量与要求的数量进行了比较,如当前坚果数量是否小于

5 个,是否大于 12 个。(提示:可能游戏下来,学生并没有抽到这类纸条,可以

单独拿出来讲解)

变量的概念

一个变量可以想象成一个盒子,你能在里面存放一个值并随时替换。当你在

程序中要使用变量,盒子就会打开并把里面的值拿出来,让你能够根据变量值进

行运算和比较,然后用新的数值替代原有的值。

4. 教师演示案例

教师指导学生建立、设置和使用变量。并且讲解和发布任务,让学生根据任

务卡,去完成任务,进一步加强学习。

教师指导:向学生展示以下程序的编写过程:

讲解知识点:

1)新建变量的过程:打开 mblock5,在“数据”模块中选择“新建变

量”,为变量取名:

2)设置变量值:

3)使用变量:

在学习完基本操作后,我们开始通过一个任务挑战来进一步的学习,老师

讲解任务,并且让学生开始接受任务挑战。

任务讲解:变量值设定

71

Page 73: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

两个一组或个人完成任务挑战。

挑战-变量值设定

程小奔站在舞台上向观众打招呼

程小奔先左转 70 度,看向左边,然后旋转 140 度,看向右边,最后左转 70

度,回到原来的方向。为了让程小奔旋转特定的角度,创建一个名为“角

度”的变量。

将这个变量的值先设定为 70。

程小奔根据设定的角度左转。

将“角度”这个变量设定新的值,然后程小奔根据新的角度先右转 140 度

然后左转 70 度。

为每次的旋转设定打招呼的表情、声音和灯光

游戏建议:

1)当新建一个变量时,工具栏会出现新的积木:

变量使用积木:

变量值设定积木:

变量值增减积木:

(负值为减)

2)为变量取一个恰当的名字便于理解和使用;

3)程序中,变量被三次设定和使用。

建议程序:

72

Page 74: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

讨论:

如果想要设定程小奔前进的速度并让其根据设定的速度前进 1 秒,应该如何

增加并使用第二个变量?

6.学生模仿或创作

教师要求学生使用变量模块实现程小奔的控制。学生选择完成以下任务中的

一个:

1)模仿教师的案例进行简单修改,如更改变量的数值和角色的表情;

2)利用事件,结合变量设计程小奔不同的运动状态;

3)设计一个具备三个变量的程序,结合前面所学的积木模块进行程序设

计。学生使用结对编程的方式进行合作。

教师告知学生,作品设计之后会进行小组展示。展示过程需回答以下问题:

1)你们完成了一个什么样的项目?

2)你们在完成任务的过程中遇到了什么困难?最后是如何解决的?

7. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

73

Page 75: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

8. 教师总结

教师总结变量的概念,变量是一个储存可更改信息的容器。告知学生,变量

有三个功能,赋值、信息修改和比较。

74

Page 76: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 14 课《加减乘除》教学设计

内容简介:

使用变量进行比较运算实现程小奔的数字运算

教学目标:

1.理解变量的概念;

2.变量的赋值运算;

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道如何将程序上传给小程;

2. 了解循环积木的使用和函数的概念;

3. 知道如何创建与使用变量;

教学过程:

1. 知识回顾

回顾变量的知识,教师提问:

1) 什么是变量?2)变量的三个用法是什么?

学生可能回答:

1)变量是一个储存可更改信息的容器;

2)赋值、信息修改和比较。

2. 任务挑战:加减乘除运算

这次环节,我们总共有两个任务挑战。任务挑战一是关于加减运算,任务

挑战二是关于乘除运算。

任务介绍:

在数学课的学习上我们经常要进行加减乘除的运算,通过设定条件,可以使

变量的数值进行增加或减少。就像在考试,满分 100 分,答对一题,我们的分数

就会增加,而答错了,我们的总分就会减少。

75

Page 77: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

同样在变量的使用上,可以存储算数表达式的结果,因此我们可以对变量内

的数值进行数学运算,而不仅仅只是简单的赋值运算。比如我们可以利用将数字运

算符号嵌套入我们变量的积木指令模块内,比如我们可以实现数字的倍数增长,

如 1X2=2,2X2=4,4X2=8……。我们可以通过变量加入计算公式来简化我们计

算的过程。尝试利用程小奔来进行数学运算。

任务一:加减运算

教师对挑战任务先进行简单地讲解,避免学生因为不喜欢看文字而忽略每个

步骤中的细节。学生也可以打开本节课的任务挑战,完成挑战。

1. 挑战 1-加减运算

程小奔学习算数,懂得了基本的加 1 和减 1 的算数

程小奔首先从 0 开始计算,因此,当程小奔启动时,“数字”的值被设置为

0。

当按下按钮 A,数字加 1。

当按下按钮 B,数字减 1。当增加值为负数是代表减号。

想要每次的运算结果都能够在 LED 点阵上显示,可以在每个事件下均使用

“显示()直到结束”积木显示变量当前数值。

提示:

1)变量值增减积木中,负值代表减法

2)参数凹槽共有三种形状:六边形、矩形和圆角矩形。变量只能被拖入到

圆角矩形的凹槽里;

建议程序:

76

Page 78: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

任务二:乘除运算

在完成第一个任务的基础上,教师对新的挑战任务先进行简单地讲解,避

免学生因为不喜欢看文字而忽略每个步骤中的细节。学生也可以打开本节课

的任务挑战,完成挑战。

挑战 2-乘除运算

除了加减运算,程小奔也学习了乘除

为变量设置一个初始的值。

当按下按钮 A,数字乘以 2。将数字乘以 2 需要使用乘法运算符,然后将

运算的结果赋予变量。

当按下按钮 B,数字除以 2。

将每次的运算结果都显示在 LED 点阵上。但是,值得注意的是,点阵屏

上能够显示的数值范围为-999~9999.

挑战:更换新的初始值和因数(即 2),观察计算的结果。

提示:

1)变量的乘除运算需要使用运算符,然后将运算的结果重新赋值给变量。

这样的话,新的值替换原有的值,变量数值发生改变。

2)确保你在三个事件(当小程启动、当按下按钮 A 和当按下按钮 B)下使

77

Page 79: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

用的是同一个变量。

建议程序:

讨论:

观察点阵上的数值,可以发现,当某次运算的结果出现小数,之后的运算结

果都会以小数的方式呈现。

3. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

4. 教师总结

教师总结,利用变量我们可以在变量当中存储算数表达式的结果,并且在算

数表达式内,我们可以重复调用当前变量的数值。

5. 学生反思

发放附件中的反思报告表,要求学生快速简洁地填写。

78

Page 80: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 15 课《炸弹》教学设计

内容简介:

使用变量进行比较运算实现程小奔功能变化。

教学目标:

1.理解变量的概念;

2.变量数值的增加与减少;

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道如何将程序上传给小程;

2. 了解条件和循环积木的使用;

3. 知道如何创建与使用变量;

教学过程:

1. 知识回顾

回顾变量的知识,教师提问:1)变量的赋值运算是如何实现的?学生可能回答:1)通

过结合数据运算相关的积木指令块可以让变量存储算数表达式的结果。

2. 任务挑战:紧急情况——爆炸

教师讲解计变量的概念以及变量的使用。这个环节,我们总共有两个任务挑

战。任务挑战一是关于加减运算,任务挑战二是关于乘除运算。

任务介绍:

在上节课的学习当中,我们使用了小程上面的按键来实现的变量的赋值运算,那么在本

节课内容的学习上,我们将尝试利用程序的循环功能来实现变量数值的变化。那么如何利用

循环来实现的数值变化呢?比如,在生活中我们最常见的计时器,每隔一秒,计时器上的数

字就会增加 1,随着时间的推移,计时器的数值会渐渐变大。如果我们将计时器上的数字看

作是一个变量,那么时间每过一秒,即每过一秒循环一次,变量的数值就会增加 1,同理,

我们也可以实现倒计时的功能。那么我们尝试利用倒计时的功能来做一个倒计时炸弹。

任务一:倒计时炸弹

教师对挑战任务先进行简单地讲解,避免学生因为不喜欢看文字而忽略每个步骤中的细

节。学生也可以打开本节课的任务挑战,完成挑战。

挑战 1-倒计时炸弹

游戏规则:小程倒计时。期间,拿到小程的人要说一个动物的名字,如果炸弹爆炸,

79

Page 81: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

游戏结束

当程小奔启动时,“时间”变量的初始值被设为 30。

当按下按钮 A,“时间”开始倒计时。等待 1 秒后“时间”变量减 1。

同样的步骤重复 30 次。

为了增加紧迫感,可以倒计时的过程中增加声音,并显示当前剩余时间。

倒计时期间,拿到小程的人说一个动物的名字,然后将小程传递给下一个人。动物名

不能重复。

计时结束,即“时间”值为零后,炸弹爆炸。LED 点阵上显示炸弹,小程发出爆炸的

声音,RGB LED 亮起红色。

挑战:更改时间的初始值,增加或减少游戏的时间。

建议程序:

任务二:爆炸的数字

在完成第一个任务的基础上,教师对新的挑战任务先进行简单地讲解,避免学生因为不

喜欢看文字而忽略每个步骤中的细节。学生也可以打开本节课的任务挑战,完成挑战。

80

Page 82: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

挑战 2-爆炸的数字

游戏规则:按下按钮,小程随机产生一个数字。两人石头剪刀布,输的人按下按钮,

让屏幕上的数字减 1。当屏幕上的数字等于随机产生的数值,炸弹爆炸。

游戏需要创建两个变量:炸弹和数字。变量“炸弹”代表随机产生的会爆炸的数字。

变量“数字”代表从 0 开始,随着游戏的进行不断增加的数。当两个变量相同时,炸

弹爆炸。

当程小奔启动时,两个变量的初始值皆为 0。

当按下按钮 A,“炸弹”的数值被设定为 1-20 间的一个随机数。

同时,小程带上墨镜,播放声音“准备”。

两人玩石头剪刀布,输的人按下按钮 B。当按钮被按下,变量“数字”增加 1。新的

数值显示在 LED 点阵上。

如果变量“数字”的值等于“炸弹”的值,屏幕上出现炸弹,并播放声音。你可能需

要使用到比较操作符积木和条件积木,判断两个变量是否相等。

挑战:更改“炸弹”的随机范围。

建议程序:

3. 作品展示

81

Page 83: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步骤中教师提

出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和待改进的部

分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进的部分。

4. 教师总结

教师总结,变量与变量之间的数值比较,可以作为条件语句中,条件语句内程序是否执

行的条件。并且通过循环,结合变量的积木指令模块,可以实现变量的数值变化。

5. 学生反思

发放附件中的反思报告表,要求学生快速简洁地填写。

82

Page 84: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 16 课《剪刀石头布》教学设计

内容简介:

使用变量进行比较运算实现程小奔的数字运算

教学目标:

1.理解变量的概念;

2.变量的比较;

课堂准备:

1.白板和白板笔(或黑板和粉笔);

2. 学生每人一个或两到三人一个小程和蓝牙适配器(或配套数据线);

3. 学生每人一台或两到三人一台装有慧编程的电脑。

预备知识:

1. 知道如何将程序上传给小程;

2. 了解循环积木的使用和函数的概念;

3. 知道如何创建与使用变量;

教学过程:

1. 知识回顾

回顾变量的知识,教师提问:

1)通过条件和循环语句可以实现变量的什么功能?

学生可能回答:

1)通过条件和循环语句可以实现变量的增加与减少;

2. 任务挑战:石头剪刀布

任务介绍:

在我们生活中常玩的小游戏-石头剪刀布。如同游戏名字一样,它代表了三

种手势,规则也很简单,石头可以“锤”剪刀,所以石头胜,剪刀可以“剪”布,

所以剪刀胜,布可以“包住”石头,所以布胜。在知道游戏规则的条件下,能否

编写个程序跟程小奔玩石头剪刀布呢?

任务讲解:石头剪刀布

83

Page 85: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师对挑战任务先进行简单地讲解,避免学生因为不喜欢看文字而忽略每个

步骤中的细节。学生也可以打开本节课的任务挑战,完成挑战。

挑战-石头剪刀布

使用程小奔和小伙伴一起玩石头剪刀布的游戏

当程小奔启动时,所有变量的初始值被设置为 0。

程小奔的出拳是随机的。用数字 0、1、2 分别代表石头、剪刀和布。当小

程摇晃时,变量“出拳”将被设定为 0、1、2 中随机的一个数。

如果变量“出拳”的值为零,则在 LED 点阵上显示拳头的图案。

如果变量“出拳”的值为 1,则在 LED 点阵上显示剪刀的图案。

如果变量“出拳”的值为 2,则在 LED 点阵上显示布的图案。

如果小程赢了,按下按钮 A,变量“赢”增加 1。同时小程表情微笑,发出

笑声。

如果小程输了,按下按钮 B,变量“输”增加 1。同时小程表情难过,发出

难过的声音。

如果打成平手,按下按钮 C,变量“平手”增加 1。同时小程表情平静,发

出哼唱的声音。

有的时候,小程也会偷偷看一看自己胜率,即当环境光的强度小于 2 时,

LED 点阵上会以小数的方式显示小程的胜率。

提示:

1)在对程小奔进行编程时,最多能够使用六个事件;

2)小程的胜率需要多个运算符积木的叠加,教师可提前在黑板上指导学生

84

Page 86: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

完成。

建议程序:

讨论:

1)如何在 LED 点阵上用百分数显示小程的胜率?参考答案如下:

85

Page 87: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

2)如何用比例的方式显示小程赢了把数和总的把数?参考答案如下:

拓展任务:红外对战

教师可根据学生实际完成情况,决定是否开展此项任务。

挑战 2-红外对战

游戏规则:按下按钮,小程发射红外信号;另一台小程若接收到信号,生命

值减 1;若生命值为零,游戏结束。

小程的两个耳朵处设置有红外线发射和接收器,可支持小程之间的相互通

信。

在“红外通讯”模块选择积木“红外发送消息”。两个小程相互发送不同

的消息,就可以相互识别。例如,两个小程分别发送“红色”和“蓝色”消

息,作为游戏中的子弹。

当其中一方接收到另一方发送的信息,可理解为中弹,生命值减 1。此时需

要进行条件判断,判断是否接收到对方的消息(子弹)。如果中弹,小程发

出惊吓的声音,同时生命值减 1。

因此,当小程启动后,生命值首先设定为 10。

86

Page 88: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

随后,使用“重复执行”积木不断侦测是否接收到“敌方”的“子弹”。

若中弹,生命值减 1,受到惊吓;若生命值减少到 0,比赛结束,小程很伤

心。

当按下按钮 A,如果小程还有生命(即生命值大于零),就可以发射红外

消息,伴随激光的声音。

挑战:如果是三人对战,应该如何修改程序?

提示:

1. 在对程小奔进行编程时,最多能够使用六个事件。

建议程序:

讨论:

1)如果参加游戏的队伍有三个,将如何修改程序?

2)如何使用重复直到积木创作程序?

3. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生需回答上述步

骤中教师提出的问题。

作品展示后,教师邀请其他同学对作品进行简单的评价,包括作品的优点和

87

Page 89: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

待改进的部分。教师总结学生评价并加上自己的评价,包括作品的优点和待改进

的部分。

4. 教师总结

教师总结本节课的内容,在变量赋值的上,可以调用其它变量的数值来进行

公式运算并赋值。

5. 学生反思

学生快速简洁地填写反思报告表。

88

Page 90: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 17 课 《我的赛车跑道》教学设计

内容简介:

运用慧编程设计简单的动态游戏。

教学目标:

1. 知道如何用慧编程设计游戏舞台和角色;

2. 掌握动态效果的实现途径;

3. 设计简单的游戏。

课堂准备:

1. 白板和白板笔(或黑板和粉笔)

2. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

3. 学生每人一台或两人一台装有慧编程的电脑。

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)上节课我们都学习了哪些内容,做了什么游戏?

学生可能回答:

1)上节课我们学习了怎么用变量和条件完成“石头-剪刀-布”

的编程任务。

2. 新知识讲解(任务挑战)

今天我们要学习的是,如何利用慧编程设计游戏角色和舞台。

老师引导:“当我们接触到一个新游戏的时候,对游戏的第一感观

89

Page 91: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

是游戏美工,也就是游戏整体的外观设计,包括主要登场角色,衣

物搭配,色彩差距,整体风格以及背景的设计。当我们看到游戏人

物以及游戏背景时,我们都能得知这个游戏的类型以及大概玩法,

因为游戏角色以及背景的设计总是与游戏玩法息息相关的。游戏的

场景,角色和故事情节就大部分决定了怎么玩,和哪一类玩家人群

将会喜欢这款游戏。因此,游戏角色和游戏背景的设计在整个游戏

中占据不可替代的地位,游戏角色和背景的设定越精细,游戏的观

赏性和美感就越强,这时玩家就在玩游戏的时候会更加的快乐,更

愿意一直玩下去。

那么到底如何设计一个好的游戏角色和游戏背景呢?

1. 确定需求

1) 根据游戏主题,确定游戏的基本色调和游戏背景(暖色

调,冷色调等等;城市,乡村等等)

不同文化背景下的游戏角色设计是不同的,游戏中的角色有着

不同的身份、地位,他们的功能由所处在的时代背景定义,在游戏

中,可以根据任务的时代背景和民族区域性来提醒游戏盒角色的特

性。

2)根据游戏主题和游戏故事背景,确定角色的风格和种类(现

实、卡通、古代,未来等等)

可爱风格:卡通人物,色彩鲜艳、造型可爱,让游戏具有亲和

力,给人感觉轻松活泼。

写实风格:根据真实人物来改造的角色,角色的大小、比例和

90

Page 92: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

面部特征均和真实人物靠近

超感官风格:角色的大小、比例和造型夸张,非常见生物

几何风格:使用简单的几何图形拼接出的造型

3)根据游戏的角色关系,确定角色的动作、形态和配饰

2. 收集素材

1)设计源于生活,我们可以参考真实世界中的类似角色和背景

2)参考已有的游戏角色和背景

3)参考不同文化的设计

3. 元素的归纳

1)长直线,代表平静

2)椭圆,代表友善

3)尖锐的三角形,代表快捷,锋利或邪恶

4)大块头,力量

5)纤细,柔弱

······

让学生观察以下的角色设计

1.提问学生:“这些角色有什么共同的特点?”

2.提问学生:“不同的角色给你什么样的不同感受?”

3.提问学生:“从角色设计中,你可以对这些角色归类吗?可

爱的或邪恶的?”

91

Page 93: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

备注:涉及到版权问题,游戏角色的图片仅作参考,如有需要,请老师们自行下载。

如上诉图片使用涉及使用问题,会立刻删除,谢谢!

根据学生的回答,老师引导学生根据角色的素材总结游戏角色

设计的特点。

3.情境引入

1)头脑风暴:让学生思考什么样的游戏角色适合赛车游戏

老师引导学生思考,如果设计赛车游戏,那么应该设计什么样

的角色和舞台背景

老师引导:“同学们,我们刚刚已经了解了游戏角色和舞台背

景设计的基本原则,那么如果我们现在想要设计一个赛车游戏,那

么应该设计什么样的角色和舞台背景呢?赛车是世界上的顶级游

92

Page 94: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

戏,比如真实世界中的 F1 赛车游戏(可以播放视频或图片),因为

这项运动的刺激性和危险性都很高,以致于很多爱好者都是望尘莫

及,在电脑技术的发展下,赛车游戏做的越来越逼真,比如《F1 传

奇》,《世纪金冠军》,《极品飞车》等等赛车游戏。”

备注:涉及到版权问题,赛车游戏角色的图片仅作参考,如有需要,请老师

们自行下载。如上诉图片使用涉及版权问题,会立刻删除,谢谢!

让学生思考和讨论,“现有的赛车游戏的赛车角色有什么特

点?如果是自己设计,你会设计什么样的赛车游戏角色和背景?”

现有赛车游戏的特点:

仿照真实的赛车,对游戏中的赛车造型进行改造

Q 版赛车角色,色彩鲜艳,圆润可爱

像素几何赛车角色,几何感强,简单制作

给予学生时间进行小组。讨论,并思考自己的赛车游戏中的赛

车角色设计和背景设计。

教师总结:“老师刚刚也想一下我的赛车游戏角色和游戏背景。

今天的主题是赛车游戏,在整个设计中游戏的主角是赛车,那这里

93

Page 95: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

的背景就是赛车的跑道。”

4. 教师演示案例

制作原型:让学生学习如何用 mblock5 设计游戏操纵方式

实物原型:老师画一个游戏草图,来诠释自己的游戏创意

老师引导:“因为我们设计的赛车游戏是一款电子游戏,所以

需要借助我们 mblock5 把我们设计的实物原型转换成 mblock5 上的

模型”

软件原型:明确了角色和背景是什么后,我们就来一步一步的

实现它。

删除原角色“熊猫”:

增加游戏角色“赛车”。添加途径:

点这里删除 点这里添加角色

94

Page 96: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

①在角色库里直接选择:

②搜索网络图片,直接导入:

③自己在慧编程上绘制角色:

通过电脑上的上下左右方向键,来控制赛车的移动:

①按“上箭头”,赛车向上移动;

②按“下箭头”,赛车向下移动;

③按“左箭头”,赛车向左移动;

④按“右箭头”,赛车向右移动;

95

Page 97: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

添加背景“赛车跑道”:背景添加方式和角色添加方式一

样。

①在背景库里查找有没有现成的;

②搜索网络图片,直接导入;

③自己绘制背景。

拓展任务(可选):

①赛车在行驶的过程中,不能跑出赛道,否则回到起点;

②碰到终点的红色地标,显示“胜利”。

示例程序:

如果碰到赛道两旁的颜色

则回到出发的位置,

该位置为自己设定的。

96

Page 98: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3)游戏测试:(教学目标)让学生学会游戏设计流程中的关键

环节-测试游戏

老师引导:“有哪位同学愿意来体验一下这个游戏,并且告诉

我,你的感受?你觉得这个游戏有哪些需要修改的地方,或者在你

玩的过程中,觉得这个游戏哪里怪怪的?”

4)修改完善:(教学目标)让学生学会对游戏原型进行改造和

完善老师根据学生们(玩家)的建议,采纳合理建议,做出一定的

调整。

5. 学生创作

布置任务:主题:《赛车游戏》

1)选择解决方案:“刚刚在讨论如何让设计赛车游戏的角色和背

景设计,大家都有很多自己的创意和点子,那现在同学们可以再思

考一下,并选择最终你的创意,然后可以制作你的游戏。并且要让

你的赛车动起来哦。”

2)制作原型:“根据你们的创意,你们可以设计一个草图,或

者是游戏的雏形,或者,你们也可以直接开始使用 mblock5 软件,

开始你们的编程。”

97

Page 99: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

3)游戏测试:“如果你设计好游戏了,请举手示意,你可以邀

请你的目标玩家来体验游戏,也可以邀请老师来体验你的游戏。”

4)修改完善:“你可以根据玩家的游戏,吸取合理的建议,并且

修改程序中的 bug,完善你的游戏。”

6. 作品展示

每个同学都可以自愿分享自己的游戏作品。可投票,选出当日

最佳设计。

7. 教师总结

游戏的设计流程:头脑风暴-制作原型-游戏测试-修改完善。利

用慧编程进行游戏设计,在教会我们如何进行游戏设计的同时,也

是在学习如何综合运用编程知识。从了解到应用,完美融合。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

98

Page 100: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 18 课 《游戏操作方式设计》教学设计

内容简介:

恰当选择游戏的交互方式,并通过慧编程进行设计,完成游戏

任务。

教学目标:

1. 学会设计游戏的交互方式

课堂准备:

1. 白板和白板笔(或黑板和粉笔)

2. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

3. 学生每人一台或两人一台装有慧编程的电脑。

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)上节课我们都学习了哪些内容,做了什么游戏?

学生可能回答:

1)上节课我们学习了怎么在舞台上添加角色,设计出了简单的

游戏。

2. 新知识讲解(任务挑战)

今天我们要学习的是,如何设计游戏的操纵方式。

在设计游戏之初,我们首先要思考我们设计的这个游戏是要运

用什么样的平台,而不同的平台自然就代表不同的操作方式。目前

99

Page 101: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

的较为流行的家用游戏平台有电脑(PC Game),手机(手游),掌机

(PSV,NDS, 等),主机类(PS4, XBOX 等)以及最近热门的 VR游

戏。(各类操纵方式有:鼠标、键盘、手柄(PSP,PS,Wii 模拟杆

或任天堂十字键)和 VR眼镜等等,这些操纵方式可以相互叠加使

用,也可单独使用。

游戏的操纵方式跟游戏本身息息相关,不同的游戏类别适合不

同的游戏操纵方式。

手柄 鼠标+键盘

优点 手感好、操作性强、游戏代入感强、

不限制游戏姿势

精确度高、快速、适合 PC端游戏

缺点 精确度不高、额外消费 体验感弱、必须结合 PC

适合游戏 动作、格斗和驾驶游戏 射击、及时战略类和单机游戏

3.情境引入

设计体验-赛车游戏

头脑风暴:让学生思考什么样的游戏角色适合赛车游戏

老师引导:大家一起来看看这个赛车游戏:

赛车游戏案例,来自 Scratch

(https://scratch.mit.edu/projects/181140700/)

100

Page 102: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

赛车游戏属于操作类游戏。这个赛车游戏的操纵方式是用键盘

控制赛车左右转,但是老师觉得这个游戏用键盘操作不能体现出游

戏的动感,操作性不强,而且要一直在电脑屏幕前面,对眼睛也不

是很好。所以,老师想自己设计一个新的赛车游戏,能够让这个赛

车游戏更加好玩,更加方便的操作游戏,不需要总是坐在游戏机

(电脑)面前,而且也不需要总是拿着键盘玩,改变游戏操作的方

式,让游戏的体验感更强。

快速引导:有哪些游戏操作方式可以增强体验感和操纵性?

答案:游戏手柄

思考:“如果用游戏手柄来增强游戏体验感和操纵性,我们可以

使用 Codey,想想如果用 Codey 当游戏手柄,你想用什么样的操作

方式来玩赛车游戏呢?”

让学生分成不同的小组,老师和学生们一起思考,分小组讨

论,并且把大家的想法都列在黑板上,予以重视和讨论。

老师说:“刚刚在大家讨论的时候,老师也想到了一个 Idea,

我希望是这个赛车可以跟我一起左转右转。如果我往左边倾斜,赛

车就会跟着我一起往左边拐,如果我往右边倾斜,赛车会跟着我一

起右边拐。怎么样能够实现这个效果呢?大家想一想能不能实现这

个效果?其实,我们可以利用 Codey的内置陀螺仪,当 Codey向左

倾斜的时候,赛车的左转;当 Codey向右倾斜的时候,赛车的右

转。”

4. 教师演示案例

101

Page 103: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

实物原型:老师画一个游戏草图,来诠释自己的游戏创意

我希望是这个赛车可以跟我一起左转右转。如果我往左边倾斜,

赛车就会跟着我一起往左边拐,如果我往右边倾斜,赛车会跟着我一

起右边拐。

怎么样能够实现这个效果呢?我们可以利用 Codey 的内置陀螺

仪,当 Codey 向左倾斜的时候,赛车的左转;当 Codey向右倾斜的时

候,赛车的右转。

软件原型:我们开始使用 mblock5 编程吧。先设计舞台和角色,

连接设备 Codey,然后开始编程!如果要使用 Codey 去控制 mblock5

里面的赛车设计到知识点“广播”。

设计赛车和赛道:

利用小程做为游戏手柄:

①借助小程内置的陀螺仪,他可以感知到小程是否倾斜(前、后、

102

Page 104: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

左、右);

②如果发生倾斜,则将信号广播出去,让舞台的角色(赛车)接

收到信号。

Codey 的代码:

当小程向左或者向右倾斜时,赛车会对应的向左转或向右

转;

如果小车一开始是左转,突然接收到右转的信号,需要让左

转的动作停止,再进入右转的动作。

角色的代码:

挑战:如果没有停止角色的其它脚本,会发生什么情况?

3)游戏测试:让学生学会游戏设计流程中的关键环节-测试游戏

老师引导:“有哪位同学愿意来体验一下这个游戏,并且告诉我,

你的感受?你觉得这个游戏有哪些需要修改的地方,或者在你玩的过

103

Page 105: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

程中,觉得这个游戏哪里怪怪的?”

4)修改完善:让学生学会对游戏原型进行改造和完善

老师根据学生们(玩家)的建议,采纳合理建议,做出一定的

调整。

5. 学生创作

1)选择解决方案:“刚刚在讨论如何让赛车游戏变得更好玩,大

家都有很多自己的创意和点子,那现在同学们可以再思考一下,并

选择最终你的创意,然后可以制作你的游戏。Ps: 如果学生也喜欢

用陀螺仪,那可以使用同样的案例”

2)制作原型:“根据你们的创意,你们可以设计一个草图,或

者是游戏的雏形,或者,你们也可以直接开始使用 mblock5 软件,

开始你们的编程。”

3)游戏测试:“如果你设计好游戏了,请举手示意,你可以邀

请你的目标玩家来体验游戏,也可以邀请老师来体验你的游戏。”

4)修改完善:“你可以根据玩家的游戏,吸取合理的建议,并且

修改程序中的 bug,完善你的游戏。”

6. 作品展示

每个同学都可以自愿分享自己的游戏作品。可投票,选出当日

最佳设计。

7. 教师总结

每种游戏操作方式都有各自的特点,根据每款游戏的属性,选

择合适的游戏操纵方式是一款成功的游戏所必不可少的。

104

Page 106: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

105

Page 107: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 19 课 《规则挑战(上)》教学设计

内容简介:

运用慧编程设计简单的游戏规则,进而优化自己的游戏设计。

教学目标:

1. 能够用 mblock5 设计游戏规则

2. 养游戏机制的设计能力:给赛车游戏增加规则

3. 通过增加游戏规则来优化自己的游戏

课堂准备:

1. 白板和白板笔(或黑板和粉笔)

2. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

3. 学生每人一台或两人一台装有慧编程的电脑。

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)上节课我们都学习了哪些内容,做了什么游戏?

学生可能回答:

1)上节课我们学习了怎么射击游戏的操纵方式

2. 新知识讲解(任务挑战)

今天我们要学习的是,怎么给游戏设计简单的规则。

老师引导:“我们知道一个好的游戏,必须要有一个系统的游戏

规则清晰地定义了玩家在游戏中需要完成的事情。有了游戏规则,

106

Page 108: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

才能让玩家知道在这个游戏中能做什么,不能做什么。规则是游戏

的重要组成部分,能够影响游戏的操作和进程,以及玩家对游戏的

体验。因此,在游戏中,我们必须要制定一个清晰的、易懂的游戏

规则,才能够让你的游戏更加完整和流畅。”

比如说:1)超级马里奥的游戏规则:马里奥要跑到最后的小旗

杆那里,但是在跑过去的路上,不可以碰到任何的障碍物。2)你说

我猜的规则是:一个人描述这个词,一个人猜,但是不可以用到任

何词里面的字。3)五子棋:两个人玩的时候,谁先在一条线上连成

五颗棋子,谁就赢。

老师引导:“玩家在玩游戏的时候是需要不断的摸清游戏规则,

因此游戏规则的设计不能太难但是也不能太过于简单,太难的话会

影响玩家对游戏的体验感,太简单的话会让玩家失去对游戏体验的

重复性与成就感。因此,在设计游戏规则的时候要找到平衡,让玩

家能够在轻松的规则中不断的需求挑战。”

老师解释:“一般的游戏规则有三部分:一,定义对象和概念的

游戏规则的

理解难度

玩家需投入的精力

107

Page 109: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

规则;二,限制行为的规则;三,决定结果的规则。”

例如,《超级马里奥》中定义对象和概念的规则:马里奥是一个

小人物,他可以跑、跳和吃金币等等。蘑菇,会让马里奥掉血。金

币可以让马里奥变得有钱等等。限制行为的规则:马里奥必须躲避

蘑菇,否则会死掉。决定结果的规则:跳到小旗子的上方,降下旗

子算通关。

老师说:“这些游戏规则的设计都建立在每一个玩家都必须遵守

相同的规则,才能够让人人都遵守规则,公平公正的进行游戏。这

也就是为什么我们杜绝外挂的原因,以此达到公平公正的比赛。”

3.情境引入

1)头脑风暴:让学生思考赛车游戏适合什么样的游戏规则

老师播放上节课设计的游戏实例,“大家看一下老师上节课设计

的赛车游戏,老师的赛车游戏有没有什么游戏规则?没有规则(小

车是可以随意的跑的,没有任何要求,既是跑出了赛道,它还是可

以继续行驶)。为了让我们的游戏变得更加完整,今天我们会学习如

何制定规则。”

老师引导:“大家想一想一般的赛车游戏中,有哪些游戏规

则?”,看了这么多的赛车游戏规则后,那你们想要设计的属于你们

游戏的规则是什么呢?大家分组讨论一下,都想想你们想要设计的

规则是什么,给予学生足够的时间去讨论和思考,站在游戏玩家的

角度思考问题,如何去设计合适的、好玩的游戏规则。

老师说:“大家的想法都很好,每个人都对游戏规则有不同的设

108

Page 110: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

定,这样让我们每个人的游戏变得不同,多样化。老师也想了一些

规则,规则是赛车只能再赛道里面行驶,不可以跑出赛道,如果跑

出赛道,则要回到起点,重新开始。”

4. 教师演示案例

2)制作原型:让学生学习如何用 mblock5 设计游戏规则

实物原型

游戏规则:赛车必须在赛道内行驶。

结果:

① 如果跑出赛道,则要回到起点,重新开始游戏;

② 如果未跑出赛道,则游戏继续。

软件原型:我们开始使用 mblock5编程吧。先设计舞台和角色,

连接设备 Codey,然后开始编程!如果要使用 Codey 去控制

mblock5里面的赛车设计到知识点“广播”。

如果跑出赛道,则会爆炸,并且回到原点,重新开始哦!

109

Page 111: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

赛道侦测 :赛道分为“内圈赛道”和“外圈赛道”,跑出哪

一个赛道都是不可以的。

如何侦测赛车是否跑出赛道呢?我们可以借助“碰到颜色”

这个积木块。

①如果跑出赛道,则会爆炸(下一个造型),并且移动到起点位

置,回到赛车的造型,并且停止不动。(如果跑出赛道,会发生的情

况,可以自行修改和添加,可以增加声音,造型等等其他效果,这里

的程序只是作为一个参考。)

利用小程做为游戏手柄:

①借助小程内置的陀螺仪,他可以感知到小程是否倾斜(前、后、

左、右);

②如果发生倾斜,则将信号广播出去,让舞台的角色(赛车)接

外圈赛

内圈赛

110

Page 112: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

收到信号。

Codey 的代码:

将“是否跑出赛道”的编程添加进原有的程序中。

角色的代码:

3) 游戏测试:让学生学会游戏设计流程中的关键环节-测试游戏

“有哪位同学愿意来体验一下这个游戏,并且告诉我,你的感

受?你觉得这个游戏有哪些需要修改的地方,或者在你玩的过程

中,觉得这个游戏哪里怪怪的?”

111

Page 113: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

4)修改完善:让学生学会对游戏原型进行改造和完善

老师根据学生们(玩家)的建议,采纳合理建议,做出一定的

调整。

5. 学生创作

1)选择解决方案:“刚刚在讨论如何游戏规则和游戏目标,大家

都有很多自己的创意和点子,那现在同学们可以再思考一下,并选

择最终你的创意,然后可以增加你的游戏规则和目标到游戏中。”

2)制作原型:“根据你们的创意,你们可以设计一个草图,或者

是游戏的雏形,或者,你们也可以直接开始使用 mblock5 软件,开

始你们的编程。”

3)游戏测试:“如果你设计好游戏了,请举手示意,你可以邀请

你的目标玩家来体验游戏,也可以邀请老师来体验你的游戏。”

4)修改完善:“你可以根据玩家的游戏,吸取合理的建

议,并且修改程序中的 bug,完善你的游戏。”

6. 作品展示

每个同学都可以自愿分享自己的游戏作品。可投票,选出当日

最佳设计。

7. 教师总结

规则是游戏的重要组成部分,能够影响游戏的操作和进程,直

接影响了玩家对游戏的体验。设计出恰当的游戏规则,是每个游戏

设计师必须具备的能力。

8. 学生反思

112

Page 114: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

发放附件中的反思报告表,要求学生快速简洁的填写。

113

Page 115: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 20 课 《规则挑战(下)》教学设计

内容简介:

通过设置可移动的障碍物,训练较难游戏机制的设计能力,进

一步优化自己的游戏。

教学目标:

1. 知道如何用慧编程设计游戏舞台和角色;

2. 通过给赛车游戏增加更多难度优化自己的游戏

课堂准备:

1. 白板和白板笔(或黑板和粉笔)

2. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

3. 学生每人一台或两人一台装有慧编程的电脑。

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)上节课我们都学习了哪些内容,做了什么游戏?

学生可能回答:

1)上节课我们学习了如何设计简单的游戏规则,让我们的游戏

更有趣。

2. 新知识讲解(任务挑战)

今天我们要学习的是,什么是游戏冲突,怎么设计冲突,完善

游戏规则,进一步优化自己的游戏。

114

Page 116: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1)老师引导“上一节课,我们学习如何设计游戏规则。例如:

赛车不能出赛道,确保赛车能够在规定的赛道内行驶。游戏规则的

设定能够让我们的赛车游戏逐渐完整。”

2)这一节课,为了让我们的游戏更加好玩和刺激,我们将学

习如何给游戏增加难度。为什么要增加玩家在游戏过程中的难度?

为了让游戏更加丰富,并且激发玩家的胜负欲。一些简单的游戏,

玩家容易就通关因而失去再次体验的兴趣。如果游戏的通关难度增

大,则会玩家则会投入更多的时间来通关寻找游戏的胜利和成就

感。

3)在游戏中增加难度,我们有一个专有名词叫游戏冲突,为游

戏提供挑战,阻止玩家直接完成他们的目标。一般来说,游戏冲突

有三大类,比如说障碍、对手和两难选择。

障碍:增加障碍物,分为固定障碍物或者移动障碍物。

对手:增加游戏对手,分为游戏中设定的对手或者是联机对

手。

两难选择:游戏中拥有多种解决方法,但是每种解决方案都有

利和弊。

3.情境引入

1)头脑风暴:让学生思考赛车游戏适合什么样的游戏冲突

①为了让我们的游戏更加好玩和刺激,并且能够吸引更多的玩

家,我们今天将会学习如何设计游戏冲突。因为我们的赛车游戏的

输入模式的特性(一台电脑只能联一台 Codey,因此无法增加对

115

Page 117: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

手),因此我们最适合的游戏冲突是增加障碍物或者是两难选择。那

同学们一起来思考一下如果要给你的游戏增加游戏冲突,你想设计

什么样的游戏冲突?游戏冲突的设计要适当,不能太难,否则游戏

太难通关,玩家也会失去兴趣。

老师和学生们一起思考,分小组讨论以上问题,并且把大家的

想法都列在黑板上,予以重视和讨论。给予学生足够的时间去讨论

和思考,站在游戏玩家的角度思考问题,如何去设计合适的、好玩

的游戏冲突。

老师说“大家的想法都很好,每个人都对游戏冲突有不同的设

定,这样让我们每个人的游戏变得不同,多样化。老师也想了一些

冲突,是增加移动的障碍物,设计出会移动的障碍物,并且它每次

出现的位置都还不同,赛车必须在行驶的过程中躲避移动的障碍

物,一旦碰到了障碍物则需要回到起点重新开始。

②老师问:“你们觉得赛车在行驶的过程中,会遇到哪些移动

的障碍物呢?”

老师和学生们一起思考,分小组讨论这个问题,并且把大家的

想法都列在黑板上,予以重视和讨论。最后老师说明自己的想法,

想用蝙蝠来作为移动的障碍物。因为前一阵子有很多报道说:外侧

为光滑玻璃的建筑物附近,经常出现蝙蝠的尸体。德国科学家也做

出了相关研究:虽然蝙蝠可以利用回声定位,在暗夜里敏捷飞行,

但是当它的定位系统遇到光滑的垂直表面时会失灵,导致蝙蝠容易

撞上玻璃窗或者玻璃墙。所以老师认为,蝙蝠也会很容易撞上赛车

116

Page 118: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

的玻璃窗。所以老师这里想设计蝙蝠为移动的障碍物,它可能随时

从天而降,撞到赛车的玻璃,那如果赛车玻璃被撞到,玻璃上的印

记会影响赛车继续行驶,所以我还想设定一个规则:如果赛车撞到

了蝙蝠,则需要回到起点(清洗玻璃后)重新出发。

4. 教师演示案例

2)制作原型:(教学目标)让学生学习如何用 mblock5设计游

戏冲突

实物原型:老师画出蝙蝠的草图

蝙蝠角色 1:完整的蝙蝠;

蝙蝠角色 2:被赛车撞到粉身碎骨的蝙蝠,可以用很多密集的

黑点表示;

软件原型:我们开始使用 mblock5编程吧。先添加蝙蝠这个角

色。

游戏冲突:

赛车在行驶过程中,需要躲避从空降落的蝙蝠。

冲突结果:

① 在赛车行驶的过程中,如果碰到了蝙蝠,则游戏结束;

② 如果没有碰到蝙蝠,则游戏继续,蝙蝠还会再次不断出

现。

提出问题:

① 如何让蝙蝠,从高处不断降落?

117

Page 119: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

② 如何让蝙蝠,在降落的过程中,碰到赛车就爆炸?(角色

转换)

③ 如何让蝙蝠,落地后,又能从空中高处再次出现?

④ 如何让蝙蝠再次出现的位置是随机的,每一次都不一样,

且无法预知?

需要学习的两个新模块:

①随机降落:

②落地后,马上又从空中的某一位置降落:

通过“广播”的方式,告诉蝙蝠:游戏开始了:

小程

蝙蝠:

如何让蝙蝠再次出现的位置是随机的,每一次都不一样,且

无法预知?

注意:具体的数值,是根据具体情形而定的,而不是必须要按

某个数。

118

Page 120: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

如何让蝙蝠,从高处不断降落?

如何让蝙蝠,落地后,又能从空中高处再次出现?

怎么下落:如何让蝙蝠,在降落的过程中,碰到赛车就爆

炸?(角色转换)

Codey 的代码:

119

Page 121: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

蝙蝠的代码:

赛车被撞后,需要回到起点。

发现问题:为什么蝙蝠会飞着飞着,就不动了?

分析原因:赛车的代码,还有一个需要调整的地方:

120

Page 122: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

分析这两个模块的区别:

3)游戏测试:(教学目标)让学生学会游戏设计流程中的关键

环节-测试游戏

老师引导:“有哪位同学愿意来体验一下这个游戏,并且告诉

我,你的感受?你觉得这个游戏有哪些需要修改的地方?”

4)修改完善:(教学目标)让学生学会对游戏原型进行改造和

完善

老师根据学生们(玩家)的建议,采纳合理建议,做出一定的

调整。

5. 学生创作

1)选择解决方案:“刚刚在讨论时,大家都有很多自己的创意和

121

Page 123: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

点子,那现在同学们可以再思考一下,并选择最终的创意,然后开

始制作。

2)制作原型:“根据创意,增加角色,然后开始编程。”

3)游戏测试:“如果你设计好了,请举手示意,你可以邀请你

的目标玩家来体验游戏,也可以邀请老师来体验你的游戏。”

4)修改完善:“你可以根据玩家的游戏,吸取合理的建议,并且

修改程序中的 bug,完善你的游戏。”

6. 作品展示

每个同学都可以自愿分享自己的游戏作品。可投票,选出当日

最佳设计。

7. 教师总结

游戏规则多种多样,只要是合理的,都可以放在我们的游戏

中。从静态的简单游戏规则,到可移动的复杂游戏冲突,游戏规则

的设定让我们的每个游戏不断完整。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

122

Page 124: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 21 课 《速度与激情》教学设计

内容简介:

设计赛车边界,判断游戏结果,深化游戏机制的设计意识和能

力培养,完善游戏的美感。

教学目标:

1. 培养游戏机制的设计能力:给赛车游戏增加游戏结果

2. 通过增加游戏结果优化自己的游戏

课堂准备:

1. 白板和白板笔(或黑板和粉笔)

2. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

3. 学生每人一台或两人一台装有慧编程的电脑。

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)上节课我们都学习了哪些内容,做了什么游戏?

学生可能回答:

1)上节课我们学习了怎么设计游戏冲突,设计复杂的游戏规

则 ,不断完善游戏。

2. 新知识讲解(任务挑战)

今天我们要学习的是,什么是游戏结果,怎么设计游戏结果,

怎样进行游戏的最后一步优化。

123

Page 125: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1)老师引导“我们已经让我们的游戏变得非常的丰富多彩了,

既有了规则,而且还增加了躲避障碍物的难度,但是不知道大家发

现一个问题没有,这个游戏没有胜利的结果,到底怎么样算是游戏

胜利了呢?”

2)老师带领学生回顾游戏案例:“我们的游戏设计了失败的规

则:如跑出了赛道,或者是碰到了障碍物,都必须重新开始。但是

没有告诉我们怎么样算闯关成功。为了能够让玩家在玩游戏的过程

中获得成就感和胜利喜悦,我们需要给游戏增加一个游戏胜利的规

则。”

3)在游戏中设定胜利和失败的规则,有一个专业名词叫游戏结

果。在生活中的每个单一决定都带有某种结果。同理,在游戏设计

环境中,玩家在游戏中的行动或决定也会产生结果。游戏结果分为

胜利结果和失败的结果。

3.情境引入

1)头脑风暴:让学生思考赛车游戏适合什么样的游戏结果

老师引导:“大家想一想一般的游戏中,有哪些游戏结果,失败

会怎么样?胜利会怎么样?那么现在大家一起想想我们的赛车游

戏,要加一个什么样的游戏结果会好一点呢?大家可以和你的同桌

一起讨论一下。

让学生自由讨论。给予学生足够的时间去讨论和思考,站在游

戏玩家的角度思考问题,如何去设计合适的、好玩的游戏结果。”

老师说:“大家的想法都很好,每个人都对游戏结果有不同的设

124

Page 126: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

定,这样让我们每个人的游戏变得不同,多样化。老师也想了一些

游戏结果,老师想给自己的赛车游戏增加的结果是:要是跑完一整

圈(碰到蓝色的终点线),那么赛车会显示胜利和发出胜利的声音!

4. 教师演示案例

1)制作原型:(教学目标)让学生学习如何用 mblock5设计游

戏结果

实物原型

软件原型:我们开始使用 mblock5编程吧。先设计舞台和角

色,连接设备 Codey,然后开始编程!如果要使用 Codey去控制

mblock5里面的赛车设计到知识点“广播”。

游戏结果:

胜利:赛车能够安全的跑完一圈

失败:赛车跑出赛道、碰到障碍物,则要回到起点重新开始

提出问题:

如何判断赛车是否跑出了一圈?

终点线侦测:简单版编程——画一条终点线,帮助判断小车是

否跑了一圈。

125

Page 127: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

利用小程做为游戏手柄:

Codey 的代码:

添加游戏规则:

①The car explodes once it drives outside the speedway. ②躲避蝙蝠,撞到蝙蝠,发出声音。

角色(蝙蝠)的代码:

角色(赛车)的代码:

126

Page 128: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

2)游戏测试:让学生学会游戏设计流程中的关键环节-测试游戏

老师引导:“有哪位同学愿意来体验一下这个游戏,并且告诉

我,你的感受?你觉得这个游戏有哪些需要修改的地方,或者在你

玩的过程中,觉得这个游戏哪里怪怪的?”

3)修改完善:让学生学会对游戏原型进行改造和完善

老师根据学生们(玩家)的建议,采纳合理建议,做出一定的

调整。

127

Page 129: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

5. 学生创作

1)选择解决方案:“刚刚在讨论如何游戏结果,大家都有很多自

己的创意和点子,那现在同学们可以再思考一下,并选择最终你的

创意,然后可以增加你的游戏规则和目标到游戏中。”

2)制作原型:“根据你们的创意,你们可以设计一个草图,或

者是游戏的雏形,或者,你们也可以直接开始使用 mblock5 软件,

开始你们的编程。”

3)游戏测试:“如果你设计好游戏了,请举手示意,你可以邀

请你的目标玩家来体验游戏,也可以邀请老师来体验你的游戏。”

4)修改完善:“你可以根据玩家的游戏,吸取合理的建议,并且

修改程序中的 bug,完善你的游戏。”

6. 作品展示

每个同学都可以自愿分享自己的游戏作品。可投票,选出当日

最佳设计。

7. 教师总结

从舞台背景到游戏角色,从游戏规则到游戏结果,从简单到复

杂,从初次呈现到不断优化,只有一步一步地优化问题,才会最终

诞生一个完整的有趣的好玩的游戏 。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

128

Page 130: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 22 课 《弯道竞赛》教学设计

内容简介:

自行设计地图,运用慧编程进行机器人编程,实现机器人的弯道行

走。

教学目标:

1. 巩固机器人的基本知识;

2. 尝试自己设计形状地图,并控制程小奔完整走完地图。

课堂准备:

1. 弯道地形图(需打印,在附件)

2. 白板和白板笔(或黑板和粉笔)

3. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据线)

4. 学生每人一台或两人一台装有慧编程的电脑。

预备知识:

1. 知道机器人的工作原理;

2. 知道如何控制程小奔;

教学过程:

1. 旧知识回顾

回顾机器人的知识,教师提问:

1)生活中都有哪些种类的机器人?

2)我们是如何控制机器人工作的?

学生可能回答:

1)机器人种类:送餐机器人、物流机器人、安保机器人、学习

129

Page 131: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

机器人等;

2)我们是通过编程,给机器人设置程序,让机器人按照代码的

要求去工作。

2. 新知识讲解(任务挑战)

今天我们要学习的是,如何控制程小奔转弯?让它能够沿着规

定的路线前进。

我们知道程小奔有左轮和右轮两个轮子。但是在转弯的时候左

轮、右轮的动力分别是多少才能够实现左转或右转呢?

该积木让机器人左轮以一定的动力前进,右轮以一定的动力前进。

动力取值为 0-100。

大家讨论一下,以下两种情况,分别代表的什么意思?

左转 右转

3. 游戏情境引入

游戏介绍:

请两位(A 、B)同学分别模仿左轮与右轮连在一起的运动轨

迹。按照以下要求完成游戏:

(1)请两个轮子一起前进到某地:

A 同学:左轮 B同学:右轮

左轮动力 10,

右轮动力 100 左轮动力 100,右轮动力 10

130

Page 132: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

(2)请两个轮子一起走一个圆圈:

(3)请两个轮子一起走一个半圆:

A 同学:左轮 B同学:右轮

4. 教师演示案例

(1)当按下按钮“A”,小程显示表情,分别完成走圆形路

线、半圆形路线。

地图参考:

用新的积木块编程:

思路分析:

请 A 同学拉着 B 同

学的手一起前进

请 B 同学拉着 A 同

学的手一起前进

请 A 同学拉着 B 同

学的手原地不动;

请 B 同学拉着 A 同

学的手大步前进;

131

Page 133: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

示例程序:

(2)按下按钮,程小奔在指定时间内,完成 S型路线的比赛任

务。

地图参考:

132

Page 134: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

编程思路分析:

示例程序:

5. 学生模仿或创作

教师要求每组学生各自设计弯道(弧形、8 字形)地图,并让

两组学生交换地图,对程小奔进行编程,进行比赛。

133

Page 135: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

学生可以:

(1)模仿教师的案例进行简单修改;

(2)设计新的地图形状,进行比赛。

参考地图:

教师需要把控学生设计的弯道地图的难度及可实现性。

老师告知学生,作品设计之后会进行小组展示。展示过程需回

答以下问题:

(1)你们完成了一个什么样的项目?

(2)你们在完成任务的过程中遇到了什么困难?最后是如何解

决的?

(3)弯道竞赛的原理是什么?

6. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生

134

Page 136: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

需回答上述步骤中教师提出的问题。

7. 教师总结

通过调整左轮和右轮的动力状态,控制小车的前进和转弯:左

轮慢,右轮快,小车左转;左轮快,右轮慢,小车右转;两轮同速

度,小车前行。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

135

Page 137: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 23 课 《避障小车》教学设计

内容简介:

运用红外传感器和避障原理,对程小奔进行编程,实现避障功

能。

教学目标:

1. 了解自动驾驶技术的应用;

2. 认识红外传感器和避障原理,能够使用避障功能完成任务。

课堂准备:

1. 障碍物(需提前准备)

2. 白板和白板笔(或黑板和粉笔)

3. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

4. 学生每人一台或两人一台装有慧编程的电脑。

预备知识:

1. 知道条件积木的使用;

2. 知道如何控制程小奔运动;

教学过程:

1. 旧知识回顾

回顾条件的知识,教师提问:

1)什么是条件?

2)条件积木有什么特点?

3)生活中哪些事情是需要我们进行判断并作出决定的条件?

136

Page 138: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

学生可能回答:

1)条件,是对不同的情况进行判断并做出决定,满足我们的条

件,则执行动作;不满足,则跳过或忽略;

2)条件积木的特点是:一个六边形的模块,需要把条件积木卡

在条件语句中的六边形的凹槽里面;

3)外面刮风,然后决定是否外出。

2. 新知识讲解(任务挑战)

今天我们要学习的是,如何让程小奔成功躲避障碍物?

我们知道程小奔身上有很多种类传感器,其中就包括红外传感

器,它的功能之一就是检测周围是否有障碍物,进而确定如何进行

运动。

3. 游戏情境引入

游戏介绍:

搭建一条满是障碍物的道路,让学生在障碍道路中行走,模拟

避障功能。

4. 教师演示案例

(1)利用红外传感器的功能结合 mBlock5 编程制作一个简单的

137

Page 139: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

案例;使用判断语句(如果……那么)编写一个危险警报的功能,

只对程小奔进行编程。

要求:如果检测到物体,亮起红色指示灯,显示图案;如果没

有检测到物体,亮起绿色指示灯。

积木块编程:

示例程序:

(2)程小奔安全通过前方障碍物。

138

Page 140: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

复习动作模块:

示例程序:

(3)改变障碍物道路,实现程小奔的避障功能。

139

Page 141: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

示例程序:

(4)在一个封闭的障碍物道路中让程小奔安全地在里面奔跑。

主要编程积木是旋转的功能。旋转的过程中同时判断是否有障碍

物。

复习旋转模块:

示例程序:

140

Page 142: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

5. 学生模仿或创作

教师要求每组学生设计程序,让程小奔在桌面上安全的行走,

实现防止掉落的功能。

注意:防摔的功能需要将红外传感器向下旋转 60°左右,以便

检测是否有障碍物。

老师告知学生,作品设计之后会进行小组展示。展示过程需回

答以下问题:

(1)你们完成了一个什么样的项目?

(2)你们在完成任务的过程中遇到了什么困难?最后是如何解

决的?

(3)通过实践,现在对无人驾驶技术有没有什么不同的理解

了?

6. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生

需回答上述步骤中教师提出的问题。

7. 教师总结

通过红外传感器检测是否有障碍物,并以此作为条件,结合慧

141

Page 143: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

编程的运动模块,选择前进、左转或者右转,进而实现小车的避障

功能。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

142

Page 144: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

第 24 课 《巡线小车》教学设计

内容简介:

通过接收不同强度的反射光,完成小车的巡线任务。

教学目标:

1. 了解巡线机器人的应用;

2. 认识不同灰度的反射强度;

3. 理解程小奔的巡线原理,完成巡线任务。

课堂准备:

1. 不同灰度的卡纸(需打印,在附件)

2. 白板和白板笔(或黑板和粉笔)

3. 学生每人一个或两人一台程小奔和蓝牙适配器(或配套数据

线)

4. 学生每人一台或两人一台装有慧编程的电脑

5. 黑色胶带

预备知识:

1. 知道颜色传感器和 RGB LED 灯;

2. 知道如何控制程小奔;

教学过程:

1. 旧知识回顾

回顾上节课的知识,教师提问:

1)上节课我们都学习了哪些内容,做了什么游戏?

学生可能回答:

143

Page 145: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

1)上节课我们学习了怎么用条件模块和运动模块,实现程小奔

的避障功能。

2. 新知识讲解(任务挑战)

今天我们要学习的是,如何程小奔进行巡线?让它能够识别线

路,沿着线路前进。今天要用到的是小奔上的颜色红外传感器和

RGB LED灯。

3. 游戏情境引入

游戏任务:

(1)认识反射光:让小奔检测反射光强度的值,并显示在小程

的屏幕上。

图 1(图中数值由于环境不一样,有所不同)

144

Page 146: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

示例程序:

(2)采集色卡上的反射光强度。

要求:记录不同卡片的反射光数值,填写在对应地颜色下方。

(3)采集黑线上的数据。

采集 RGBLED灯在黑线边缘的反射光强度值。当大于这个值时,

程小奔需要往左拐;当小于这个值时,需要往右拐。

(4)模拟程小奔巡线

1)找颜色不相同的连接区域如下图;

2)站在色块交界处,举起右手平伸在胸前;

游戏规则:

当拳头在黑色区域时,右脚前进一小步,身体左旋转 45度,左

脚不动。

145

Page 147: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

当拳头在黑色区域时,左脚前进一小步,身体右旋转 45度,右

脚不动。

通过活动复习巡线中程小奔的移动积木使用:

4. 教师演示案例

(1)在桌上贴出一个一字型的地图和一个 S 型的地图,编写程

序让程小奔沿着黑线行走。

地图参考:

示例程序:

5. 学生模仿或创作

146

Page 148: 编程入门学习 - Makeblockstatic.education.makeblock.com/codeyrocky-teachingguide-cn.pdf · 任务二:让程小奔动起来 在了解完慧编程之后,我们通过动手实践,通过编程让程小奔动起来吧。

教师要求每组学生各自设计地图,并让两组学生交换地图,对

程小奔进行编程,进行比赛。

学生可以:

(1)模仿教师的案例进行简单修改;

(2)设计新的地图形状,进行比赛。

教师需要把控学生设计的弯道地图的难度及可实现性。

老师告知学生,作品设计之后会进行小组展示。展示过程需回

答以下问题:

(1)你们完成了一个什么样的项目?

(2)你们在完成任务的过程中遇到了什么困难?最后是如何解

决的?

(3)传感器对机器人重要吗?

6. 作品展示

教师选取优秀案例或学生自愿进行展示作品,作品展示时学生

需回答上述步骤中教师提出的问题。

7. 教师总结

通过颜色红外传感器感受反射光强度,并以此作为条件,来判

断小车是左转还是右转,进而确定左轮和右轮的动力值,以实现小

车巡线的效果。

8. 学生反思

发放附件中的反思报告表,要求学生快速简洁的填写。

147