第1部分 基础编程篇 3
第1章 编程起步 3
1.1 Scratch编程概述 3
1.1.1 为什么用Scratch编程 3
1.1.2 从Scratch到Python 5
1.1.3 Scratch的主要版本 7
1.1.4 Scratch项目概述 9
1.2 准备Scratch开发环境 10
1.2.1 使用Scratch在线编辑器 10
1.2.2 安装Scratch离线编辑器 12
1.2.3 设置Scratch编辑器 14
1.3 Scratch编辑器界面 16
1.3.1 舞台区 17
1.3.2 背景和角色列表区 17
1.3.3 脚本编辑区 18
1.3.4 造型和背景编辑区 18
1.3.5 声音编辑区 19
1.3.6 菜单栏和工具栏 20
1.4 Scratch指令系统概述 20
1.4.1 积木的形状特点 20
1.4.2 积木的操作方法 22
1.4.3 积木的功能类别 24
1.4.4 快速查看积木说明 25
1.5 临摹案例 26
1.5.1 数学编程:韩信点兵 26
1.5.2 游戏编程:星际飞行 30
第2章 变量和运算 36
2.1 说和思考指令 36
2.1.1 跟我做:小猫背唐诗 37
2.1.2 让角色说话和思考 38
2.1.3 动手练:小猫的哲学思考 39
2.2 问答指令 40
2.2.1 跟我做:简单的人机对话 40
2.2.2 询问与回答 40
2.2.3 动手练:说出字母数 41
2.3 变量 42
2.3.1 跟我做:小猫变大变小 42
2.3.2 变量显示器 43
2.3.3 变量的数据类型和操作 43
2.3.4 变量的命名和作用域 45
2.3.5 动手练:求两数之和 45
2.4 数学运算 46
2.4.1 跟我做:鸡兔同笼 46
2.4.2 算术运算和运算优先级 48
2.4.3 数学函数 48
2.4.4 动手练:计算大桥长度 49
2.5 随机数 50
2.5.1 跟我做:小鱼逍遥游 50
2.5.2 生成随机数 51
2.5.3 动手练:随机投点画圆 52
2.6 字符串函数 53
2.6.1 跟我做:成语接龙 53
2.6.2 字符串处理 54
2.6.3 动手练:回文诗 55
第3章 程序控制 57
3.1 顺序结构 57
3.1.1 跟我做:海伦公式 57
3.1.2 流程图 59
3.1.3 顺序结构的程序设计 59
3.1.4 动手练:计算圆锥体积 60
3.2 选择结构 61
3.2.1 跟我做:求绝对值 61
3.2.2 关系运算和逻辑运算 62
3.2.3 选择结构的程序设计 64
3.2.4 动手练:判断三角形构成 65
3.3 循环结构 66
3.3.1 跟我做:冰雹猜想 67
3.3.2 循环结构的程序设计 69
3.3.3 动手练:肖像在哪里 71
第4章 列表 74
4.1 列表显示器 74
4.1.1 跟我做:求平均气温 74
4.1.2 列表显示器的使用 76
4.1.3 动手练:评委打分 77
4.2 列表的操作 78
4.2.1 跟我做:银行叫号系统 78
4.2.2 列表操作积木 79
4.2.3 动手练:约瑟夫环 83
第5章 过程 85
5.1 自定义过程 85
5.1.1 跟我做:计算圆的面积 86
5.1.2 使用自定义过程 87
5.1.3 动手练:判断质数 88
5.2 递归的使用 89
5.2.1 跟我做:辗转相除法 89
5.2.2 递归调用的分析 91
5.2.3 动手做:斐波那契数列 93
5.3 面向过程编程 94
5.3.1 跟我做:卡普雷卡尔黑洞 94
5.3.2 模块化程序设计 96
5.3.3 动手练:数字黑洞1和4 96
第6章 调试程序 98
6.1 程序错误概述 98
6.1.1 产生程序错误的原因 98
6.1.2 减少程序错误的方法 99
6.2 程序调试方法 100
6.2.1 使用数据显示器 100
6.2.2 输出日志 100
6.2.3 降低程序运行速度 101
6.2.4 设置断点 102
第2部分 图形编程篇 107
第7章 舞台 107
7.1 海底探险1:游戏场景 107
7.1.1 游戏情节介绍 107
7.1.2 制作游戏场景 108
7.2 舞台布局和管理 110
7.2.1 舞台布局和显示模式 110
7.2.2 舞台背景管理 113
7.3 动手练:电子相册 117
第8章 角色外观和运动 119
8.1 创建角色 119
8.1.1 海底探险2:创建角色 119
8.1.2 创建角色的方式 122
8.1.3 角色列表区 122
8.2 角色造型 123
8.2.1 海底探险3:角色动画 123
8.2.2 造型控制 124
8.2.3 动手练:街舞表演 125
8.3 角色运动 126
8.3.1 海底探险4:角色运动 126
8.3.2 运动控制 130
8.3.3 动手练:飞行猫 134
8.4 角色特效 135
8.4.1 海底探险5:角色特效 135
8.4.2 设置角色特效 136
8.4.3 动手练:魔术师 137
第9章 侦测 139
9.1 距离侦测 139
9.1.1 海底探险6:距离侦测 139
9.1.2 距离侦测积木 140
9.1.3 动手练:Pico和小狗散步 140
9.2 碰撞侦测 142
9.2.1 海底探险7:碰撞侦测 142
9.2.2 碰撞侦测积木 144
9.2.3 动手练:巡线甲虫 147
9.3 键盘和鼠标侦测 148
9.3.1 海底探险8:扔炸弹 148
9.3.2 键盘和鼠标侦测积木 149
9.3.3 动手练:反弹球 150
9.4 时间侦测 151
9.4.1 海底探险9:游戏倒计时 151
9.4.2 时间侦测积木 151
9.4.3 动手练:时钟 153
9.5 视频侦测 154
9.5.1 跟我做:人体感应开灯 154
9.5.2 视频侦测积木 155
9.5.3 动手练:手势抓蝴蝶 157
9.6 响度侦测 158
9.6.1 跟我做:声控开灯 158
9.6.2 响度侦测积木 158
9.6.3 动手练:吹生日蜡烛 159
第10章 绘图 161
10.1 海底探险10:游戏计分和血条 161
10.2 画笔 164
10.2.1 跟我做:彩虹画板 164
10.2.2 画笔积木 165
10.2.3 动手练:颜色图谱 167
10.3 图章 167
10.3.1 跟我做:种蘑菇 167
10.3.2 图章积木 168
10.3.3 动手练:彩色风车 169
第11章 声音 171
11.1 海底探险11:游戏音效 171
11.1.1 为游戏增加音效 171
11.1.2 复制更多角色 173
11.2 播放声音 174
11.3 乐器演奏 175
11.3.1 跟我做:模拟乐器 175
11.3.2 乐器演奏积木 177
11.3.3 弹奏鼓声积木 179
11.3.4 动手练:演奏《小毛驴》 180
第3部分 进阶编程篇 183
第12章 克隆 183
12.1 海底探险12:克隆角色 183
12.1.1 克隆功能的使用 183
12.1.2 用克隆技术改造游戏 185
12.2 面向对象编程 187
12.2.1 用角色模式编程 187
12.2.2 用克隆模式编程 188
12.3 动手练:飞扬的小鸟 190
第13章 消息和事件 192
13.1 海底探险13:消息机制 192
13.1.1 广播和接收消息 192
13.1.2 用消息机制改造游戏 193
13.2 消息机制 197
13.2.1 消息的异步和同步 197
13.2.2 消息队列的应用 197
13.3 事件驱动编程 199
13.3.1 事件的并发执行 199
13.3.2 避免事件的并发 200
13.4 动手练:小熊打车 201
第14章 英汉词典 202
14.1 搭建项目框架 202
14.2 词典排序功能 204
14.2.1 冒泡排序 204
14.2.2 选择排序 206
14.2.3 插入排序 207
14.2.4 快速排序 209
14.2.5 词典排序 211
14.3 词典查询功能 212
14.3.1 顺序查找 213
14.3.2 二分查找 214
14.3.3 词典查询 216
14.4 新增词条功能 216
第15章 企鹅走迷宫 218
15.1 迷宫简介 218
15.2 迷宫界面 219
15.2.1 二维数组 220
15.2.2 迷宫数据结构 221
15.2.3 加载迷宫地图 221
15.2.4 构建迷宫外形 224
15.3 迷宫寻路 226
15.3.1 算法策略简介 226
15.3.2 迷宫算法分析 228
15.3.3 迷宫算法实现 230