新書推薦:
《
想象的共同体--民族主义的起源与散布(增订版)
》
售價:NT$
352.0
《
医学图形图像处理基于Python VTK的实现
》
售價:NT$
760.0
《
山家清供:小楷插图珍藏本 谦德国学文库系列
》
售價:NT$
653.0
《
政略与战略论
》
售價:NT$
638.0
《
百年词史-(1900-2000(全二册))
》
售價:NT$
1520.0
《
RDI人际关系发展疗法:修复孤独症核心障碍,让干预回归生活
》
售價:NT$
454.0
《
金融科技监管的目标、原则和实践:全球视野下加密货币的监管
》
售價:NT$
505.0
《
城市轨道交通绿色低碳规划设计研究——深圳地铁6号线工程创新与实践
》
售價:NT$
1010.0
|
編輯推薦: |
1.热门编程语言与热门游戏的巧妙结合,趣味性十足!带你轻松跨越软硬件的鸿沟,体验Python世界的魅力!
2.全新修订版,内容更丰富!不仅介绍了Python编程的基础知识,还新增了通过游戏控制Arduino等外部设备的功能。让你在享受游戏乐趣的同时,也能探索更多实用技能。
3.学习编程从来都不是一件枯燥的事,边玩边学更简单!从“剑球”游戏到五子棋,再到像素图像扫描仪,让你成为游戏世界的编程高手!
|
內容簡介: |
Python是一种解释型、面向对象、动态数据类型的高阶程序设计语言,它具有丰富和强大的库,能够把用其他语言(尤其是C/C )制作的各种模块很轻松地联结在一起。这两年随着人们对人工智能的关注越来越多,大家学习Python的热情也越来越高涨。Python在IEEE发布的2017年编程语言排行榜中高居前列。本书介绍了Python编程的基础知识,并以游戏《Minecraft(我的世界)》为载体,通过Python编程来与游戏中的玩家或方块互动,先后实现了“剑球”游戏、五子棋游戏以及像素图像扫描仪这几个项目,最后还实现了通过游戏控制Arduino等外部设备的功能。希望大家能够在游戏的过程中轻松地进入Python的世界,跨越软硬件的鸿沟,初步尝试自动化控制。本书提供边玩游戏边学编程的全新体验,适合对Python编程感兴趣的读者阅读。游戏不再只是用来玩的,你将同时体验超级玩家、设计师和程序员的角色。
|
關於作者: |
程晨,科技作家,具有十余年嵌入式开发经验,编著、翻译出版开源硬件、3D打印、机器人、物联网领域相关图书十余本,国内较早的Arduino和3D打印技术普及图书都出自他手。他是机械工业出版社特聘技术顾问,曾任北京航空航天大学软件学院特聘讲师,参与了清华大学、北京邮电大学等多个高校的创新性课程设计。
|
目錄:
|
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 欢迎来到《Minecraft 我的世界》 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 代码实现 1167.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 什么是 Arduino 164
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
|
|