书籍详情
Python游戏编程入门
作者:(美)Jonathan S.Harbour
出版社:人民邮电出版社
出版时间:2015-01-01
ISBN:9787115375117
定价:¥49.00
购买这本书可以去
内容简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,在游戏开发领域,Python也得到越来越广泛的应用,并由此受到重视。本书教授用Python开发精彩游戏所需的最为重要的该你那。本书不只是介绍游戏编程概念的相关内容,还深入到复杂的主题。全书共14章,依次介绍了使用Pygame、文件I/O、用户输入、数学和图形编程、位图图形、精灵动画、冲突检测、数组、计时和声音、编程逻辑、三角函数、随机地形、角色扮演游戏等重要概念。每章通过一个示例游戏来展示这些知识和工具的实际应用。本书既可以帮助读者掌握相关概念来构建较为复杂的游戏,甚至进行较为复杂的Python编程。本书内容浅显易懂,示例轻松活泼,适合Python初学者阅读,尤其适合想要掌握Python游戏编程的读者学习参考。
作者简介
Jonathan Harbour曾经作为副教授在UAT (Tempe, AZ)教授了5年游戏开发。他编写了20多本(包括改编)书,涉及到大多数主流的编程语言,如C++、C#、VB、Java和Python。他还熟悉Xbox、Xbox 360、Windows Phone、Android、Game Boy Advance 和Pocket PC等硬件。可以通过www.jharbour.com联系他。
目录
目录第1章 使用类的Python1.1 了解Geometry程序1.2 初识Python1.2.1 Python工具1.2.2 Python语言1.3 Python中的对象1.3.1 在面向对象之前是什么1.3.2 接下来是什么1.3.3 OOP:Python的方式1.3.4 单继承1.3.5 多继承1.4 小结第2章 初识Pygame:Pie游戏2.1了解Pie游戏2.2 使用Pygame2.2.1 打印文本2.2.2 循环2.2.3 绘制圆2.2.4 绘制矩形2.2.5 绘制线条2.2.6 绘制弧形2.3 Pie游戏2.4 小结第3章 I/O、数据和字体:TRIVIA游戏3.1了解Trivia游戏3.2 Python数据类型3.2.1关于打印的更多知识3.2.2 获取用户输入3.2.3 处理异常3.2.4 Mad Lib游戏3.3 文件输入/输出3.3.1 操作文本3.3.2 操作二进制文件3.4 TRIVIA游戏3.4.1 用Pygame打印文本3.4.2 Trivia类3.4.3 加载Trivia数据3.4.4 显示问题和答案3.4.5 响应用户输入3.4.6 继续下一个问题3.4.7 主代码3.5 小结第4章用户输入:Bomb Catcher游戏4.1认识Bomb Catcher游戏4.2 Pygame事件4.2.1 实时事件循环4.2.2 键盘事件4.2.3 鼠标事件4.3 设备轮询4.3.1 轮询键盘4.3.2 轮询鼠标4.4 Bomb Catcher游戏4.5 小结第5章 Math和Graphics:Analog Clock示例程序5.1 Analog Clock示例程序简介5.2 基本三角函数5.2.1 圆理论5.2.2 遍历圆周5.2.3 圆示例5.3 Analog Clock示例程序5.3.1 获取时间5.3.2 绘制时钟5.4 小结第6章 位图图形:Orbiting Spaceship示例程序6.1 认识Orbiting Spaceship示例程序6.2 使用位图6.2.1加载位图6.2.2 绘制背景6.2.3 绘制行星6.2.4 绘制航空飞船6.3 环绕行星轨道6.3.1 绕轨道移动6.4 小结第7章 用精灵实现动画: Escape the Dragon游戏7.1 认识Escape the Dragon游戏7.2 使用Pygame精灵7.2.1定制动画7.2.2 加载精灵序列图7.2.3 更改帧7.2.4 绘制一帧7.2.5 精灵组7.2.6 MySprite类7.2.7 测试精灵动画7.3 Escape the Dragon游戏7.3.1 跳跃7.3.2 冲突7.3.3 源代码7.4 小结第8章 精灵冲突:Zombie Mob游戏8.1 Zombie Mob游戏简介8.2 冲突检测技术8.2.1 两个精灵之间的矩形检测8.2.2 两个精灵之间的圆检测8.2.3 两个精灵之间的像素精确遮罩检测8.2.4 精灵和组之间的矩形冲突8.2.5 两个组之间的矩形冲突检测8.3 Zombie Mob游戏8.3.1 创建自己的模块8.3.2 高级定向动画8.3.3 与僵尸冲突8.3.4 获得生命值8.3.5 游戏源代码8.4 小结第9章 数组、列表和元组:Block Breaker游戏9.1 Block Breaker游戏简介9.2 数组和列表9.2.1 有一个维度的列表9.2.2 创建栈式列表9.2.3 创建队列式列表9.2.4 更多维度的列表9.3 元组9.3.1 打包元组9.3.2 解包元组9.3.3 搜索元素9.3.4 计数元素9.3.5 作为常量数组的元组9.4 Block Breaker游戏9.4.1 Block Breaker关卡9.3.2 加载和修改关卡9.3.3 初始化游戏9.3.4 移动挡板9.3.5 移动球9.3.6 撞击挡板9.3.7 撞击砖块9.3.8 主代码9.3.9 更新MySprite9.4 小结第10章 计时和声音:Oil Spill游戏10.1 Oil Spill游戏简介10.2 声音10.2.1 加载音频文件10.2.2 播放音频剪辑10.3 构建Oil Spill游戏10.3.1 游戏逻辑10.3.2 源代码10.4 小结第11章 编程逻辑:Snake游戏11.1 Snake游戏简介11.2 开发Snake游戏11.2.1 画出蛇来——SnakeSegment类11.2.2 增长蛇——Snake类11.2.3 蛇吃食物——Food类11.2.4 初始化游戏11.2.5 主程序11.2.6 通过吃食物而张长11.2.7 咬到自己是不明智的11.2.8 跌落世界之外11.3 教蛇学会自己移动11.3.1 自动移动11.3.2 获得当前方向11.3.3 朝着食物移动11.3.4 其他代码修改11.4 小结第12章 三角数学:Tank Battle游戏12.1 Tank Battle游戏简介12.2 角速率12.2.1 计算角速率12.2.2 Pygame笨拙的旋转12.2.3 以任意角度前后移动坦克12.2.4 改进角度折返12.3 构建Tank Battle游戏12.3.1 坦克12.3.2 子弹12.3.3 主程序代码12.4 小结第13章 随机地形:Artillery Gunner游戏13.1 Artillery Gunner游戏简介13.2创建地形13.2.1 定义高度地图13.2.2 平滑地形13.2.3 定位栅格点13.3 大炮13.3.1 放置大炮13.3.2 绘制炮塔13.3.3 发射大炮13.3.4 让炮弹再飞一会儿13.3.5 计算机开火13.3.6 为击中计分13.4 完整的游戏13.5 小结第14章 更多内容:Dungeon角色扮演游戏14.1 Dungeon游戏简介14.2 回顾经典的Dungeon RPG14.2.1 Rogue14.2.2 NetHack14.2.3 AngBand14.2.4 Kingdom of Kroz14.2.5 ZZT14.3 创建一个地下城关卡14.3.1 理解ASCII字符14.3.2 模拟文本控制台显示14.3.3 生成随机房间14.3.4 生成随机的通道14.4 填充地下城14.4.1 添加入口和出口14.4.2 添加金子14.4.3 添加武器、盔甲和生命值14.4.4 添加怪兽14.4.5 完整的Dungeon类14.4.6 添加玩家的角色14.5 高级游戏逻辑14.5.1 捡拾物品14.5.2 与怪兽战斗14.5.3 移动怪兽14.5.4 可见性范围14.5.5 退出关卡14.5.6 结束游戏逻辑14.6 小结附录A 安装Python和PygameA.1 安装PythonA.2 安装Pygame附录B Pygame按键代码
猜您喜欢