Python是一种解释型、面向对象、动态数据类型的gao级程序设计语言,它具有丰富和强大的库,能够把用其他语言(尤其是C/C++)制作的各种模块很轻松地联结在一起。这两年随着人们对人工智能的关注越来越多,大家学习Python的热情也越来越高涨。Python在IEEE发布的2017年编程语言排行榜中高居shou位。本书介绍了Python编程的基础知识,并以游戏《Minecraft(我的世界)》为载体,通过Python编程来与游戏中的玩家或方块互动,先后实现了“剑球”游戏、五子棋游戏以及像素图像扫描仪这几个项目,很后还实现了通过游戏控制Arduino等外部设备的功能。希望大家能够在游戏的过程中轻松地进入Python的世界,很终跨越软硬件的鸿沟,初步尝试自动化控制。本书提供边玩游戏边学编程的全新体验,适合对Python编程感兴趣的读者阅读。游戏不再只是用来玩的,你将同时体验不错玩家、设计师和程序员的角色。
1Python基础1
1.1Python的历史1
1.2Python的发展1
1.3Python的优缺点2
1.3.1Python的优点2
1.3.2Python的缺点2
1.4Python的适用领域3
1.5Python的安装与使用3
1.5.1Python的安装3
1.5.2Python的使用5
1.5.3编辑器7
1.6关键字9
1.7数字10
1.8变量10
1.9程序的基本结构11
1.9.1for循环12
1.9.2if选择结构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.11While20
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.4CSV文件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.1RaspberryPi的硬件接口160
9.1.1连接GPIO160
9.1.2数字输出161
9.1.3模拟输出163
9.2串口通信164
9.2.1什么是Ardui64
9.2.2在RaspberryPi上安装Ardui65
9.2.3Arduino与Python通信165
9.3比特开关166
9.3.1功能描述166
9.3.2准备工作167
9.3.3功能实现167
附录方块材质名称对照表169