和孩子一起学编程:用Scratch玩Minecraft我的世界(视频版)
  • 推荐0
  • 收藏0
  • 浏览851

和孩子一起学编程:用Scratch玩Minecraft我的世界(视频版)

张继春 (作者) 

  • 书  号:978-7-121-41618-7
  • 出版日期:2021-08-10
  • 页  数:256
  • 开  本:16(170*240)
  • 出版状态:上市销售
纸质版 ¥79.90
本书将Scratch3.0编程和Minecraft游戏结合起来,从而让编程学习变成一件快乐的事情,能够提高广大青少年对编程的学习兴趣,进而形成一种持续的编程学习动力,培养较强的编程自主学习能力。全书共分10章,首先介绍Scratch3.0基础内容和Minecraft扩展模块的功能,然后介绍如何通过编程对玩家位置、聊天区信息、单个方块放置与循环操作、复杂三维几何模型、自制积木、放置批量方块、海龟画图、生物放养等8个方面进行操作来玩转Minecraft(《我的世界》)游戏,从而做到以学促玩、边玩边学。本书所用的Scratch3.0软件由作者二次开发生成。另外,本书还配套完整的教学视频,即本书提供完整的Scratch3.0创新学习解决方案。
目前市面上少有的将Scratch与Minecraft编程相结合的图书。所有内容均经过作者上小学的女儿和其同学亲自验证过,有趣、好玩。
1.提高孩子编程兴趣的重要性
俗话说“兴趣是最好的老师”,因此,如何提高孩子对编程的兴趣,是每一个希望孩子学习编程的父母都应该认真思考的问题。对我来说,这个问题从女儿上小学开始就一直在思考。作为多年从事青少年科普领域教研和教育工作的一名高校教师,我通过多种途径对孩子们学习编程的兴趣和动力进行了调查,结果发现大部分学校或培训机构开设的编程类课程都很难真正培养孩子们的编程兴趣,更无从说提高孩子们对编程的学习动力。必须承认,很多从事儿童编程事业的教师在课件内容和上课形式上都进行了大量的创新工作,但收效甚微,可能仅仅使孩子们喜欢教课的老师或者上课的方式,对编程知识本身却没有真正喜欢,他们只会在上课时跟着老师被动地学习编程内容,很少有孩子在课余时间主动学习编程。纵使编程课程按照项目制教学的方式让孩子们能够开发出一个个好玩的小游戏,但这些小游戏和Pad上的原版游戏相比具有很大的局限性,可玩性较差。因此,这些小游戏无法使孩子们获得成就感,也无法提高孩子们对编程的兴趣。
初学编程的孩子们一定要注意兴趣的培养,千万不要让他们在刚接触程序时就有挫败感,从而一开始就丧失了对编程的兴趣。
对低龄青少年而言,玩是他们的天性,也是快乐的源泉。只有和玩相结合,才能使孩子们快乐;只有不断刺激孩子们对玩的渴望,才能使他们形成不断的自主学习的动力。
2.和孩子一起学编程——两位父亲的探索
Alexander R. Pruss是一位三个孩子的父亲,拥有数学和哲学两个博士学位,现在是美国贝勒大学哲学系教授。Alexander R. Pruss教授除在哲学和数学专业上有很深的造诣外,还拥有超强的编程能力,同时对天文学也具有浓厚的兴趣。他对教孩子们编程很感兴趣,主要是因为他自己有三个孩子,而且在教孩子编程的时候他获得了很大的快乐。他发现他的孩子们喜欢玩Minecraft游戏,通过Minecraft游戏可以培养孩子们的想象力、创新能力和团队合作能力。因此,他认为以Minecraft游戏为编程目标对象可以大大提高孩子们的编程兴趣和原动力。他知道在树莓派系统下可以通过MCPI接口直接对Minecraft游戏进行编程,但大家现在普遍使用的是计算机(简称PC)。2015年为了教他的大孩子学习编程,他在Raspberry Juice 的基础上开发了Raspberry Jam Mod,从而在不需要启动服务器的情况下利用PC可以对Minecraft进行编程。2020年为了教他最小的孩子学习编程,他又基于Raspberry Jam Mod编写了Scratch 3.0的扩展程序,从而使他的小孩能够用Scratch对Minecraft进行编程。他认为他编写的Raspberry Jam Mod有两个作用,一个是教孩子们编程,另一个是教孩子们学习三维几何建模。
同样,作为一名父亲,我深刻理解Alexander R. Pruss教授的所作所为,为了能够教好孩子们学习编程,他还需要和孩子一起学习编程知识,除孩子学习的编程内容外,他需要进一步学习很多更高深的编程知识。因此可以称为“和孩子一起学编程”,这包括两部分工作,一方面是和孩子一起学习共同的编程知识,从而了解儿童编程的知识体系,以便能够对孩子进行指导或辅导;另一方面是研究儿童编程的特点,学习如何提高孩子的编程兴趣,从而让孩子们学习编程的过程更加高效,Alexander R. Pruss教授在第二方面做了非常出色的工作。
我的女儿是一个非常漂亮的小姑娘,女孩的天性使她对娃娃之类的玩具更感兴趣,对机械和编程方面,她好像并没有很大的兴趣。如何培养她的编程兴趣?和Alexander R. Pruss教授一样,我进行了认真的思考和探索。现在的世界是一个开源的世界,MCPI、Raspberry Juice mod及Raspberry Jam Mod等资源都是开源的,任何人都可以免费下载和修改。我开始陆续对上述资源进行深入研究和修改,所有修改的目的是使这些资源更加适合中国,或者说在这些资源的基础上开发出适合中国孩子学习编程的资源和工具。
Scratch是目前儿童学习编程的主要语言。Alexander R. Pruss教授已经将Scratch和Minecraft结合在一起,可以大大提高低龄儿童学习编程的兴趣。但是Alexander R. Pruss的Scratch扩展模块完全是英文的,而且是在线网络界面,必须连接到国外网址上。因此,Alexander R. Pruss的Scratch扩展模块不适合中国孩子学习,特别是不适合中国低龄儿童学习使用。
在Alexander R. Pruss教授前期工作的基础上,首先通过对程序的翻译和修改,我很快就推出了中文版的扩展模块;然后通过测试发现,在源程序中有很多方块类型和实体类型缺失,而且对特殊方块的属性问题更是表达不精确,于是重点解决了这两个问题;再次根据需要定义了一些新的模块和功能;最后将所有修改后的程序打包成一个可本机运行的EXE程序。
回顾一下,我修改和编写软件的过程实际上是一个和女儿一起学习编程的过程:女儿在学习用Scratch软件玩Minecraft的编程知识;我在学习Scratch软件的基本用法、Minecraft游戏的基本操作、Scratch扩展功能的开发及Electron软件的使用等内容,当然,也学习了使用Scratch对Minecraft进行编程的知识。女儿在学习编程,我在每一个软件开发阶段也在学习编程。这是真正地和孩子一起学编程的过程,所以本书命名为《和孩子一起学编程》。3.关于和孩子一起学编程的建议强烈建议
家长和孩子一起学习本书,原因如下。
(1)家长能够快速学会编程
一说到学习编程,家长就认为是孩子们自己的事情,认为自己没能力,也没有精力学会编程。本书提供一种快速学习编程的方法,而且本书的撰写简单明了,以实例操作为主,家长通过阅读本书可以很快完成本书的所有实例,从而学会Scratch编程;也可以和孩子同步学习本书的内容,这样共同学习,共同讨论,共同进步,会使亲子关系更加融洽。
(2)可以在家庭内进行项目化教学
可以按照项目制的要求将编程任务进行分解,由不同家庭成员按照项目制进行编程,每位家庭成员完成一项或多项子任务,最后由家庭全员一起来完成Minecraft中的整个项目,共同享受编程和游戏带来的快乐。
(3)思考和理解孩子们学习编程的关键影响因素
首先必须深刻理解兴趣是最好的老师,而获得成就感的快乐是孩子们能够持续学习编程的动力。其次,编程离不开专业知识,不同的编程项目需要不同的专业知识,离开专业知识,程序就只剩下类似文件格式的框架。不管是成人编程,还是青少年编程,学习编程耗时最多的部分往往是描述专业知识的程序部分。不同年龄段的孩子学习编程都离不开其知识结构和智力水平,也就是离不开孩子们已经掌握的知识背景。
(4)树立正确的游戏价值观
家长对孩子们玩游戏不在“堵”,而在于正确疏导。对孩子们来说,玩是天性,凡是能玩的东西基本上都能引起他们的兴趣和动力。Minecraft是一个风靡全球的沙盒类游戏,其玩家包含各年龄段的人群。这款游戏提供的自由度和创造性是其他游戏都无法比拟的。国外已经陆续将Minecraft作为STEM教育的重要载体,而且在微VI与孩子一起学编程:用Scratch玩Minecraft我的世界软收购Minecraft之后,还专门开发出Minecraft的教育版。这款游戏的中文名之所以叫《我的世界》,是因为它有和真实世界相似的属性。在现实世界中,我们要完成一项任务,要进行各种规划、准备、设计、计算和实施等工作。同样,在Minecraft游戏里,也要完成类似的这些工作,而要完成这些工作,需要玩家具有各种专业知识和生活知识。为了完成任务,玩家只好缺啥学啥、用啥查啥,这样在完成游戏的任务中,玩家就会主动学习各种知识——这是真正的“玩”中学。
4.本书内容
本书的写作目的就是为了提高青少年对于编程的学习兴趣,将编程变成一件快乐的事情。本书内容就是介绍如何使用Scratch对Minecraft进行编程。全书共分为10章。
第1章介绍Scratch 3.0的界面和基础操作,通过简单的入门实例使零基础的青少年可以直接利用本书进行Scratch编程的学习。
第2章介绍Scratch的Minecraft扩展模块,主要介绍该扩展模块的积木块组成以及各积木块能够完成的功能。
第3章介绍玩家位置的概念,通过实例介绍如何获取和设置玩家的具体位置。
第4章介绍聊天区信息输出的命令,用户可以通过聊天区输入指令进行Minecraft的相应设置,也可以通过程序控制聊天区输出用户交流以及坐标显示等信息。
第5章介绍方块放置命令和循环的用法,通过实例分别练习手动放置方块和循环自动放置方块等操作。
第6章介绍如何采用循环和条件语句自动放置方块,从而生成复杂的三维模型。本章对圆形、圆柱体、球体和长方体分别进行编程练习。
第7章介绍自制积木的用法,通过实例建立长方体自制积木,并且通过该自制积木的不断重复使用,建立一个高层建筑小区。
第8章介绍批量放置方块命令,通过实例练习该命令快速建构空间立体几何的用法。
第9章介绍在Minecraft里使用海龟画图命令的基本用法,通过该命令可以建立很多复杂且漂亮的图案造型。
第10章介绍如何通过命令在指定位置放养指定的生物,使大家通过编程实现生物放养,从而能够更方便地了解Minecraft中各种生物的特性。
5.本书特色
? 内容的创新。本书将Scratch与Minecraft编程相结合,是目前市面上少有的。
? 软件创新。本书所提供的Scratch 3.0是含有Minecraft扩展模块的创新版本。
? 编程学习方面的创新。本书以青少年喜爱的Minecraft作为编程载体,也是针对青少年编程的一个教学载体的创新。 ? 游戏玩法的创新。玩家通过编程会极大地提高对Minecraft的完成效率,使玩家可以将主要精力集中在思考和学习中,而不会被烦琐且技术含量低的工作耽误太多的时间。
6.致谢
首先感谢电子工业出版社,感谢李利健老师和她的同事们,特别是李利健老师,从选题策划到大纲规划、程序界面修改,以及书稿内容优化等方面,她都付出了大量的心血。
其次要感谢Minecraft和Scratch,感谢其开发者们为中国青少年儿童带来快乐和学习编程的机会。感谢MCPI、Raspberry Juice和Raspberry Jam Mod的开发者们,尤其要感谢Alexander R. Pruss教授在Raspberry Jam Mod和Scratch扩展模块方面做的前期工作。
最后要感谢威海市高新区第一小学冷建家团队和辽宁省阜新市实验小学张建宇团队,他们在本书内容的测试及课程课堂教学过程中提供了大量的帮助。
7.关于软件版本
本书所采用的Scratch是带有Minecraft扩展模块的Scratch 3.0版本,采用的Minecraft是1.12.2 forge版本,请大家务必购买正版的Minecraft Java版本并安装1.12.2 forge,详细安装说明见本书附录A。
8.联系作者
尽管我希望本书可以帮助到每一个想学习编程的孩子,但由于水平有限,再加上时间仓促,难免有疏漏和不足之处。真诚希望所有期待孩子学好编程的家长和一线的中小学科技教师能和我联系,即可以提出可行性建议和意见,也可以和我展开讨论或探讨,旨在共同促进青少年科技创新及编程教育事业的发展。联系方式如下。
邮箱:zhangjichun@hitwh.edu.cn;QQ讨论群:一群:872397838;二群:872040187。
张继春

目录

第1章 Scratch编程基础…………………………………………………………… 001
1.1 代码编程与图形化编程 ………………………………………………………001
1.2 什么是图形化积木编程 ………………………………………………………002
1.3 熟悉Scratch 界面 ……………………………………………………………006
1.4 Scratch 简单入门实例 ………………………………………………………007
实例1-1 :小猫动起来 ………………………………………………………… 007
实例1-2 :小猫的角色造型 …………………………………………………… 008
实例1-3 :实现跳舞 …………………………………………………………… 010
实例1-4 :绘制正方形 ………………………………………………………… 011
实例1-5 :变量的基本使用 …………………………………………………… 014
实例1-6 :循环的种类 ………………………………………………………… 017
实例1-7 :条件语句 …………………………………………………………… 020
实例1-8 :随机数的应用 ……………………………………………………… 023
第2章 Minecraft扩展模块简介… ……………………………………………… 025
2.1 加载Minecraft 扩展模块 ……………………………………………………025
2.2 认识Minecraft 模块与积木 …………………………………………………026
2.2.1 Minecraft 程序连接积木 ………………………………………………… 026
2.2.2 获取并设置位置信息相关积木 ………………………………………… 027
2.2.3 聊天区信息显示积木 …………………………………………………… 027
2.2.4 方块、生物(物品)放置与获取位置类积木 ………………………… 027
2.2.5 向量类积木 ……………………………………………………………… 028
2.2.6 海龟画图类积木 ………………………………………………………… 029
2.3 入门实例:Hello World ………………………………………………………030
第3章 位置的获取与设置…………………………………………………………… 032
3.1 位置的表示 ……………………………………………………………………032
3.2 获取玩家位置信息 ……………………………………………………………034
实例3-1 :让角色告诉玩家的位置 …………………………………………… 034
3.3 设置玩家位置信息 ……………………………………………………………037
实例3-2 :一飞冲天 …………………………………………………………… 037
实例3-3 :凌波微步 …………………………………………………………… 041
3.4 获取当前位置最高方块的高度数值 …………………………………………045
实例3-4 :跳到最高的树上 …………………………………………………… 045
第4章 聊天区信息输出……………………………………………………………… 048
4.1 常用的设置指令 ………………………………………………………………048
4.1.1 永久白天的设置 ………………………………………………………… 048
4.1.2 摆脱雷雨天的困扰 ……………………………………………………… 050
4.2 聊天区信息输出函数 …………………………………………………………051
实例4-1 :玩家信息输出 ……………………………………………………… 051
实例4-2 :显示键盘输入信息 ………………………………………………… 052
实例4-3 :显示玩家位置信息 ………………………………………………… 053
实例4-4 :显示凌波微步的位置信息 ………………………………………… 055
第5章 使用循环与条件玩转方块…………………………………………………… 058
5.1 方块的位置与类型 ……………………………………………………………059
5.2 放置方块 ………………………………………………………………………060
5.3 实例 ……………………………………………………………………………060
实例5-1 :瞧,东面有西瓜 …………………………………………………… 060
实例5-2 :用循环生成4 个西瓜方块 ………………………………………… 063
实例5-3 :巨无霸黄金立柱 …………………………………………………… 065
实例5-4 :空中巨型坐标系 …………………………………………………… 067
实例5-5 :空中方程曲线y=2x ………………………………………………… 070
实例5-6 :单层可见循环 ……………………………………………………… 074
实例5-7 :移动的钻石方块 …………………………………………………… 077
实例5-8 :双层可见循环(一面黄金墙体的创建) …………………………… 080
实例5-9 :依次出现双色羊毛方块 …………………………………………… 084
实例5-10 :创建黄金层和钻石层交替使用的墙体 …………………………… 088
实例5-11 :实现鲜花小径 ……………………………………………………… 092
实例5-12 :四处放火 …………………………………………………………… 094
实例5-13 :设计冰人 …………………………………………………………… 096
实例5-14 :连续显示玩家的位置坐标信息 …………………………………… 099
实例5-15 :连续显示玩家脚下的方块类型 …………………………………… 101
实例5-16 :埋地雷 ……………………………………………………………… 104
第6章 3D模型建模实例… ………………………………………………………… 108
6.1 水平面内圆形的建模及其应用实例 …………………………………………108
实例6-1 :创建钻石水平圆环 ………………………………………………… 109
实例6-2 :创建钻石同心圆环 ………………………………………………… 111
实例6-3 :创建钻石圆形围墙 ………………………………………………… 114
实例6-4 :创建圆柱形建筑物 ………………………………………………… 117
实例6-5 :创建圆形游泳池 …………………………………………………… 121
6.2 竖直面内圆形的建模及其应用实例 …………………………………………128
实例6-6 :创建竖直黄金圆环 ………………………………………………… 128
实例6-7 :创建水平黄金管道 ………………………………………………… 130
实例6-8 :创建奥运五环 ……………………………………………………… 133
6.3 球体的建模及其应用实例 ……………………………………………………136
实例6-9 :创建钻石三维球体 ………………………………………………… 136
实例6-10 :创建真核细胞结构三维造型 ……………………………………… 139
6.4 长方体建模实例 ………………………………………………………………147
第7章 利用自制积木建造小房子…………………………………………………… 152
7.1 自制积木的使用过程 …………………………………………………………152
7.1.1 自制积木的定义 ………………………………………………………… 152
7.1.2 自制积木的调用 ………………………………………………………… 153
7.2 实例 ……………………………………………………………………………153
实例7-1 :使用自制积木连续显示玩家位置信息 …………………………… 153
实例7-2 :使用自制积木建立长方体 ………………………………………… 156
实例7-3 :创建长方体游泳池 ………………………………………………… 160
实例7-4 :实现场地清理 ……………………………………………………… 162
实例7-5 :创建黄金金字塔 …………………………………………………… 165
实例7-6 :小房子建模 ………………………………………………………… 168
实例7-7 :带坐标值输入参数的创建小房子自制积木 ……………………… 173
实例7-8 :创建高层小区 ……………………………………………………… 174
实例7-9 :创建第二种小房子 ………………………………………………… 177
第8章 使用放置批量方块命令…………………………………………………………181
8.1 放置批量方块命令 ……………………………………………………………181
8.2 实例 ……………………………………………………………………………183
实例8-1 :创建钻石金字塔 …………………………………………………… 183
实例8-2 :清理场地 …………………………………………………………… 185
实例8-3 :创建长方体水库 …………………………………………………… 187
实例8-4 :埋置TNT 阵列 ……………………………………………………… 189
实例8-5 :创建黄金小房子 …………………………………………………… 190
第9章 在《我的世界》里用海龟画图……………………………………………… 194
9.1 海龟画图积木 …………………………………………………………………194
9.2 实例 ……………………………………………………………………………195
实例9-1 :单个四边形图案的绘制 …………………………………………… 195
实例9-2 :通过循环生成单个四边形 ………………………………………… 198
实例9-3 :多四边形图案的绘制 ……………………………………………… 200
实例9-4 :多边形图案的绘制 ………………………………………………… 204
实例9-5 :多边形自制积木 …………………………………………………… 206
实例9-6 :不规则图案的绘制 ………………………………………………… 209
第10章 生物放养… ……………………………………………………………………211
10.1 《我的世界》中生物的分类 …………………………………………………211
10.1.1 被动型生物 ……………………………………………………………… 211
10.1.2 中立型生物 ……………………………………………………………… 212
10.1.3 攻击型生物 ……………………………………………………………… 212
10.1.4 BOSS 级生物 …………………………………………………………… 213
10.1.5 效用级生物 ……………………………………………………………… 213
10.2 实例 …………………………………………………………………………213
实例10-1 :王二小放羊 ………………………………………………………… 213
实例10-2 :鸡兔同笼 …………………………………………………………… 214
实例10-3 :狼入羊群 …………………………………………………………… 217
实例10-4 :我的牧场我做主 …………………………………………………… 221
实例10-5 :游泳池里的鱿鱼 …………………………………………………… 223
实例10-6 :怪物齐出动 ………………………………………………………… 225
实例10-7 :铁傀儡打怪物 ……………………………………………………… 227
实例10-8 :利用方块生成铁傀儡 ……………………………………………… 229
附录A 软件安装与测试……………………………………………………………… 232
后 记………………………………………………………………………………… 238

读者评论