/LearnScratchMagicWay

续写LearnScratchMagicWay

Primary LanguageHTML

Scratch魔法学习

本书是对开源项目Learn Scratch Magic Way的二次整理和续写,希望能够帮助到更多朋友,主要将包含四个部分:

  1. Scratch入门
  2. 程序逻辑及Scratch高级技能
  3. 数学和物理概念可视化应用
  4. 游戏设计专题

一、目标读者

  1. 无编程基础的Scratch K-6 初中以下学生
  2. 有编程基础想学习Scratch高级用法的7-12年级初高中学生
  3. 想使用Scratch制作交互式教具的数学物理老师
  4. 全年龄段想学习游戏设计的开发者

二、为什么写这本书

Scratch的编辑器十分类似于Unity等主流游戏编辑器,sprites & scripts的概念也是基本的游戏编辑器概念。十分适合制作各类交互式的动画、游戏和课堂教具。本书的原作者gx1989mao也曾是一名独立游戏策划和开发者,后从事了面向小学生的Scratch的课程设计。 其在设计课程的过程之中有许多原创的点子和游戏原型迸发出来,系统的编排之后均收录于这本书之中。 市面上现有的Scratch教材多是介绍Scratch的基本概念和应用,对于Scratch这个工具可以发挥的极限远没有触及。所以本书在第四部分中,讲述了许多Scratch可以承载的复杂游戏设计模式。 原作者gx1989mao只完成了第一部分的编写,本人对该项目进行了一些整理和续写,希望能帮到有需要的朋友。

三、本书的难度如何

  1. 本书并不是一本Scratch的从零开始到精通的教材,面向儿童读者也应该是参加过或者正在参加Scratch培训的。
  2. 笔者尽量用容易理解的语言描述有一定深度的**,小学和初中学生可以把此书当做可以自己动手操作的科普教材阅读。
  3. 此外书中对于Scratch各种细节和设计原则的讨论,非常适合参加了Scratch培训想要进一步提升自己实战能力的孩子们。
  4. 书中的许多代码和实现方式更是方便孩子们直接使用,对于竞赛或者是打开设计思路应该有一些帮助。
  5. 另外本书很方便没有程序基础的老师和大朋友来阅读,尽量覆盖了Scratch会遇到的各类疑难问题,并且给出了许多可用的原型。

四、什么是程序

在普遍的介绍里面,程序都被解释为一种和计算机对话的通用语言。但是作者在这里要继续深入一下这个话题。程序是一种控制数据的方法。这里包含两件事情,就如同阴阳一样,阴就是数据,阳就是控制或操纵数据的方法。

对于数据,我们把它们存进了各种变量的盒子里面,这样还觉得不够方便,还要发明很多存储数据的结构。这样我们就能很方便的找到并且控制数据。

对于控制数据的方法,人类掌握的手段很有限,无非是判断和循环。但是这两种手段的组合威力无穷,甚至人工智能都是依靠这两个手段完成的。

五、为什么Scratch要借鉴游戏编辑器

游戏对于人类来说,既是魔鬼也是天使。人类在现实世界之中学习技能时往往很难知道自己到底到了什么地步,就像武侠小说中的武痴总喜欢找人切磋,无非是想给自己一个能力反馈。然而在游戏之中,任何一个动作都会得到反馈,小到按钮物品音效,大到世界排行榜,我们也可以清楚的知道自己还有多久升级。这种反馈密度带来的落差,让我们更加喜欢游戏,甚至沉迷。但是从另一个角度来看,我们在学习任何技能的时候,何尝不能给自己多设置一些反馈的点,用游戏的原理指导自己在现实世界进步呢。物本无善恶,心有不坚定,仅此而已。

对于儿童来说,即时的反馈对于他们坚持下去的意义更为重大。随着年龄增长,儿童才逐渐可以沉得下心。所以Scratch做成一个类游戏编辑器,正是为了在学习枯燥程序逻辑的同时,给儿童提供足够反馈。

此外,游戏设计的世界,对于一般人来说是完全未曾了解过的。即使是一名资深的游戏玩家,如果让他们设计游戏,作品往往只有自己觉得有趣。而且这种有趣也不能持续很久。本书的第四部分会讨论有关游戏设计的原则和通用模式,并且会以案例来带读者学习。帮助读者做出更加有趣的作品。


六、声明

本书不涉及任何对Scratch原有代码底层的更改,使用版本为Scratch3.0。 本书中涉及的代码均为作者原创或引用自Learn Scratch Magic Way项目,如遗漏了引用,请及时联系作者更改。