



 
    
   大家好!我叫电小白,是一位Scratch编程爱好者。我有一位超级神通的老师叫清青老师。她不仅引导我进入Scratch编程的大门,还给了我一张Scratch编程主题的时光旅行票!
我刚刚从时光隧道回到现在。这真是一场激动人心的旅行!我到达了十四个不同年代的著名景点,完成了十四项有趣的Scratch编程任务!
这一切都是从我向清青老师请教什么是Scratch开始的。我现在把我的时光旅行见闻分享给你,希望你和我一样,从此喜欢Scratch编程!
 
    
   清青老师,班里很多同学都在学习Scratch,能不能告诉我Scratch到底是什么?我自己查了英文字典,好像是“搔痒痒”的意思。
 
   小白,你好!Scratch呀,那是一门计算机编程语言!“from scratch”在英语成语里表示“从零开始”“白手起家”的意思。用Scratch作为这门编程语言的名字,表示它很容易学习。
 
   语言?我知道世界上有汉语、英语、法语、德语什么的,Scratch语言和这些语言也一样吗?
 
   你说的那些是人类的语言,是人与人之间交流使用的;而Scratch是计算机编程语言,也就是人与电脑之间使用的语言。
 
   我现在还没有学习过Scratch语言,但我不是每天都可以正常跟电脑交流吗?为什么非要学Scratch语言呢?
 
   我们大多数人每天可能会用电脑上的软件来编辑文字、查看电子邮件、管理自己的照片等,但这只是在使用现成的软件。如果我们学会了Scratch编程,我们就可以自己开发各种各样的软件啦,这是很不相同的!
 
   哦!那我明白了,就好像我现在会用电脑玩俄罗斯方块游戏,如果学会了Scratch,我就可以自己开发类似的俄罗斯方块游戏了!啊哦,我刚才提到游戏了吗?不小心说漏嘴了!
 
   同学们,一提到俄罗斯方块,你是不是也和我一样,脑子都被这些块块填满了呢?不过,这样也好,脑子里原先进的水,现在总算都被挤出来了!
看来我和老师的差距,就是我还在玩俄罗斯方块,而老师早就可以开发像俄罗斯方块之类的许多游戏了!
 
     
   我现在已经知道Scratch是一门编程语言了,但我还不清楚它是怎么做到的呢。清青老师能帮我再详细解释一下吗?
 
   在进一步解释前,我先问你一个问题:假如你现在只会说汉语,完全不懂英语,然后让你跟一位只会说英语而不懂汉语的人交流,你该怎么做呢?
 
   要让我和完全不懂汉语的外国人交流呀?好吧,如果实在要这样的话,我应该找一位同时精通汉语和英语的人来做翻译。Oh yeah!我是不是很机智呢?
 
   不错,这时你需要翻译!否则,语言不通,喊破嗓子也没法交流。现在,把计算机看成那位只懂英语的外国人,而Scratch就是你找的同时精通中英文的翻译,这样就容易理解了。
 
   我明白了!我们用Scratch语言编写出程序代码,这个过程就好像我们对翻译官说中文;然后,Scratch将我们的程序代码翻译成机器能识别的语言,相当于翻译成英语给外国人听。
 
   我以前听说过计算机编程,好像还有什么C语言、C++、Python、Java之类的。Scratch编程语言跟它们相比,主要有什么不同呢?
 
   看来你懂得还不少呀!每一门编程语言都有它的特点和优势,Scratch与它们相比,最大的不同(我认为同时也是Scratch的优势之一)在于Scratch的代码是基于图形的,而其他语言都是基于文本的。
 
   老师请等一下,刚刚我以为自己都弄明白了,现在又开始糊涂了。什么叫基于图形,基于文本的?能不能举个例子看看呢。
 
   在Scratch出现之前,编写程序基本上是通过键盘输入文字代码,然后由编程软件编译或解释成机器语言;而Scratch提供的指令都是图形化的积木方块,我们只需按一定的规则“搭建”积木就可以了。例如,要在屏幕上打印“Hello world!”这个字符串,C++编程需要输入大段的文本代码,Scratch只需要放置积木。
 
     
   有意思!看来学Scratch编程真的就像搭积木一般容易了!我不需要去记那么多用英语单词表示的计算机指令啦!
 
   小白,你先别高兴太早了。我必须提醒你:Scratch编程的门槛虽然低,很容易学,但如果希望精通这门编程语言并开发出优秀的作品,你所需付出的努力一点都不比学习其他语言少。
 
   老师说得对!我已经做好心理准备迎接挑战。请老师再给我指点迷津,我应该怎样学,才能学得更快更好,谢谢!
 
   这样吧,我送你一张以“Scratch编程”为主题的时光旅行票。你可以到达14个时光站点,也有机会完成14项Scratch编程任务,旅程结束后你就有希望成为Scratch编程高手了!
出发前,请仔细看一下票面上的信息,提前了解你要去的站点和任务。若需要帮助,请发微信给我,祝好运!
 
   太好了!时光之旅,我做梦都想去!既可以旅行,同时又能学习Scratch编程,想想都很激动!我有点迫不及待了,马上出发啰!
 
   安全提示:
本次时光旅行,最久远的过去将回到两千多年前的古希腊、最遥远的未来将到达3000年后的地球。乘坐时光机时,请注意系好安全带,切勿将头、手或身体的任何部位伸出窗外。祝你好运!
另请注意:此票不可退款,也不可转让。
前半程,我们将按次序先后到达以下七个站点。
第1站:时间:公元前776年。地点:古希腊奥林匹亚。
任务:用绝对运动和相对运动指令编写动画参加运动会。
第2站:时间:公元前196年。地点:古埃及。
任务:用外观类和运动类指令编写流畅逼真的动画劝服法老停息战争。
第3站:时间:公元前202年。地点:垓下(今安徽省灵璧县东南)。
任务:用声音类指令演奏一段乐曲。
第4站:时间:不详。地点:神笔马良故居牛棚。
任务:用画笔类指令画几何形状,自编简易画板软件。
第5站:时间:公元208年。地点:湖北荆州华容。
任务:事件类指令和消息机制编写,多角色互相协调的程序。
第6站:时间:公元207年。地点:河南南阳。
任务:综合使用学过的指令编写,同时考虑循环机制和选择机制的程序。
第7站:时间:公元223年。地点:四川成都。
任务:综合使用学过的指令编写人机交互的程序。
 
   安全提示:
本次时光旅行,最久远的过去将回到两千多年前的古希腊、最遥远的未来将到达3000年后的地球。乘坐时光机时,请注意系好安全带,切勿将头、手或身体的任何部位伸出窗外。祝你好运!
另请注意:此票不可退款,也不可转让。
后半程,我们将按次序先后到达以下另外七个站点:
第8站:时间:公元1090年。地点:京口(今镇江)梦溪园。
任务:编写包含普通变量和列表变量的通讯录和古诗数据库程序。
第9站:时间:公元1795年。地点:德国哥廷根大学。
任务:综合运用已学知识编程绘制正十七边形。
第10站:时间:公元1800年。地点:中国江西景德镇。
任务:用结构化编程的思想实现带参数的正多边形函数。
第11站:时间:公元1736年。地点:哥尼斯堡(今加里宁格勒)。
任务:编写人狼羊菜过河的小游戏。
第12站:时间:公元353年。地点:会稽山阴之兰亭。
任务:编写诗词填空的小游戏。
第13站:时间:公元1868年。地点:英国克里夫兰。
任务:模拟交通信号灯控制下交通路口的车辆通行。
第14站:时间:遥远的未来。地点:地球+外太空。
任务:编写玩家飞船穿越陨石、外星怪物、怪物Boss诸多关卡的游戏。
就这样,我带着手机、背上行囊,最重要的是带着安装好了Scratch2.0软件的电脑,踏上了Scratch时光之旅!
如果你也要出发,请检查一下自己的电脑上Scratch2.0开发环境是否已经安装好。如果不确定,请到本书的附录A中查看安装Scratch2.0的方法,并熟悉一下操作界面哦!
