我的Python世界 玩《Minecraft我的世界》学Python编程

更多详情

内容简介: Python是一种解释型、面向对象、动态数据类型的gao级程序设计语言,它具有丰富和强大的库,能够把用其他语言(尤其是C C )制作的各种模块很轻松地联结在一起。这两年随着人们对人工智能的关注越来越多,大家学习Python的热情也越来越高涨。Python在IEEE发布的2017年编程语言排行榜中高居shou位。
本书介绍了Python编程的基础知识,并以游戏《Minecraft(我的世界)》为载体,通过Python编程来与游戏中的玩家或方块互动,先后实现了“剑球”游戏、五子棋游戏以及像素图像扫描仪这几个项目,*后还实现了通过游戏控制Arduino等外部设备的功能。希望大家能够在游戏的过程中轻松地进入Python的世界,*终跨越软硬件的鸿沟,初步尝试自动化控制。
本书提供边玩游戏边学编程的全新体验,适合对Python编程感兴趣的读者阅读。游戏不再只是用来玩的,你将同时体验超级玩家、设计师和程序员的角色。

目录: 1 Python 基础 1
1.1 Python 的历史 1
1.2 Python 的发展 1
1.3 Python 的优缺点 2
1.3.1 Python 的优点 2
1.3.2 Python 的缺点 2
1.4 Python 的适用领域 3
1.5 Python 的安装与使用 3
1.5.1 Python 的安装 3
1.5.2 Python 的使用 5
1.5.3 编辑器 7
1.6 关键字 9
1.7 数字 10
1.8 变量 10
1.9 程序的基本结构 11
1.9.1 for 循环 12
1.9.2 if 选择结构 13
1.9.3 比较 14
1.9.4 逻辑运算 14
1.10 掷骰子 16
1.10.1 随机数 16
1.10.2 重复掷骰子 16
1.10.3 掷两个骰子 17
1.10.4 大小判断 18
1.11 While 20
2 字符串、列表和字典 22
2.1 字符串 22
2.1.1 字符串的定义 22
2.1.2 字符串的方法 22
2.2 列表 24
2.2.1 列表的定义 24
2.2.2 列表的方法 25
2.3 函数 26
2.4 猜词游戏 27
2.4.1 游戏规则 27
2.4.2 创建单词库 27
2.4.3 游戏结构 28
2.4.4 完善函数 29
2.5 字典 34
2.6 元祖 35
2.6.1 元祖的定义 35
2.6.2 多重赋值 35
2.6.3 多返回值 36
2.7 异常 36
2.8 函数汇总 37
2.8.1 数字 37
2.8.2 字符串 38
2.8.3 列表 39
2.8.4 字典 40
2.8.5 类型转换 40
3 类库和方法 42
3.1 库 42
3.1.1 使用random 库 42
3.1.2 使用Python 标准库 43
3.2 面向对象 44
3.3 定义类 44
3.4 继承 46
3.5 文件 48
3.5.1 读取文件 48
3.5.2 读取大文件 50
3.5.3 写入文件 51
3.5.4 文件系统操作 51
3.6 侵蚀化 52
3.7 网络 52
4 《Minecraft 我的世界》 54
4.1 《Minecraft》是什么 54
4.2 准备工作 55
4.3 欢迎来到《我的世界》 55
4.4 位置坐标 60
4.5 玩家的位置 60
4.5.1 获取玩家的位置 60
4.5.2 显示玩家的位置 61
4.5.3 设定玩家的位置 62
4.6 弹射区域 62
5 剑球游戏 64
5.1 建造球场 64
5.1.1 开辟空间 64
5.1.2 铺设球场 65
5.1.3 搭建球门 67
5.1.4 球场函数 67
5.2 击打事件处理 . 68
5.2.1 获取击打事件 68
5.2.2 确认方块的面 70
5.3 球的移动 71
5.3.1 击打方块不同的面 71
5.3.2 移动球的程序 73
5.4 异常情况 74
5.4.1 球多了 74
5.4.2 球没了 75
5.5 出界与进球 77
5.5.1 出界的判定 77
5.5.2 进球了 78
6 剑球进阶 .81
6.1 特殊规则 81
6.1.1 规则介绍 81
6.1.2 移动的中线 81
6.1.3 最大偏移量 83
6.2 显示数字 83
6.3 球门上的比分 86
6.3.1 东侧的比分 86
6.3.2 西侧的比分 94
6.4 CSV 文件 99
6.4.1 什么是CSV 文件 99
6.4.2 新建CSV 文件 100
6.4.3 读取外部文件 100
6.4.4 优化代码 102
6.5 彩蛋:TNT 来了 106
6.6 显示时间 108
6.6.1 获取系统时间 108
6.6.2 显示形式 109
6.6.3 功能实现 109
7 五子棋 115
7.1 绘制棋盘 115
7.1.1 二维数组 115
7.1.2 代码实现 116
7.2 落子 117
7.2.1 获取击打事件 118
7.2.2 改变方块颜色 118
7.2.3 更改数组 118
7.3 五子相连 118
7.3.1 落子效果 118
7.3.2 重复落子问题 119
7.3.3 获胜判断 121
7.4 重新开始 128
7.4.1 结束后的提示 128
7.4.2 刷新棋盘 129
7.4.3 反复刷新的问题130
8 图片扫描仪 131
8.1 像素画 131
8.2 项目介绍 132
8.3 操作菜单 133
8.3.1 获取输入信息 133
8.3.2 制作菜单 135
8.3.3 中文输入法 138
8.3.4 扫描仪菜单 138
8.4 扫描操作 142
8.5 复印操作 146
8.6 演示操作 148
8.6.1 原始内容制作 148
8.6.2 扫描 148
8.6.3 复印 152
8.7 完整的代码 154
9 硬件控制 160
9.1 Raspberry Pi 的硬件接口 160
9.1.1 连接GPIO 160
9.1.2 数字输出 161
9.1.3 模拟输出 163
9.2 串口通信 164
9.2.1 什么是Arduino164
9.2.2 在Raspberry Pi 上安装Arduino 165
9.2.3 Arduino 与Python 通信 165
9.3 比特开关 166
9.3.1 功能描述 166
9.3.2 准备工作 167
9.3.3 功能实现 167
附录 方块材质名称对照表 169