新書推薦:
《
黄庭经详解(全2册)
》
售價:HK$
141.6
《
台北故宫博物院典藏大系·绘画卷(全十册)
》
售價:HK$
9784.0
《
姑苏繁华图
》
售價:HK$
684.4
《
人的消逝:从原子弹、互联网到人工智能
》
售價:HK$
103.8
《
想象的共同体--民族主义的起源与散布(增订版)
》
售價:HK$
77.3
《
医学图形图像处理基于Python VTK的实现
》
售價:HK$
166.9
《
山家清供:小楷插图珍藏本 谦德国学文库系列
》
售價:HK$
143.4
《
政略与战略论
》
售價:HK$
140.0
編輯推薦:
学习一种编程语言,还有比开发游戏更好的方法吗?本书为读者提供了充分的实践和练习,并且关注Python编程中的高 级话题,这些全部通过游戏示例和项目来介绍,而这已经证明是一种高效而有趣的学习方法。本书介绍了数据结构、文件处理、异常、面向对象编程、GUI编程、多媒体编程、命名空间和程序规划。本书将使读者掌握Python语言的深层知识。本书具有以下特色:1.以开发游戏为学习方法;2.利用已经学到的知识,逐渐增加编程项目的挑战性,逐步构建牢固的基础知识;3.通过每章**后的挑战练习,鼓励读者测试自己的技能并应用自己的知识;4.Web站点(www.jharbour.com)包含了所有的源代码和其他资料。
內容簡介:
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按键代码