混乱
《零基础学Miencraft编程》试读内容
本文为在我的世界中文论坛公开的《零基础学Minecraft编程(图文版)》公开的试读版,同时本贴作为一个活动主题进行有奖试读!
只需回复本贴一段试读感想并且给这个章节打个分:(★★为满分),我们会随机抽取6位回复本贴的会员送出这本书!
由于格式转换原因,在线试读效果与实际效果有较大差别,如果想要获得更好的阅读体验,请下载文末的pdf格式文件。
试读内容2-冒险7由于体积过大,转移到帖子内观看较为困难,请下载文末pdf格式文件观看。
目   录
CONTENT









概   述





                              
你是一个冒险家吗?你喜欢尝试新事物或学习新技能吗?你是 Minecraft 的忠实粉丝吗?你想通过计算机编程与游戏互动,来拓宽你在 Minecraft 中的能力,让你的朋友惊异于你的创造力与“魔法”吗?如 果答案为“是!”,那么此书就是为你准备的。

冒险家


Minecraft 是什么

Minecraft 是一个“独立沙盒游戏”(sandboxindie game),你可以在其中建造建筑、收集物品、 挖掘矿物,以及为了生存而与怪物战斗。游戏展现给你一个由不同方块组成的 3D 虚拟世界,在虚拟世界中,每一个方块都有它自己在网格里的位置。图 1 所示为一个 Minecraft 世界的例子。


图 1      Minecraft 的世界

Minecraft 是如何诞生的
独立游戏,全称叫“独立视频游戏”(independent video games),是由个人或小团队制作的。它们通常没有游戏发行商的任何资金或是支持。但由于它们的独立性质,独立游戏往往比主流的游戏更加有创新性。依据维基百科所述,Minecraft的创始人是瑞典计算机程序员 Markus Persson,他在游戏内 名为“Notch”。在 2009 年,Notch 展示了 Minecraft的早期版本,而第一个官方正式版是在 2011 年 发布的。Notch 创立了一家名为 Mojang AB 的瑞典公司,继续在不同平台上开发 Minecraft,这些平台 包括 PC、Mac、树莓派、Linux、iOS、Android、Windows  Phone、Xbox  与  Playstation。
你可以在一个名 为《Minecraft:Mojang 故 事》(http://en.wikipedia.org/wiki/Minecraft:_The_ Story_of_Mojang)的纪录片中找到更多关于 Minecraft的故事。

Minecraft 编程是什么
本书内容主要关于计算机编程—采用 Minecraft 游戏的方式来教你编程。如果你正在寻找关于如何 建造建筑与战斗的技巧,附录 A 中列出的一些书可能会对你有帮助。
通过对 Minecraft 编程,你可以获得更加刺激、更富创造力且更具个性化的游戏体验。当你在正常 地玩游戏时,你遵守着 Minecraft 游戏设计师制定的基本规则。但通过编写程序与 Minecraft 游戏世界交 互,你可以使复杂与重复的任务—如建造大型的房子或建筑物,变得自动化。你可以使游戏和游戏中的 物体有新的特性,甚至发明游戏创始人都没有想到过的新物品。但最重要的是,你可以学习一项通用的技能—如何使用 Pyhton 语言进行编程。在这之后,你就能够把它应用于各种各样的事情,而不仅仅是在 Minecraft 中。如图 2 所示为一个由简短的 Python 程序自动建造的巨大房屋。
在一个最近的关于为什么所有的孩子都要学习编程的视频中,引用了Will.i.am 的话:“顶尖的程序 员就是今日的摇滚巨星。”你在本书接下来的冒险中学到的新技能,将会让你的 Minecraft 经历更具个性化、 更富创造力、更富雄心。你在编程时所使用的新“魔法”会让你的朋友和其他玩家感到惊讶,并使他们来 询问你使用了何种“魔法”来实现这种惊人的壮举。答案是理所当然的—是计算机编程的魔力。


图 2     仅用 20 行的 Python 程序建造出的巨大房屋

这本书是给谁写的
本书是写给任何喜欢玩 Minecraft 且想要学习编程并用它来做更多的事情的青少年及爱好者的。本系列图书主要针对 11 ~ 15 岁的青少年读者,但书后面的一些更具挑战性的冒险可能适合年龄更大的读者。
本书前面的章节也适合只有 8 岁的读者。
也许你已经是一名 Minecraft 的 专 家 了,但却发现花费很长时间来建造大型建筑让人十分头 疼。也许你会想要找到拓展游戏的方式,给游戏世界增加一些额外的智能化与自动化功能。无论你的 理由是什么,本书始终会是你在Minecraft 编程之旅中的指南。而每个冒险者都知道,指南永远是你背包中最重要的物品。你的长途旅行会从简单的项目开始,例如,在 Minecraft 的聊天区域发出一句话。通过在 Minecraft 中学习一些基本的Python 语 言,你可以探索如何使用新的计算机编程 技 能 在 Minecraft 中制作出激动人心的游戏。在冒险的最后,你学到所有的技能将会使你成为一个 Minecraft 编程的先行者!

你将会学到什么
你将了解 Minecraft 的很多方面,以及如何通过 Python 语言来与 Minecraft 的功能进行交互。你将 探索在 3D 世界中如何使用坐标来定位方块,如何获得玩家所处位置,如何在 Minecraft 世界中增删方块, 以及如何判断方块是否已被玩家击中。
如果你使用的是树莓派,你会学习如何把 Minecraft 编程接口和 Minecraft 树莓派版游戏绑定在一起。如果你使用的是 PC 或 Mac,你将学习如何用社区开发的 CraftBukkit 服务端建立和运行自己的本地Minecraft 服务端,并学习如何通过安装 RaspberryJuice 插件来使用和树莓派相同的编程接口。


你将学习如何使用 Python 编程语言编写程序,从最基础的“你好,Minecraft世界”程序开始,到 创建巨大的 3D 物体并与其互动。由于你学会的新的 Python 编程技能,你的游戏将会更加个性化。
使用免费的 MinecraftStuff 模块—预先编写的 Python helper 代码,你就能提高你的能力来使用 方块、线、多边形和文本来创造 2 D 和 3 D 等对象。你的冒险并不仅限于 Minecraft 的虚拟世界!我们将向你介绍将 Minecraft 连接到电子元件的方法,这意味着你的 Minecraft 世界能够感觉和控制现实世界中的对象。因此,我们给了你一个有价值的秘密, 即如何打破虚拟沙盒世界的界限!


       Minecraft 有两个主要的运行模式:生存和创造模式。在本书中,我们将 使用创造模式。我们不会涉及生存模式(主要因为当你看着你的程序运行时, 你被爬行者杀死是件令人很沮丧的事情)。市场上已经有很多好书解释如何在 Minecraft 中生存,我们在本书最后的附录 A 中给出相关链接及其他资源。然而, 你在创造模式里写的程序也是可以在生存模式里运行的。

我们认为你应该知道的

因为这本书是关于在 Minecraft 中编程的,并且我们想让你主要关注编程,所以有些东西是你必须要知道的。
1. 你有一台计算机(指装有 Raspbian 的树莓派、装有微软 Windows的 PC 或装有 Mac OS X 的 Mac),能达到运行Minecraft 的最低标准,已经被配置好并能工作。
2.  你知道如何基本地进行计算机操作,使用系统菜单来启动程序,并使用应用菜单比如文件 ?新建
? 保存。
3.   你的计算机连接到了互联网,并且你可以用网页浏览器从网上下载文件。
4.   如果你使用的是 PC 或 Mac,你需要一个 Minecraft 账号并已经在计算机上安装了 Minecraft。
5. 你知道如何玩 Minecraft,比如如何启动游戏、如何到处移动、如何在物品栏中选择物品,以及 如何放置与破坏方块。
因为本书是关于编写 Minecraft 中程序的,我们并不需要你有编程的知识。在你进行冒险的同时,我们会教你如何编程。

在项目中你需要
这本书适合现在的 3 种常见的平台:装有 Raspbian 的树莓派、装有微软 Windows 的 PC 或装有 Mac OS X 的 Mac。Minecraft 支持其他一些平台,比如 Linux,但我们不介绍在这些平台下的设置。
为了使各部分的安装更简单,我们准备了三个初学者工具包,每个支持的平台各有一个。你可以从配 套资源网站上下载初学者工具包,并且我们在冒险1 中提供了一步一步的操作指南,包含如何下载与安装 这些工具包并让它们工作。初学者工具包提供了所有你需要的东西,除了 Minecraft 游戏本身。你可以在 任何时间启动并运行它们!
当你下载初学者工具包时,你将需要一个互联网连接。几乎所有你在冒险中需要的东西都包括在初学 者工具包中。一些冒险有特殊的需求,所以我们会在冒险的开头的时候提醒你,你就可以在开始前把一切


准备好。
在冒险 5 和 9 中,我们向你展示如何连接小型电子电路使 Minecraft 虚拟世界与现实世界连接在一起。为此你需要买一些小的电子元件,你可以在大多数的电子元件零售商买到(在附录 A 我们提供了一 些链接)。
树莓派有内建的输入 / 输出引脚,所以你可以把你的电路直接连接到这些引脚上。因为 PC 和 Mac 并不包含输入 / 输出引脚,我们选择了一个你能购买的小插件板,它可以用 USB 和你的计算机连接。同样, 附录 A 中有链接,你可以买这个。
在旅行中最重要的东西是你自己对 Minecraft 的兴趣、热情和一些好奇心,并愿意尝试自己的想法来拓宽你的视野!

给家长和老师的提示
我们已经把这本书分成几个独立的冒险,你可以当作一个个独立的项目,其中每个项目都关注 Minecraft 编程的一个具体的功能。在每个冒险中,我们逐渐介绍 Python 语言。早期冒险主要针对初学者,后来冒险变得更具挑战性并引入了更多的 Python 知识,用来更多地扩展读者的能力。
每个冒险都展示了一个实用的项目,以描述性的风格提供一步一步的指示(读者可以跟着它们完成), 非常像一个注释得很好的程序清单。学生可以稍后阅读出现在“深入代码”栏目的详细说明,这意味着他 们把精力集中在输入代码和调试程序上,不会偏离主要的进展。
每个冒险可能需要多个课时才能完成,但它们都被分成了很多节,每小节在逻辑上独立,可以作为单 独一节课提供一个目标,或者在不同的章节中可以作为通用的一个知识点。
Python 语言使用程序左边的缩进表示代码结构,并且它是区分大小写的语言。成年人需要对年轻读 者进行提示,以确保他们正确使用大小写和缩进,从而避免将错误引入到他们的项目的可能性。所有的项 目可以从配套资源网站上下载,所以如果你有缩进问题,你可以检查我们的版本的程序,看你在哪里出了 差错。
很多学校已经安装了 Python 版本 3。 在 撰 写 本 文 时,Mojang 没 有 发 布 使 用 Python 版 本 3 的Minecraft 的编程接口,所以就像在冒险 1 中解释的那样,你应该使用 Python 版本 2。

这本书的组织结构是怎样的
这本书的每一章都是一个独立的冒险,在你编程与测试项目时会教你新技能和概念。这本书以每个冒 险是一个独立的项目的方式来组织,但你会发现按照顺序工作会更加容易,这会在整本书中逐步建立你对 编程概念的理解。
冒险 1 是在你做其他事情前至关重要的。这是因为它向你展示了如何下载和安装你需要的一切,并检 查所有东西是否工作正常。在这个冒险中,我们介绍一些你需要知道的在其他所有冒险中的基本步骤,但 在前面的冒险中,在你开始时也会有些提醒。
前三个冒险是写给很少或根本没有编程知识的初学者的。我们会解释所有的术语和概念使你能解决它 们。在冒险 2、3、4中,你会学习如何修改 Minecraft 游戏的核心部分。这包含探测 Minecraft 世界中发 生了什么,使用简单的数学计算一些东西,并使你的程序的行为会有所不同,例如在聊天窗口显示一条消息或自动创建方块。你将通过本书中的探测、计算和行为这三个概念来制造大的和激动人心的 Minecraft程序!
冒险 5、6 是建立在前面的基础上,并探索一些把 Minecraft世界和显示世界连接起来的方法。你将 实践一些搭建小型电路来进行实体交互的激动人心的主题,它能控制在 Minecraft 中发生的一些事情,并 且会响应发生在 Minecraft 中的事。它们可以以此为基础创建丰富的、令人兴奋的想法和游戏!冒险 6 寻 找一种方法,可以从数据文件中读取大量的数据并用一个 3D“复制机”复制大型的建筑。
冒险 7、8 介绍自由的 MinecraftStuff 模块,这使得建造线、圆和其他 2D 形状,以及一些惊人的 3D 球体和金字塔变为可能。这可以成为那些很难手工建造的建筑的雏形。冒险 8 介绍了如何给移动的物 体以个性来使它们有智能。使用这些技术,你可以编写一些激动人心的“游戏内的游戏”,让你的朋友啧 啧称奇。
冒险 9 利用所有早些时候冒险时学到的编程概念和技能,创建一个最后的大项目— 一个特别神奇的 游戏。这个游戏有积分,有移动的物体,物体分为你必须躲开的或随身携带的两种。在这个冒险中,你也 可以选择通过电子元件来搭建物理组件,允许你在现实世界中按按钮来操控游戏。
附录 A(“接下来去哪?”)显示一系列的资源,你可以用来扩展和增强你的冒险,学习更多关于 Python 编程和根据你在这本书中所学到的东西,创建更神奇的 Minecraft 程序。
附录 B(“快速参考”)有一个关于在书中使用的编程特性的全面参考指南,以及在 Minecraft 中的特定的编程语句,还有一个你可以建造的方块类型表。你会发现对你自己的项目和发明,这将是一个宝贵 的参考部分!
术语表提供了一个我们在书中介绍的所有术语和术语的方便快速的参考,并且集合了所有冒险中的 定义。

本书的配套资源网站
在这本书中,你可以找到很多对配套资源网站www.wiley.com/go/adventuresinminecraft的引用。 在这个网址中,你可以找到初学者工具包用来开始对 Minecraft 编程,如果你在某个地方卡住了,也有一 系列的视频教程来帮助你。大一点的工程的代码文件也可以在网页上找到。
你还会发现配套资源网站上一个完整的额外奖励冒险!在这个冒险里,你将在 Minecraft 里建造一个 功能齐全的电梯,并能够乘坐它上下驰骋在你的世界中。这个额外奖励冒险非常具有挑战性,你需要运用 所有你学过的技能,包括用电子电路控制电梯。
本书在配套资源网站上提供一个你可以下载的 PDF 格式的参考附录。把它放在你的旁边作为在 Minecraft 中冒险的参考。你也可以作为参考,把它用在未来的任何编程项目中。Wiley 网站还包括一个 术语表。虽然定义都已经在冒险中包含了,但如果你想要查一个单词,你可以上网。

其他的帮助来源
计算机是非常复杂的机器,而操作系统和软件总是在变换。为了使你和你的冒险尽量避免因为未来的 软件升级而造成的不必要的麻烦,我们在冒险1 中提供了你可以下载的初学者工具包。这里面提供了你所 需要的大多数东西。不过,如果你遇到了问题或者是需要特别的帮助,这里有一些你可以去的网站:
注册用户 ID 并下载、安装 Minecraft:http://minecraft.net
如何玩      Minecraft:http://minecraft.gamepedia.com/Minecraft_Wiki
http://minecraft-zh.gamepedia.com/Minecraft_Wiki(中文Wiki 网站)
CraftBukkit 服务端:http://wiki.bukkit.org
IDLE 集成开发环境:https://docs.python.org/2/library/idle.html
Minecraft 树莓派版:http://pi.minecraft.net
Raspberry juice bukkit 插件:http://dev.bukkit.org/bukkit-plugins/raspberryjuice
(由于受美国数字千年版权法案影响,Craftbukkit 官方网站目前已被迫停止下载服务。我们提供的 初学者工具包依然包含 Craftbukkit,或读者也可以在 www.spigotmc.org找到与 Craftbukkit理念类似 的服务端    Spigot—译者注)
一些约定
                    你会注意到书中有一些特殊的栏目,它们会帮助并指引你。如下列举了一些:


这个版块会给你介绍一些你不熟悉的概念。
这个版块会提供使你的计算机编程经历更加容易的提示。
这个版块包含一些重要的警告,在一些操作的时候保护你和你的计算机的安全。
这个版块会快速地测试你的理解是否正确或让你更好地理解一个主题。
这个版块作者会解释东西或讲解一些有用的知识。
这个版块指引你观看支持页面上的视频,这些视频会指导你一步一步完成 任务。

                    你还会发现在书中有两种栏目。如果你想要项目走得更远一点,“挑战”栏目给你可以接受的额外任务, 也许你可以通过更改或添加新功能来完成它们。“深入代码”栏目会解释代码中的细节或者新功能,让你 更好地理解 Python 这门语言。这些侧边栏意味着你可以先在代码上集中精力,然后再来扩展它们的功能,并学习它们是如何工作的。
当你遵循我们的步骤使用代码或指令时,你输入的代码应该与书上的代码完全一致。在 Python 语言中,每一行开头的空白(缩进)对于代码的意义是很重要的,所以你要额外注意你是否在每行开头输入了足够的空格。我们的代码版块是彩色的,让你更容易看到每一行需要缩进多少。不要过于担心,我们会在早期 冒险中你第一次需要使用它时向你解释。
       有时你会需要输入很长很长的代码,长到本书的一行不足以放下它们。当你在一行代码的末尾看到 符号时,这意味着这行代码和它下面的一行代码是一起的,你需要把它们输在一行里,而不是单独的两行。 比如下面的代码应该被输在一行里,而不是两行:



     如果你在电子阅读器上看这本书,为了确保你输入程序的准确性,请把你 的阅读器字体设置得小一些。这样,程序就不会在页面边缘产生不必要的换行,带入你的程序中导致错误。

大多数冒险的最后均包含一个快速参考表,表内总结了这个冒险涉及的主要编程语句或概念。当你需 要参考时,你可以参考这些指南。附录 B 中也有一个参考部分,它会告诉你在 Minecraft 和Python 中的 重要的编程语句。我们希望你会发现身处冒险时这些指南的便利性。
当你完成一个冒险,你可以解锁一个成就并收集新的徽章。你可以在 Minecraft 大冒险的配套资源网站收集徽章来代表这些成就(www.wiley.com/go/adventuresinminecraft)。

与作者接触

在附录 A 中你会找到一些拓展你的 Minecraft 编程知识的方法,其中有一系列的网址、组织、视频和 其他的资源。很多的资源包含论坛,这些论坛可以让你问问题或与其他人交流关于 Minecraft 编程的事。
   你可以登录我们的网站,通过发信息来与作者沟通:Martin:www.stuffaboutcode.com David:http://blog.whaleygeek.co.uk
是时候开始你的冒险了!



原始文件下载:
试读1 - 目录和概述(1.6M):http://pan.baidu.com/s/1bnbjhsr

试读2 - 冒险7(5.4M):http://pan.baidu.com/s/1mg3remk





沉默丶de番番
本帖最后由 沉默丶de番番 于 2015-9-11 17:05 编辑

个人理解能力差看不太懂的样子

沉默丶de番番
我感觉这本书,虽然有点看不懂,但是还能尝试看一下,略能看懂一些
使用简单的数学计算一些东西,并使你的程序的行为会有所不同,例如在聊天窗口显示一条消息或自动创建方块。你将通过本书中的探测、计算和行为这三个概念来制造大的和激动人心的 Minecraft程序!
  这点看起来挺激动.
冒险 8 介绍了如何给移动的物 体以个性来使它们有智能。使用这些技术,你可以编写一些激动人心的“游戏内的游戏”,让你的朋友啧 啧称奇
这点又感觉非常666.我对本书的评价为
★★★★                             因为还是有一点阅读障碍滴

lgw123456_2014
★★★★★=-=读起来还可以666

ChengziHtc
这个绝对适合以后当java程序猿的我,在哪出售

1434967947
★★★★★好评

MC丶贱筑师
我在淘宝网上看到这本书59.25包邮是真的么

★★★★★

miaoxuan
适合11~15岁的人。。
适合我啊!!!
大赞!{:10_523:}
话说这本书什么时候正式上架

Bryan33
评价:★★★★
个人认为推广Bukkit相关的比树莓派版的编程重要些
然而本书给出的大部分是树莓派版
不过也有Bukkit部分 所以给4星
而且也是快速接近编程的好方法
能够给予初学者编程的思维
希望本书能够在官方API发布后继续跟进

MRTangwin8
我们只是Minecraft玩家
——仅此而已
★★★☆

1814209846
看不懂的说,难道我的智商很低?!

chyx
本帖最后由 chyx 于 2015-9-11 17:54 编辑

http://attachment.mcbbs.net/foru ... miz48011pzzztop.png
我这里这幅图上方有个洞 遮住了作者的头顶 只有我这里是这样么?




这里是x y z么?

第一页 上一页 下一页 最后一页