第1版前言
Scratch是由MIT媒体实验室为青少年开发的图形化编程工具,已被翻译成70种以上
的语言,在超过150个国家和地区被广泛使用。就像玩乐高积木一样,使用Scratch编程
简单而有趣。只要用鼠标从140多个不同功能的指令积木中选择和拖曳,把不同的指令积
木按照某种逻辑关系拼搭在一起,就能得到一个可运行的程序,从而创建出各种交互式故
事、动画、游戏、音乐和美术作品等。
Scratch能够与数学、物理、语文等众多学科融合在一起,对青少年的学习有着非常
大的帮助。例如,在Scratch中,不仅能接触到基本的算术运算、关系运算和逻辑运算,
还能接触到平面直角坐标系、绝对值、平方根、三角函数等初等数学知识。毋庸置疑,游
戏总是能够吸引青少年的注意力。用Scratch编写不同类型、不同复杂度的游戏时,需要
适当地运用各种数学知识来设计游戏的算法。例如,通过圆的参数方程来控制角色做圆周
运动,通过抛物线方程来模拟炮弹的运动轨迹,等等。在游戏的驱动下,数学知识将不再
枯燥乏味,它将会驱使青少年主动探究在游戏程序中发挥关键作用的“秘籍”。通过“玩
中学”,Scratch编程能够激发青少年主动学习和运用各个学科的知识。
学习Scratch编程最大的益处就是能够激发青少年的创造力。Scratch简单易用且功能
强大,能快速地将青少年的创意落地,变成一个个交互感极强的作品。在动手创作的过程
中,根据项目的不同,需要融合Science(科学)、Technology(技术)、Engineering(工程)、
Arts(艺术)、Mathematics(数学)等多个领域的知识。例如,对于一个稍复杂的游戏项目,
就需要策划、美工、编程等不同角色的人员参与组成一个开发小组,以团队协作方式共同
创作项目。可以说,Scratch编程是近年来流行的STEAM教育理念的一个极佳实践方式。
本书分为基础编程篇、图形编程篇和进阶编程篇3部分。
第1部分讲授Scratch基础编程知识,介绍如何使用Scratch编辑器开发项目,如何使
用变量、运算符、列表和过程等进行编程,如何使用流程图描述算法和进行结构化程序设
计,等等。该部分提供丰富多彩的趣味数学案例,有韩信点兵、鸡兔同笼、数字黑洞、约
瑟夫环、逻辑推理..
第2部分讲授Scratch图形编程知识,介绍如何控制角色在舞台上运动和进行碰撞侦
测,如何更改角色的外观和创建各种特效,如何播放声音和模拟乐器演奏,如何使用画笔
和图章在舞台上绘制图形和图案,等等。本部分以一个汇集诸多图形编程技术的“海底探
险”趣味游戏贯穿各章,还引导读者创作电子相册、巡线甲虫、手势抓蝴蝶、种蘑菇、模
拟乐器等趣味小游戏。
第3部分讲授Scratch进阶编程知识,介绍如何使用克隆功能和消息机制简化程序开发,
如何编写和组织规模较大或功能复杂的应用程序项目,以及面向对象程序设计和事件驱动
编程思想等。此外,还通过“英汉词典”和“走迷宫”项目介绍常用算法和数据结构的
应用。
本书中的程序基于Scratch 2.0(版本号为v458.0.1)编写,所有范例程序均已调试
通过。
本书假设读者从未接触过编程,从零基础开始介绍Scratch编程知识,帮助读者逐步
建立起Scratch编程的知识体系,适合对编程有兴趣的青少年阅读,也适合希望辅导孩子
进行编程训练的家长和少儿编程培训机构的教师使用。
由于水平所限,本书难免有疏漏或不妥之处,还请读者朋友不吝赐教。
谢声涛
2018年3月