Python游戏设计案例实战
作者:夏敏捷,尚展垒著
出版时间: 2019年版
内容简介
本书以Python 3.5为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类教材。基础篇主要讲解Python的基础语法知识、控制语句、函数、文件、面向对象编程基础、Tkinter图形界面设计、网络编程和多线程、Python数据库应用等内容,并以小游戏案例作为各章的阶段性任务。实战篇和提高篇综合应用前面章节中介绍的技术,重现各个经典游戏的开发过程。本书以游戏开发案例为导向,通俗易懂,图文并茂。本书适合作为高等院校计算机等相关专业的教材,还可作为Python语言学习者、程序设计人员和游戏编程爱好者的参考书。
目录
目录
《Python游戏设计案例实战》
基础篇
第 1章 Python基础知识
1.1\tPython语言概述
1.1.1 Python语言简介
1.1.2 安装Python
1.1.3 Python开发环境IDLE的启动
1.1.4 利用IDLE创建Python程序
1.1.5 在IDLE中运行和调试Python程序
1.1.6 Python基本输入
1.1.7 Python基本输出
1.1.8 Python代码规范
1.1.8 Python帮助
1.2 Python语法基础
1.2.1 Python数据类型
1.2.2 序列数据结构
1.2.3 Python控制语句
1.2.4 Python函数与模块
1.3 Python文件的使用
1.3.1 打开(建立)文件
1.3.2 读取文本文件
1.3.3 写文本文件
1.3.4 文件内移动
1.3.5 文件的关闭
1.3.6 文件应用案例——游戏地图存储
1.4 Python的第三方库
练习题
第 2章 序列应用——猜单词游戏
2.1 猜单词游戏功能介绍
2.2 程序设计的思路
2.3 random模块
2.4 程序设计的步骤
思考题
第3章 面向对象设计应用——发牌游戏
3.1 发牌游戏功能介绍
3.2 Python面向对象设计
3.2.1 定义和使用类
3.2.2 构造函数__init__
3.2.3 析构函数
3.2.4 实例属性和类属性
3.2.5 私有成员与公有成员
3.2.6 方法
3.2.7 类的继承
3.2.8 多态
3.3 扑克牌发牌程序设计的步骤
3.3.1 设计类
3.3.2 主程序
思考题
第4章 Python 图形界面设计——猜数字游戏
4.1 使用Tkinter开发猜数字游戏功能介绍
4.2 Python 图形界面设计
4.2.1 创建Windows窗口
4.2.2 几何布局管理器
4.2.3 Tkinter 组件
4.2.4 Tkinter字体
4.2.5 Python事件处理
4.3 猜数字游戏程序设计的步骤
思考题
第5章 Tkinter图形绘制——图形版发牌程序
5.1 扑克牌发牌窗体程序功能介绍
5.2 程序设计的思路
5.3 Canvas图形绘制技术
5.3.1 Canvas画布组件
5.3.2 Canvas上的图形对象
5.4 图形版发牌程序设计的步骤
思考题
第6章 数据库应用——智力问答游戏
6.1 智力问答游戏功能介绍
6.2 程序设计的思路
6.3 数据库访问技术
6.3.1 访问数据库的步骤
6.3.2 创建数据库和表
6.3.3 数据库的插入、更新和删除操作
6.3.4 数据库表的查询操作
6.3.5 数据库使用实例——学生通讯录
6.4 智力问答游戏程序设计的步骤
6.4.1 生成试题库
6.4.2 读取试题信息
6.4.3 界面和逻辑设计
思考题
第7章 网络编程和多线程——网络五子棋游戏
7.1 网络五子棋游戏简介
7.2 网络编程基础
7.2.1 互联网TCP/IP协议
7.2.2 IP协议
7.2.3 TCP和UDP协议
7.2.4 端口
7.2.5 Socket
7.3 TCP编程
7.3.1 TCP客户端编程
7.3.2 TCP服务器端编程
7.4 UDP编程
7.5 多线程编程
7.5.1 进程和线程
7.5.2 创建线程
7.5.3 线程同步
7.5.4 定时器Timer
7.6 网络五子棋游戏设计步骤
7.6.1 数据通信协议设计和判断输赢的算法
7.6.2 服务器端程序设计
7.6.3 客户端程序设计
思考题
第8章 Python图像处理——人物拼图游戏
8.1 人物拼图游戏介绍
8.2 程序设计的思路
8.3 Python图像处理
8.3.1 Python图像处理类库(PIL)
8.3.2 复制和粘贴图像区域
8.3.3 调整尺寸和旋转
8.3.4 转换成灰度图像
8.3.5 对像素进行操作
8.4 程序设计的步骤
8.4.1 Python处理图片切割
8.4.2 游戏逻辑实现
思考题
游戏实战篇
第9章 人机对战井字棋游戏
9.1 人机对战井字棋游戏功能介绍
9.2 人机对战井字棋游戏设计思想
9.3 人机对战井字棋游戏设计步骤
9.4 人机对战井字棋游戏窗体版
第 10章 连连看游戏
10.1 连连看游戏介绍
10.2 程序设计的思路
10.3 程序设计的步骤
第 11章 推箱子游戏
11.1 推箱子游戏介绍
11.2 程序设计的思路
11.3 关键技术
11.4 程序设计的步骤
第 12章 两人麻将游戏
12.1 麻将游戏介绍
12.2 两人麻将游戏设计的思路
12.2.1 素材图片
12.2.2 游戏逻辑实现
12.2.3 碰吃牌判断
12.2.4 胡牌算法
12.2.5 实现电脑智能出牌
12.3 关键技术
12.3.1 声音播放
12.3.2 返回对应位置的组件
12.3.3 对保存麻将牌的列表排序
12.4 两人麻将游戏设计的步骤
12.4.1 麻将牌类设计
12.4.2 设计游戏主程序
第 13章 贪吃蛇游戏
13.1 贪吃蛇小游戏介绍
13.2 程序设计的思路
13.3 程序设计的步骤
13.3.1 Grid类(场地类)
13.3.2 Food类(豆类)
13.3.3 Snake(蛇类)
13.3.4 SnakeGame(游戏逻辑类)
第 14章 人机对战黑白棋游戏
14.1 黑白棋游戏介绍
14.2 黑白棋游戏设计的思路
14.3 游戏逻辑实现
第 15章 扫雷游戏
15.1 游戏介绍
15.2 程序设计的思路
15.3 关键技术
15.4 程序设计的步骤
第 16章 中国象棋
16.1 中国象棋介绍
16.2 关键技术
16.3 中国象棋设计思路
16.4 中国象棋实现的步骤
第 17章 21点扑克牌游戏
17.1 21点扑克牌游戏介绍
17.2 关键技术
17.3 程序设计的步骤
第 18章 华容道游戏
18.1 华容道游戏介绍
18.2 华容道游戏设计思路
18.3 程序设计的步骤
游戏提高篇
第 19章 基于Pygame游戏设计
19.1 Pygame基础知识
19.1.1 安装Pygame库
19.1.2 Pygame的模块
19.2 Pygame的使用
19.2.1 Pygame开发游戏的主要流程
19.2.2 Pygame的图像图形绘制
19.2.3 Pygame的键盘和鼠标事件的处理
19.2.4 Pygame的字体使用
19.2.5 Pygame的声音播放
19.2.6 Pygame的精灵使用
19.3 基于Pygame设计贪吃蛇游戏
19.4 基于Pygame设计飞机大战游戏
19.4.1 游戏角色
19.4.2 游戏界面显示
19.4.3 游戏逻辑实现
19.5 基于Pygame设计黑白棋游戏
19.5.1 黑白棋游戏介绍
19.5.2 黑白棋游戏设计的思路
19.5.3 游戏逻辑实现
第 20章 2048游戏
20.1 2048游戏介绍
20.2 2048设计思想
20.3 程序设计的步骤
参考文献