Minecraft(官方中文名为“我的世界”)是世界范围内深受玩家喜爱的一款沙盒式建造游戏。在Minecraft中,我们可以自由搭建,把理想变为现实。Python是一种功能强大且非常适合初学者学习的语言。本书将Minecraft与Python程序结合起来,使用Python更好地控制Minecraft中的项目,比如一秒钟就搭起一栋房子来。
编程是有趣并充满想象力的一件事,在Minecraft中也一样。本书可以帮你在Minecraft中制作出各种各样有趣的内容,这是你成为一个伟大的程序员或Minecraft大师必须迈出的一步。
本书包含12章,分别为“设置你的电脑”“使用变量传送”“利用数学快速搭建和长途旅行”“利用字符串聊天”“通过布尔运算判断真假”“用if语句做小游戏”“用while循环制作舞会和花卉游行”“函数赐予你超能力”“用表和字典击打东西”“Minecraft的for循环魔法”“从文件及模块中保存和读取建筑”“用面向对象编程将程序变优雅”。
本书适合喜爱Minecraft、愿意学习编程的人学习和阅读。
优质外版书,轻松学会Python编程,玩转Minecraft
Creatica 酷课致力于培养孩子们的创造力、设计思维、动手能力、解决问题的能力等基本思维和技能——即所谓创客教育。
Creatica酷课是一群怀有教育梦想的创新实践者,可以为学校与社会提供优质教育资源,希望通过链接产业与教育的方式,做影响一代人的教育事业。
欢迎阅读本书。你将会从本书中学到如何使用Python 编程语言来控制你的Minecraft 世界。你将会学习程序是如何工作的,以及如何使用你学到的知识来生成一座建筑、制作一些小游戏,把枯燥的Minecraft 转化为全新的游戏!在你读完这本书后,你将有能力用你学到的知识在Minecraft 中实现各种疯狂的想法。
编程是有趣并充满想象力的一件事,在Minecraft 中编程也一样。在这本书中学到的知识会让你利用Minecraft 制作出各种各样有趣的内容(如游戏、App 和一些有用的工具),这是你成为一个伟大
的程序员或Minecraft 大师必须迈出的一步。
为什么要学习编程编程的首要目的是教会你如何解决问题。你会学到如何把大的问题分割成一个个小的部分,再逐一解决掉。很多你要解决的问题需要你用一些奇思妙想来解决,你也会需要尝试各种新的思路。
另外编程还会教你逻辑思考的方式以及如何更好地计划和安排你的程序流程。即使你不从事电脑编程的工作,你所学到的解决问题的能力、创造力,以及思考问题的方式都将使你受益终身。
当然从事一个与程序相关的职业也是很有趣的,每天你都会迎接全新的挑战,即使你没有成为一个真正的程序员,写代码也会是一个很好的爱好。事实上,我最开始写代码也是作为一个爱好,直到后来我逐渐变成了一个全职的程序员。
最重要的是,写程序是十分有趣的,没什么能比看着自己编写的东西运行起来更酷了!
为什么要使用Python
那么我们为什么要使用Python 语言来编程呢? Python 是一种非常适合初学者学习的语言,它非常易于阅读和编写,而且你也可以使用Python 来编写一个完整的程序。
为什么要使用Minecraft
Minecraft 因其具有趣味性和创造性而风靡全球。在Minecraft 的世界中,你可以自由搭建你喜欢的东西,也可以轻易把理想变为现实。通过将Minecraft 与Python 程序连接起来,你可以更好地控制Minecraft 中的项目,甚至做一些更夸张的事情。通过编写程序,你可以一秒钟就搭起一栋房子来,但是只用Minecraft 就无法做到。
这本书包括什么
书中每个部分都会讲解Python 的一个知识点,当你按顺序读完这本书时,你会建立起自己的Python 编程体系。书中每一章都包含Python 是如何工作的、一些经典案例以及一些Minecraft 的任务。在这些任务中,你需要使用Python 和Minecraft 来协作完成。我会教你一些简单的程序框架,然后你需要自己把重点步骤补充好,以完
成整个程序。与此同时,你会学到作为一个程序员所应具备的基础能力——如何解决问题。
让我们一起看一下在每一章中你将会学到什么:
y 第 1 章:在“设置你的电脑”这一章中,我将会教你如何搭建Python 和Minecraft 环境,这样你就可以开始你的编程之旅啦!
y 第 2 章:在“使用变量传送”这一章中,我将会教你如何通过更改几个变量瞬间把你的游戏角色传送到指定的地方,你将会学到什么是变量,以及它们在程序中是如何存储的。你甚至会基于炫酷的传送能力在你的世界中来一场魔法传送之旅。
y 第 3 章:在“利用数学快速搭建和长途旅行”这一章中,我将会教你如何利用数学来快速搭建房屋。你想不想用不到一秒钟的时间搭好一栋房子?数学运算能帮你做到!你想不想跳得很高?数学运算也能帮你做到!
y 第 4 章:在“利用字符串聊天”这一章中,你将会学到如何用字符串来做一个聊天工具。在编程语言中,字符串代表文字。你会学到如何使用Python 语言在Minecraft 中传递消息给你和你的小伙伴们。
y 第 5 章:“通过布尔运算判断真假”这一章教你如何利用布尔代数来进行判断,因此你的程序可以回答你提出的问题。换句话说,你可以让你的程序告诉你这件事是真的(True)还是假的(False)。你的Minecraft Python 程序可以解答你各种各样的问题,例如:我是不是在水里?我是不是在一棵树上?我是不是靠近我的房子?
y 第 6 章:“用 if 语句做小游戏”这一章将布尔判断的使用提升了一个阶段。你将会学到使用if 语句让软件自己判断数据并做出决定。你有没有想过在Minecraft 中制作一个密码,只有你把特定的砖块放在特定的位置才可以激活它?使用if 语句就可以实现!
y 第 7 章:在“用 while循环制作舞会和花卉游行”这一章中,你会学到如何利用while 语句来做一些很炫酷的事情!你可以做一个程序让地板变出不同的颜色,也可以让鲜花排成一排跟随在玩家的后面!这是我最喜欢给别人展示的程序了。
y 第 8 章:在“函数赐予你超能力”这一章中,你会学到如何使用函数(functions)来瞬间建造一片森林或者一个城市。你也会学到如何重复调用程序的其他部分来让你的编程生涯变得轻松愉快。
y 第 9 章:在“用表和字典击打东西”这一章中,你会学到使用表(list)来制作一个小游戏。表是一个很有用的概念,它可以帮助你保存一些重要的信息。你可以使用表来让你的程序记住你的剑敲击过的所有砖块。再加几行额外的代码你就可以把它做成一个小游戏了!是不是很酷?
y 第10章:在“Minecraft的for循环魔法”这一章中,你会学到如何使用for 循环建造诸如金字塔这类的结构。你甚至可以用它做一些像素图画或者复制在Minecraft 中的建筑。你可以造一个伟大的雕像,然后复制出一支雕塑军队!
y 第 11 章:在“从文件及模块中保存和读取建筑”这一章中,你会用你的程序创建一个文件来保存你的建筑,之后你可以在另一个世界中把它们读取出来。换句话说,你可以把你的建筑制作成一个文件然后转移到任何地方。
y 第 12 章:“用面向对象编程将程序变优雅”这一章介绍了一些高端的知识, 比如类(class)、对象(object) 和继承(inheritance)。当你学完这一章后,你将会变成一个Python 大师。在课堂任务中,你先要写一段可以生成一栋建筑的代码,之后你将使用类、对象和继承的不同属性来复制出不同的建筑。只需要改动几行代码就可以产生诸如村庄、酒店等不同建筑。
y “砖块 ID 备忘单”是一个很有用的可以帮助你查找 Minecraft里面不同砖块的ID 的工具,你会在编程中经常使用到它。(见本书配套资源)
6
Traceback (most recent call last):
File “C:\Users\YOGA\Documents\Minecraft Python\Learn to Program with Minecraft Code\chapter3-math\randomJump.py”, line 5, in <module>
pos = mc.player.getPos()
File “C:\Users\YOGA\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py”, line 66, in getPos
return CmdPositioner.getPos(self, [])
File “C:\Users\YOGA\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py”, line 32, in getPos
s = self.conn.sendReceive(self.pkg + b”.getPos”, id)
File “C:\Users\YOGA\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\connection.py”, line 62, in sendReceive
self.send(*data)
File “C:\Users\YOGA\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\connection.py”, line 39, in send
s = b””.join([f, b”(“, flatten_parameters_to_bytestring(data), b”)”, b”\n”])
File “C:\Users\YOGA\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\util.py”, line 10, in flatten_parameters_to_bytestring
return b”,”.join(map(_misc_to_bytes, flatten(l)))
File “C:\Users\YOGA\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\util.py”, line 5, in flatten
if isinstance(e, collections.Iterable) and not isinstance(e, str):
AttributeError: module ‘collections’ has no attribute ‘Iterable’
C:\Users\joann.LAPTOP-2L3IOFMH\Documents\Minecraft Python\Minecraft Tools>Install_API.bat
C:\Users\joann.LAPTOP-2L3IOFMH\Documents\Minecraft Python\Minecraft Tools>python -m pip install minecraftPythonAPI.zip
Traceback (most recent call last):
File “C:\Users\joann.LAPTOP-2L3IOFMH\AppData\Local\Programs\Python\Python35\lib\runpy.py”, line 170, in runmoduleasmain
“__main“, mod_spec)
File “C:\Users\joann.LAPTOP-2L3IOFMH\AppData\Local\Programs\Python\Python35\lib\runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “C:\Users\joann.LAPTOP-2L3IOFMH\AppData\Local\Programs\Python\Python35\lib\site-packages\pip__main.py”, line 29, in <module>
from pip._internal.cli.main import main as _main
File “C:\Users\joann.LAPTOP-2L3IOFMH\AppData\Local\Programs\Python\Python35\lib\site-packages\pip_internal\cli\main.py”, line 57
sys.stderr.write(f”ERROR: {exc}”)
會產生以上錯誤,原因?
?
。