超有趣Python入门,从零开始编程创造超酷太空冒险游戏!
游戏开始,空气所剩不多了。空间站发生泄漏,因此你必须迅速采取行动。你能找到解决问题的办法吗?你需要探索空间站的周围,找到门禁卡来把门打开,还要修复受损的航天服。冒险已经开始了!
本书向你展示了如何使用Python在图形化的冒险游戏中在火星上建立空间站、探索空间站并避开危险。你能像航天员一样找到解决问题的办法吗?
编辑推荐
亚马逊读者五星好评。
告别枯燥难懂,超有趣的Python入门指南。
无论是初学者还是青少年,都可以轻松超有趣学Python。
全彩印刷,全部代码,全程指导,手把手教你编程创造超酷太空冒险游戏。
知名作者畅销力作,派森社联合发起人、知名创客布道师程晨倾力翻译呈现。
你将学会Python的基础知识与编程实践。
● 学会如何将数据存储在变量、列表和字典中
● 学会如何在游戏中添加键盘控制
● 学会如何创建函数来组织你的代码
● 学会如何完成循环以重复一段代码
● 学会如何在游戏中添加图像、声音和动画
……
太空危机,氧气即将耗尽,为了安全逃离空间站,你需要探索地图,收集物品,解决谜题,同时还要躲避杀手机器人和泄漏的有毒物质……你将亲手实现编写这个基于谜题的太空冒险游戏,游戏包含完整的图像、声音和动画。
准备好了吗,开始一起玩Python !
前言
游戏开始,空气所剩不多了。空间站发生泄漏,因此你必须迅速采取行动。你能找到解决问题的办法吗?你需要探索空间站的周围,找到门禁卡来把门打开,还要修复受损的航天服。冒险已经开始了!
从这里开始:在地球上,通过对任务下达命令,或者说是通过你的计算机来操作。本书向你展示了如何使用Python在图形化的冒险游戏中在火星上建立空间站、探索空间站并避开危险。你能像航天员一样找到解决问题的办法吗?
如何阅读本书
学习本书的内容,你可以创建一个名为Escape(逃脱)的游戏,其中包含了要探索的地图和需要解决的问题。游戏是使用Python编写的,它是一种非常流行的易于阅读的编程语言。游戏制作中使用的是Pygame Zero,它添加了一些关于管理图像和声音的指令。我将逐步介绍游戏的制作方法以及代码的主要部分的逻辑关系,以便你可以创建自己的游戏或根据我的游戏代码实现自己的游戏。如果你遇到了什么问题,或是想直接进入游戏看看这个游戏是怎么玩的,你可以直接下载源代码,所有的代码都可以下载,而且所有软件都是免费的,书中提供了Windows操作系统版本和Raspberry Pi的说明。我建议你使用Raspberry Pi 3或Raspberry Pi 2。如果使用Pi Zero、旧的B 以及其他老版的型号,那么游戏运行速度可能会比较慢。
你可以通过以下几种方式来阅读本书和创建游戏:
1)下载游戏,先玩一玩,然后阅读本书来了解游戏的工作原理。这样能避免你在玩游戏之前就知道了具体的细节!尽管我已将游戏细节降至,但你在阅读本书时依然会留意到代码中的一些线索。如果你真的在游戏中遇到了问题,可以尝试阅读代码以确定解决方案。无论如何,我都建议你至少运行一次游戏,以便确定要创建的是一个什么样的游戏,并了解如何运行程序。
2)创建游戏,然后再玩。本书将指导你如何从头到尾创建游戏。在学习各章节内容的过程中,你将会在游戏中添加新的内容,并查看它们的工作方式。如果你在某个部分无法运行代码,那么可以直接使用代码段中的版本,然后从那里继续编写代码。如果你选择了这种方式,那么在创建并试玩游戏之前不要对游戏进行任何自定义的更改。否则,你可能会遇到某些意外导致无法完成游戏(完成我在练习任务中建议的修改是可以的)。
3)自定义游戏。当你了解了程序的工作原理后,你可以使用自己的地图、图像、对象和谜题对游戏进行修改。Escape 游戏是发生在空间站上的,但你的游戏可以发生在丛林、海底或其他任何地方。你可以先按照本书内容来创建自己的Escape 游戏版本,也可以使用我的终版本来对其进行修改。我希望看到你将这个程序作为起点!
本书的内容
在你开始执行任务之前,先让我们来看一下各章的内容介绍。
第1章介绍如何进行太空行走。你将学习如何使用Pygame Zero 通过Python 程序显示图像,并了解Python 程序的一些基础知识。
第2章介绍列表,列表中存储了Escape 游戏中的许多信息。你将看到如何使用列表来制作地图。
第3章将展示如何让程序的各个部分循环运行,以及如何使用这部分知识来显示地图。你还将使用墙柱和地砖为空间站设计房间布局。
在第4章中,我们将开始创建Escape 游戏,并为空间站设定蓝图。你将看到程序是如何理解空间站的布局的,以及程序是如何使用蓝图来创建房间,并且放置墙体和地砖的。
在第5章中,你将学习如何在Python 中使用字典,这是存储信息的另一种重要方法。你还将学习如何添加游戏中所使用的所有对象的信息,并了解如何设计自己的房间。之后当你在第6 章中完善扩充了程序时,你将能看到所有的场景,并且能够查看所有房间。空间站建设好之后,你可以进入其中。在第7 章中,你会学到如何添加航天员的角色,并了解如何在房间中四处移动并设置运动动画。
第8章会介绍如何通过阴影、墙体的颜色变化以及新的绘制房间的函数来优化游戏的图像,新的函数能够消除图像中的毛刺。
当空间站可操作时,你可以打开个人的物品包。在第9 章中,你可以控制角色检查、拾取和放下物品。在第10 章中,你将了解如何使用及组合物品,从而解决游戏
中的谜题。
空间站即将完成。第11章将增加限制进入某些区域的安全门。正当你要站起来庆祝自己的工作成果时,危险就潜伏在四周,因为你会在第12 章中添加移动的危险物品。
在阅读本书的过程中,你需要完成一些练习任务,以便有机会测试程序和你的编程技能。如果需要,对应的答案在每章的结尾。
书后的附录也能够提供帮助。附录A 包含整个游戏的代码。如果不确定在何处添加了新代码,可以在这里检查。如果你不记得存储的内容,则附录B 中的表格包含了重要的变量、列表和字典。如果程序无法正常运行,则附录C 提供了一些调试的提示。
有关本书的更多信息和资源,可以访问本书的网站www.sean.co.uk/books/missionpython/。你也可以在https://nostarch.com/missionpython/ 上找到一些信息和资源。
程晨,科技作家,具有十余年嵌入式开发经验,少年创学院联合创始人兼院长,兼任Inetl软件创新大使,中国电子学会全国青少年机器人技术等级考试标准工作组副组长,中国教育技术协会数字教育资源专业委员会专家。编著和翻译出版开源硬件、3D打印、机器人、智能硬件、物联网领域相关图书十余本,出版国内的Arduino、Edison、3D打印技术普及图书。他是机械工业出版社特聘技术顾问,曾任北京航空航天大学软件学院特聘讲师,参与了清华大学、北京邮电大学等多个高校的创新性课程设计。
引言 1
0.1如何阅读本书 1
0.2本书的内容 2
0.3安装软件 3
0.4下载游戏文件 5
0.5运行游戏 8
0.6玩游戏 9
第1章 你的次太空行走 11
1.1启动Python编辑器 12
1.2Python shell介绍 13
1.3脚本模式介绍 15
1.4创建星空背景 15
1.5停止Pygame Zero程序 19
1.6添加火星和飞船 19
1.7你掌握了么 25
第2章 列表可以救你的命 27
2.1你的个列表:起飞检查表 27
2.2使用序列号 29
2.3创建太空行走检查表 31
2.4列表的列表:飞行手册 31
2.5合并列表 33
2.6通过列表创建地图:应急仓 34
2.7你掌握了么 37
第3章 重复执行 39
3.1循环显示 39
3.2循环嵌套 41
3.3显示3D房间图像 44
3.4了解如何绘制房间 45
3.5图片绘制的位置 46
3.6你掌握了么 47
第4章 创建空间站 49
4.1为什么要自动生成地图 49
4.2如何自动生成地图 49
4.3创建地图数据 50
4.4编写GAME_MAP代码 51
4.5测试和调试代码 54
4.6根据数据生成房间 54
4.7探索3D空间站 60
4.8制作自己的地图 63
4.9你掌握了么 63
第5章 筹备空间站设备 65
5.1创建一个简单的行星字典 65
5.2制作空间站物品字典 70
5.3你掌握了么 79
第6章 安装空间站设备 81
6.1了解布景数据字典 81
6.2添加布景数据 83
6.3在行星表面添加围栏 85
6.4将布景加载到每个房间 87
6.5更新EXPLORER浏览空间站 90
6.6你掌握了么 91
第7章 进入空间站 93
7.1抵达空间站 93
7.2添加移动代码 97
7.3理解移动代码 100
7.4在房间之间移动 103
7.5你掌握了么 106
第8章 修复空间站 107
8.1发送信息给函数 107
8.2添加阴影、墙体透明度和颜色的变量 109
8.3删除EXPLORER部分 111
8.4添加DISPLAY部分 112
8.5在屏幕上定位房间 118
8.6让前面的墙体淡入淡出 120
8.7显示提示和警告 122
8.8进入房间时显示房间名称 123
8.9你掌握了么 125
第9章 整理你的个人物品 127
9.1添加道具信息 127
9.2在房间地图中添加道具 130
9.3从房间地图查找对象编号 132
9.4拾取物品对象 134
9.5添加清单相关的函数 136
9.6放下物品对象 140
9.7检查物品对象 141
9.8你掌握了么 143
第10章 使用物品 145
10.1添加使用物品的键盘控制 145
10.2添加使用物品对象的标准消息 146
10.3添加游戏进度变量 147
10.4添加特定对象的操作 148
10.5组合物品 150
10.6添加游戏完成动画 152
10.7探索物品对象 153
10.8你掌握了么 154
第11章 激活安全门 155
11.1规划在何处放置安全门 155
11.2定位房门 156
11.3添加通行控制 156
11.4让门打开和关闭 158
11.5添加门的动画 160
11.6关闭定时门 161
11.7添加传送器 162
11.8激活气闸舱安全门 163
11.9在自己的游戏设计中删除出口 165
11.10任务完成了么 166
11.11你掌握了么 166
第12章 危险!危险!突发事件 167
12.1添加空气监测 167
12.2添加移动的危险物品 171
12.3添加有毒的泄漏物 180
12.4收尾工作 180
12.5你的下一个任务:自定义游戏 182
12.6你掌握了么 183
附录 185
附录A Escape游戏完整代码 185
附录B 变量、列表和字典 209
附录C 调试你的程序 210