《Python游戏编程项目开发实战》是由清华大学出版社出版的一本关于Python方面的书籍,作者是李志远,主要介绍了关于Python、游戏编程方面的知识内容,目前在Python类书籍综合评分为:7.4分。
书籍介绍
编辑推荐
本书通过基础知识讲解 重点知识点视频详细讲解 重要代码图示的方式,采用不同类型、不同难度的游戏案例,帮助读者循序渐进的掌握Python游戏开发的相关知识,其主要特点如下:
(1)每个章节前,都有专业插画师根据本章知识设计了漫画插图,提高读者学习兴趣。
(2)游戏案例的学习符合人的认知规律,采取了总体介绍-功能分解-重点详细讲解等方式介绍相关知识点。
(3)重要知识点均有视频讲解,读者可随时随地进行学习。
内容简介
Python是一种面向对象的开源高级程序语言,其语法简单、程序易读,扩展性高,代码可跨平台运行的特点使其已经成为广受欢迎的游戏编程语言。 本书通过精心设计的游戏案例帮助读者掌握Python游戏编程。书内提到的每个游戏案例都提供源代码和视频讲解,相信读者通过线下阅读和线上视频学习相结合的方式可掌握游戏编程的原理,从而可以举一反三,设计出卓越的游戏。 全书共分基础篇和提高篇两大部分,基础篇通过3个控制台游戏的编写介绍了Python数据类型、模块使用、文件操作等游戏编程涉及的基础知识领域;提高篇通过4个图形界面游戏设计的综合案例,介绍了Pygame模块使用、动画制作、多线程网络编程、棋类AI设计等进阶知识,帮助读者综合运用所学知识,提高游戏编程能力。 本书适合对Python游戏编程感兴趣的初学者,同时也可为熟悉Python游戏编程的读者做参考所用。
作者简介
李志远,国防科技大学自主择业干部、副教授,现就职于吉利学院智能科技学院。热爱游戏编程,深深相信兴趣是学习的最大驱动力,从教20年来贯彻这一理念,深受学生喜爱。
目录
- 第1章Python概述
- 1.1Python语言简介
- 1.2Python运行环境的建立
- 1.3IDE平台选择
- 1.4PyCharm的安装和配置
- 1.4.1PyCharm下载和安装
- 1.4.2PyCharm基本配置
- 1.4.3PyCharm个性化配置
- 1.5小结
- 第2章“石头、剪刀、布”猜拳游戏
- 2.1“石头、剪刀、布”猜拳游戏运行示例
- 2.2使用print()函数进行游戏提示
- 2.3使用input()函数得到用户输入
- 2.4使用模块模拟计算机思考
- 2.4.1模块的导入
- 2.4.2Random模块的使用
- 2.5条件语句判断胜负
- 2.5.1逻辑运算符和比较运算符
- 2.5.2条件表达式
- 2.6使用注释帮助理解代码
- 2.7while循环判断游戏是否结束
- 2.8“石头、剪刀、布”猜拳游戏代码解析
- 2.9小结
- 第3章数独游戏
- 3.1数独游戏规则
- 3.2数独游戏运行示例
- 3.3使用list存储棋盘状态
- 3.3.1list数据类型的定义和访问
- 3.3.2数独81个格子的list存储
- 3.4使用for循环对棋盘格子内容赋值
- 3.4.1for循环的定义方法
- 3.4.2range()函数得到迭代对象的所有值
- 3.4.3for循环得到用户棋盘
- 3.5使用函数提高代码重复利用率
- 3.5.1函数内的局部变量
- 3.5.2函数内使用全局变量
- 3.6建立数独谜题
- 3.6.1数独棋盘交换不同数字的位置
- 3.6.2数独棋盘行列交换
- 3.6.3挖洞建立数独谜题
- 3.6.4数独谜题的具体实现
- 3.7深度优先解答数独谜题
- 3.8数独游戏代码解析
- 3.9小结
- 第4章“24点”游戏
- 4.1“24点”游戏规则
- 4.2“24点”游戏运行示例
- 4.3计算机给出“24点”游戏题目
- 4.3.1递归得到4个数字全排列
- 4.3.2数字表达式求值
- 4.4玩家输入的表达式求解
- 4.4.1中缀表达式和后缀表达式
- 4.4.2中缀表达式转后缀表达式
- 4.4.3后缀表达式求解
- 4.5玩家成绩排名
- 4.5.1JSON数据存储成绩排名
- 4.5.2dict类型存储JSON
- 4.5.3读取与更新rank.txt排名文件
- 4.6“24点”游戏代码主函数
- 4.7小结
- 第5章“小猫顶球”游戏
- 5.1“小猫顶球”游戏运行示例
- 5.2Pygame模块简介
- 5.3“小猫顶球”游戏环境搭建
- 5.4图形界面初始化
- 5.4.1无交互的图形界面创建
- 5.4.2画布相关属性
- 5.5认识小猫等Surface对象
- 5.6显示小猫等Surface对象
- 5.6.1创建Rect对象
- 5.6.2Rect对象位置属性
- 5.6.3Rect对象进行移动
- 5.7键盘和鼠标事件响应
- 5.8小猫和球类碰撞检测
- 5.8.1类与类的继承
- 5.8.2小猫和球类
- 5.8.3使用碰撞函数进行碰撞检测
- 5.9信息显示和音效播放
- 5.9.1字体显示
- 5.9.2字体显示函数
- 5.9.3音效播放
- 5.10“小猫顶球”游戏主程序完善
- 5.11小结
- 第6章“一起来玩汉诺塔”游戏
- 6.1“一起来玩汉诺塔”游戏运行示例
- 6.2“一起来玩汉诺塔”游戏规则
- 6.3游戏主场景设计
- 6.3.1塔底座绘制
- 6.3.2塔绘制
- 6.3.3盘子绘制
- 6.3.4按钮绘制
- 6.4弹窗设置盘子个数
- 6.5递归解决汉诺塔问题
- 6.6游戏主函数完成
- 6.7小结
- 第7章“网络五子棋”游戏
- 7.1“网络五子棋”游戏运行示例
- 7.2“网络五子棋”游戏规则
- 7.3“网络五子棋”主场景设计
- 7.3.1提示区域绘制
- 7.3.2棋盘区域绘制
- 7.3.3按钮区域绘制
- 7.3.4倒计时数字显示
- 7.4“网络五子棋”游戏胜利判断
- 7.5网络对战实现
- 7.5.1多线程任务建立
- 7.5.2线程间的数据同步传输
- 7.5.3服务器端建立
- 7.5.4客户端建立
- 7.5.5服务器端和客户端协议制定
- 7.6“网络五子棋”游戏主程序完善
- 7.7小结
- 第8章“中国象棋”游戏(支持AI对战)
- 8.1“中国象棋”游戏运行示例
- 8.2“中国象棋”游戏落子与获胜判断规则
- 8.3游戏初始场景设计
- 8.4游戏主场景设计
- 8.4.1初始状态象棋棋盘与棋子显示
- 8.4.2鼠标确定棋子点选
- 8.4.3棋子标识类创建
- 8.4.4其余场景绘制
- 8.5棋子规则类创建
- 8.5.1棋子移动方法判断
- 8.5.2棋子吃子方法判断
- 8.5.3棋子吃子方法调用
- 8.5.4“中国象棋”游戏获胜判断
- 8.6已走棋的中文俗语表示
- 8.7AI走棋
- 8.7.1局面分
- 8.7.2AI得到黑棋的所有走法
- 8.7.3黑棋最有利局面
- 8.7.4AI最佳走法
- 8.8“中国象棋”游戏主程序完善
- 8.9小结
- 附录APygame常用模块