基础编程篇第1部分
第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项目概述 8
1.2 准备Scratch开发环境 10
1.2.1 安装Scratch离线编辑器 .10
1.2.2 访问Scratch在线编辑器 .12
1.3 Scratch编辑器界面 13
1.3.1 菜单栏 .13
1.3.2 舞台展示区 .14
1.3.3 舞台和角色管理区 .14
1.3.4 代码编辑区 .15
1.3.5 造型(背景)编辑区 .16
1.3.6 声音编辑区 .17
1.4 Scratch指令系统概述 18
1.4.1 积木的形状特点 .18
1.4.2 积木的操作方法 .20
1.4.3 积木的功能类别 .21
1.5 临摹案例 .23
1.5.1 数学编程:韩信点兵 23
1.5.2 游戏编程:星际飞行 28
第2章 变量和运算33
2.1 说和思考指令 .33
2.1.1 跟我做:小猫背唐诗 33
2.1.2 让角色说话和思考 .35
2.1.3 动手练:小猫的哲学
思考 .36
2.2 问答指令 .37
2.2.1 跟我做:简单的人机
对话 .37
2.2.2 询问与回答 .38
2.2.3 动手练:和小猫猜
谜语 .38
2.3 变量 .39
2.3.1 跟我做:小猫变大
变小 .39
2.3.2 变量显示器 .40
2.3.3 变量的数据类型和
操作 .41
2.3.4 变量的命名和作用域 .42
2.3.5 动手练:求两数之和 43
2.4 数学运算 .43
2.4.1 跟我做:鸡兔同笼 44
2.4.2 算术运算和运算优
先级 .45
2.4.3 数学函数 .46
2.4.4 动手练:龟鹤算 47
2.5 随机数 .47
Scratch编程从入门到精通(第2版)
VI
2.5.1 跟我做:小鱼逍遥游 47
2.5.2 生成随机数 .48
2.5.3 动手练:幸运大转盘 49
2.6 字符串函数 .50
2.6.1 跟我做:成语接龙 50
2.6.2 字符串处理 .51
2.6.3 动手练:回文诗 52
第3章 程序控制53
3.1 顺序结构 .53
3.1.1 跟我做:计算梯形
面积 .53
3.1.2 流程图 .54
3.1.3 顺序结构的程序设计 .55
3.1.4 动手练:计算圆锥
体积 .56
3.2 选择结构 .57
3.2.1 跟我做:求绝对值 57
3.2.2 关系运算和逻辑运算 .58
3.2.3 选择结构的程序设计 .60
3.2.4 动手练:判断三角形
构成 .61
3.3 循环结构 .62
3.3.1 跟我做:冰雹猜想 62
3.3.2 循环结构的程序设计 .64
3.3.3 动手练:西西弗斯
黑洞 .68
3.4 编程策略 .70
3.4.1 隔沟算羊(枚举策略) .70
3.4.2 李白沽酒(递推策略) .73
3.4.3 蜗牛爬树(模拟策略) .75
3.4.4 肖像在哪里(逻辑
推理) .77
第4章 列表80
4.1 列表显示器 .80
4.1.1 跟我做:求平均气温 80
4.1.2 列表显示器的使用 .81
4.1.3 动手练:评委打分 83
4.2 列表的操作 .84
4.2.1 跟我做:银行叫号
系统 .84
4.2.2 列表操作积木 .86
4.2.3 动手练:猴子选大王 89
4.3 用列表处理数据 .90
4.3.1 打乱列表中各元素的
顺序 .90
4.3.2 在列表中生成不重复
的随机数 .90
4.3.3 查找列表中的最大值
或最小值 .91
4.3.4 对列表中的元素进行
排序 .92
4.3.5 动手练:恺撒加密 93
第5章 过程94
5.1 自定义过程 .94
5.1.1 跟我做:计算圆的
面积 .95
5.1.2 使用自定义过程 .96
5.1.3 动手练:判断质数 97
5.2 递归的使用 .98
5.2.1 跟我做:辗转相除法 98
5.2.2 递归调用的分析 .99
5.2.3 动手做:斐波那契
数列 .101
5.3 面向过程编程 .102
5.3.1 跟我做:卡普雷卡尔
黑洞 .102
5.3.2 模块化程序设计 .104
5.3.3 动手练:快乐数黑洞 105
目 录
VII
第6章 调试程序106
6.1 程序错误概述 .106
6.1.1 产生程序错误的原因 .106
6.1.2 减少程序错误的方法 .107
6.2 程序调试方法 .108
6.2.1 使用数据显示器 .108
6.2.2 输出日志 .108
6.2.3 降低程序运行速度 .109
6.2.4 设置断点 .110
图形编程篇第2部分
第7章 舞台113
7.1 海底探险1:游戏场景 113
7.1.1 游戏情节介绍 .113
7.1.2 制作游戏场景 .114
7.2 舞台布局和管理 .116
7.2.1 舞台布局和显示模式 .116
7.2.2 舞台背景管理 .119
7.3 动手练:电子相册 .123
第8章 角色外观和运动124
8.1 创建角色 .124
8.1.1 海底探险2:创建
角色 .124
8.1.2 创建角色的方式 .127
8.1.3 角色管理区 .127
8.2 角色造型 .128
8.2.1 海底探险3:角色
动画 .128
8.2.2 造型控制 .129
8.2.3 动手练:街舞表演 130
8.3 角色运动 .131
8.3.1 海底探险4:角色
运动 .131
8.3.2 运动控制 .133
8.3.3 动手练:飞行猫 138
8.4 角色特效 .138
8.4.1 海底探险5:角色
特效 .138
8.4.2 设置角色特效 .139
8.4.3 动手练:魔术师 139
第9章 侦测141
9.1 距离侦测 .141
9.1.1 海底探险6:距离
侦测 .141
9.1.2 距离侦测积木 .142
9.1.3 动手练:Pico和小狗
散步 .143
9.2 碰撞侦测 .144
9.2.1 海底探险7:碰撞
侦测 .144
9.2.2 碰撞侦测积木 .146
9.2.3 动手练:巡线甲虫 148
9.3 键盘和鼠标侦测 .149
9.3.1 海底探险8:扔炸弹 .149
9.3.2 键盘和鼠标侦测积木 .150
9.3.3 动手练:反弹球 150
9.4 时间侦测 .151
9.4.1 海底探险9:游戏倒
计时 .151
9.4.2 时间侦测积木 .152
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 响度侦测积木 .159
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 图章 .168
10.3.1 跟我做:种蘑菇 .168
10.3.2 图章积木 .169
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部分
第12章 克隆183
12.1 海底探险12:克隆角色 183
12.1.1 克隆功能的使用 .183
12.1.2 用克隆技术改造
游戏 .184
12.2 面向对象编程 .186
12.2.1 用角色模式编程 .187
12.2.2 用克隆模式编程 .188
12.2.3 动手练:飞扬的
小鸟 .189
12.3 动画案例 .190
12.3.1 绵绵夜雨 .190
12.3.2 飘飘飞雪 .192
12.3.3 水墨蝌蚪 .193
12.3.4 炫彩圆舞 .195
第13章 消息和事件197
13.1 海底探险13:消息机制 197
13.1.1 广播和接收消息 .197
13.1.2 用消息机制改造
游戏 .199
13.2 消息机制 .202
13.2.1 消息的异步和同步 .202
13.2.2 用消息实现模块化
编程 .202
13.2.3 消息队列的应用 .204
13.2.4 动手练:小熊打车 .205
13.3 事件驱动编程 .206
13.3.1 持续不断的事件 .207
13.3.2 事件的并发执行 .207
13.3.3 避免事件的并发 .208
13.3.4 按键事件与按键
侦测 .209
13.4 游戏案例 .210
13.4.1 贪吃蛇 .210
13.4.2 跳下100层 .212
13.4.3 导弹打陨石 .215
第14章 英汉词典221
14.1 搭建项目框架 .221
14.2 词典排序功能 .222
14.2.1 冒泡排序 .223
14.2.2 选择排序 .224
14.2.3 插入排序 .225
14.2.4 快速排序 .227
14.2.5 词典排序 .229
14.3 词典查询功能 .230
14.3.1 顺序查找 .231
14.3.2 二分查找 .232
14.3.3 词典查询 .233
14.4 新增词条功能 .234
第15章 企鹅走迷宫235
15.1 迷宫简介 .235
15.2 迷宫界面 .236
15.2.1 二维数组 .236
15.2.2 迷宫数据结构 .237
15.2.3 加载迷宫地图 .238
15.2.4 构建迷宫外形 .240
15.3 迷宫寻路 .243
15.3.1 迷宫算法分析 .243
15.3.2 迷宫算法实现 .245
参考文献 249