基础篇 2
第1章 Python基础知识 2
1.1 Python语言概述 2
1.1.1 Python语言简介 2
1.1.2 安装Python 3
1.1.3 Python开发环境IDLE的启动 5
1.1.4 利用IDLE创建Python程序 5
1.1.5 在IDLE中运行和调试Python程序 6
1.1.6 Python基本输入 8
1.1.7 Python基本输出 9
1.1.8 Python代码规范 9
1.1.9 Python帮助 11
1.2 Python语法基础 12
1.2.1 Python数据类型 12
1.2.2 序列数据结构 13
1.2.3 Python控制语句 21
1.2.4 Python函数与模块 26
1.3 Python文件的使用 30
1.3.1 打开(建立)文件 30
1.3.2 读取文本文件 32
1.3.3 写文本文件 33
1.3.4 文件内移动 35
1.3.5 文件的关闭 36
1.3.6 文件应用案例——游戏地图存储 36
1.4 Python的第三方库 38
思考题 39
第2章 序列应用——猜单词游戏 40
2.1 游戏介绍 40
2.2 程序设计的思路 40
2.3 random模块 41
2.4 程序设计的步骤 43
思考题 45
第3章 面向对象设计应用——发牌游戏 46
3.1 游戏介绍 46
3.2 Python面向对象设计 46
3.2.1 定义和使用类 47
3.2.2 构造函数_init 48
3.2.3 析构函数 48
3.2.4 实例属性和类属性 49
3.2.5 私有成员与公有成员 50
3.2.6 方法 51
3.2.7 类的继承 52
3.2.8 多态 54
3.3 程序设计的步骤 56
3.3.1 设计类 56
3.3.2 主程序 59
思考题 59
第4章 Python图形界面设计——猜数字游戏 60
4.1 游戏介绍 60
4.2 Python图形界面设计 60
4.2.1 创建Windows窗口 61
4.2.2 几何布局管理器 61
4.2.3 Tkinter组件 65
4.2.4 Tkinter字体 76
4.2.5 Python事件处理 78
4.3 程序设计的步骤 83
思考题 85
第5章 Tkinter图形绘制——图形版发牌程序 86
5.1 程序功能介绍 86
5.2 程序设计的思路 86
5.3 Canvas图形绘制技术 87
5.3.1 Canvas画布组件 87
5.3.2 Canvas上的图形对象 88
5.4 程序设计的步骤 97
思考题 99
第6章 数据库应用——智力问答游戏 100
6.1 游戏介绍 100
6.2 程序设计的思路 100
6.3 数据库访问技术 101
6.3.1 访问数据库的步骤 101
6.3.2 创建数据库和表 102
6.3.3 数据库的插入、更新和删除操作 103
6.3.4 数据库表的查询操作 104
6.3.5 数据库使用实例——学生通信录 104
6.4 程序设计的步骤 107
6.4.1 生成试题库 107
6.4.2 读取试题信息 108
6.4.3 界面和逻辑设计 109
思考题 110
第7章 网络编程和多线程——网络五子棋游戏 111
7.1 游戏介绍 111
7.2 网络编程基础 112
7.2.1 互联网TCP/IP 112
7.2.2 IP 113
7.2.3 TCP和UDP 113
7.2.4 端口 113
7.2.5 socket 114
7.3 TCP编程 117
7.3.1 TCP客户端编程 117
7.3.2 TCP服务器端编程 119
7.4 UDP编程 122
7.5 多线程编程 124
7.5.1 进程和线程 124
7.5.2 创建线程 125
7.5.3 线程同步 129
7.5.4 定时器 131
7.6 程序设计的步骤 131
7.6.1 数据通信协议设计和判断输赢的算法 131
7.6.2 服务器端程序设计 135
7.6.3 客户端程序设计 140
思考题 144
第8章 Python图像处理——人物拼图游戏 145
8.1 游戏介绍 145
8.2 程序设计的思路 145
8.3 Python图像处理 146
8.3.1 Python图像处理类库 146
8.3.2 复制和粘贴图像区域 148
8.3.3 调整尺寸和旋转 149
8.3.4 转换成灰度图像 149
8.3.5 对像素进行操作 150
8.4 程序设计的步骤 150
8.4.1 Python处理图片切割 150
8.4.2 游戏逻辑的实现 152
思考题 155
实战篇 157
第9章 人机对战井字棋游戏 157
9.1 游戏介绍 157
9.2 程序设计的思路 158
9.3 程序设计的步骤 158
9.4 窗体版游戏 162
第10章 连连看游戏 168
10.1 游戏介绍 168
10.2 程序设计的思路 169
10.3 程序设计的步骤 179
第11章 推箱子游戏 184
11.1 游戏介绍 184
11.2 程序设计的思路 185
11.3 关键技术 187
11.4 程序设计的步骤 188
第12章 两人麻将游戏 193
12.1 游戏介绍 193
12.2 程序设计的思路 194
12.2.1 素材图片 194
12.2.2 游戏逻辑的实现 195
12.2.3 碰牌、吃牌判断 195
12.2.4 和牌算法 196
12.2.5 实现电脑机器人智能出牌 200
12.3 关键技术 202
12.3.1 声音播放 202
12.3.2 返回对应位置的组件 202
12.3.3 对保存麻将牌的列表排序 203
12.4 程序设计的步骤 204
12.4.1 麻将牌类设计 204
12.4.2 设计游戏主程序 206
第13章 贪吃蛇游戏 217
13.1 游戏介绍 217
13.2 程序设计的思路 217
13.3 程序设计的步骤 218
13.3.1 Grid类(场地类) 218
13.3.2 Food类(豆类) 219
13.3.3 Snake类(蛇类) 219
13.3.4 SnakeGame(游戏逻辑)类 220
第14章 人机对战黑白棋游戏 223
14.1 游戏介绍 223
14.2 程序设计的思路 224
14.3 程序设计的步骤 224
第15章 扫雷游戏 232
15.1 游戏介绍 232
15.2 程序设计的思路 233
15.3 关键技术 233
15.4 程序设计的步骤 235
第16章 中国象棋游戏 241
16.1 游戏介绍 241
16.2 关键技术 242
16.3 程序设计的思路 244
16.4 程序设计的步骤 247
第17章 21点扑克牌游戏 257
17.1 游戏介绍 257
17.2 关键技术 257
17.3 程序设计的步骤 259
第18章 华容道游戏 265
18.1 游戏介绍 265
18.2 程序设计的思路 265
18.3 程序设计的步骤 266
提高篇 275
第19章 基于Pygame游戏设计 275
19.1 Pygame基础知识 275
19.1.1 安装Pygame库 275
19.1.2 Pygame的模块 275
19.2 Pygame的使用 278
19.2.1 Pygame开发游戏的主要流程 278
19.2.2 Pygame的图像图形绘制 280
19.2.3 Pygame的键盘和鼠标事件的处理 284
19.2.4 Pygame的字体使用 288
19.2.5 Pygame的声音播放 289
19.2.6 Pygame的精灵使用 291
19.3 基于Pygame设计贪吃蛇游戏 296
19.4 基于Pygame设计飞机大战游戏 303
19.4.1 游戏角色 303
19.4.2 游戏界面显示 306
19.4.3 游戏逻辑的实现 308
19.5 基于Pygame设计黑白棋游戏 313
第20章 2048游戏 320
20.1 游戏介绍 320
20.2 程序设计的思路 320
20.3 程序设计的步骤 322
参考文献 328