作品简介

全书精选十个游戏案例,涵盖不同的游戏类型,每一章围绕一个经典游戏案例展开,并突出一个游戏编程的主题。本书涉及的主要知识点有游戏循环的原理、鼠标及键盘事件处理、碰撞检测及处理、随机数的运用、定时器的使用、游戏场景的滚动、角色动画的播放、音效及音乐的播放、缓动效果、游戏关卡设计、游戏人工智能的原理及运用等。本书将Python语法知识及常用的编程技巧糅合在各个游戏案例中介绍,为读者展示Python语言的实际运用场景。本书内容安排合理,架构清晰,注重理论与实践相结合,适合作为零基础学习Python开发初学者的教程,也可作为本科院校及大专院校的教材,还可供职业技术学校和各类游戏培训机构使用。

何青

湖南文理学院计算机教师,毕业于中山大学。从事计算机游戏设计课程教学十余年,教学经验丰富,教学成果显著,主持教育部产学合作协同育人项目“计算机游戏设计课程教师技能培养”,发表游戏设计教学研究论文多篇,出版游戏设计图书三部:《游戏程序设计教程》《Java游戏程序设计教程》《Java游戏开发实践:Greenfoot编程快速入门》。

作品目录

  • 作者简介
  • 内容简介
  • Preface 前言
  • 第1章 神奇的游戏循环:弹跳小球
  • 1.1 准备工作
  • 1.1.1 选择合适的开发工具
  • 1.1.2 设置开发环境
  • 1.2 从何处开始
  • 1.2.1 创建程序窗口
  • 1.2.2 改变窗口大小和颜色
  • 1.2.3 显示图像
  • 1.3 建立游戏世界
  • 1.3.1 创建游戏场景
  • 1.3.2 创建游戏角色
  • 1.4 移动小球
  • 1.4.1 改变小球坐标
  • 1.4.2 游戏循环
  • 1.4.3 朝其他方向移动
  • 1.4.4 移动得快一些
  • 1.5 实现小球反弹
  • 1.5.1 检测小球的位置
  • 1.5.2 将小球反弹回来
  • 1.6 加入更多的小球
  • 1.6.1 添加两个小球
  • 1.6.2 使用列表
  • 1.7 回顾与总结
  • 第2章 用鼠标控制游戏:拼图
  • 2.1 添加图片块
  • 2.1.1 准备图片资源
  • 2.1.2 创建游戏场景
  • 2.1.3 用列表管理图片块
  • 2.2 打乱图片块
  • 2.2.1 使用随机函数
  • 2.2.2 将图片块显示出来
  • 2.3 移动图片块
  • 2.3.1 处理鼠标单击事件
  • 2.3.2 选取图片块
  • 2.3.3 判断图片块能否移动
  • 2.3.4 采用模块化编程方法
  • 2.3.5 改变图片块的位置
  • 2.3.6 减少程序的缩进层级
  • 2.4 实现游戏结束
  • 2.4.1 检查拼图是否完成
  • 2.4.2 显示最后一张图片
  • 2.4.3 播放声音效果
  • 2.4.4 显示文字信息
  • 2.5 回顾与总结
  • 第3章 递归函数的威力:扫雷
  • 3.1 创建方块阵列
  • 3.1.1 准备图片资源
  • 3.1.2 创建游戏场景
  • 3.1.3 生成方块阵列
  • 3.1.4 埋设地雷
  • 3.2 给方块插上旗子
  • 3.2.1 使用鼠标右键来操作
  • 3.2.2 定义函数执行插旗操作
  • 3.3 打开方块
  • 3.3.1 完善鼠标事件处理
  • 3.3.2 获取周围的方格
  • 3.3.3 统计地雷数量
  • 3.3.4 递归调用打开方块函数
  • 3.4 判定游戏胜负
  • 3.4.1 游戏失败的处理
  • 3.4.2 游戏胜利的处理
  • 3.5 回顾与总结
  • 第4章 用键盘控制游戏:贪食蛇
  • 4.1 创建场景和角色
  • 4.1.1 创建游戏场景
  • 4.1.2 创建贪食蛇
  • 4.2 移动蛇头
  • 4.2.1 处理键盘按键事件
  • 4.2.2 让蛇头持续移动
  • 4.2.3 另一种键盘控制方式
  • 4.2.4 延缓贪食蛇的移动
  • 4.2.5 旋转蛇头的图像
  • 4.2.6 使用字典类型
  • 4.3 添加食物
  • 4.3.1 让食物随机出现
  • 4.3.2 让贪食蛇“吃”食物
  • 4.3.3 增长贪食蛇的身体
  • 4.4 实现游戏结束
  • 4.4.1 判断贪食蛇碰到窗口边界
  • 4.4.2 判断蛇头碰到自己身体
  • 4.5 回顾与总结
  • 第5章 随机数的妙用:打字
  • 5.1 创建一个字母气球
  • 5.1.1 创建游戏场景
  • 5.1.2 创建气球角色
  • 5.2 添加多个气球
  • 5.2.1 创建多个气球角色
  • 5.2.2 随机生成气球的坐标
  • 5.2.3 随机生成气球的速度
  • 5.2.4 随机生成气球的字母
  • 5.3 实现打字功能
  • 5.3.1 匹配字母的按键
  • 5.3.2 消除气球
  • 5.3.3 修补游戏的Bug
  • 5.4 完善游戏规则
  • 5.4.1 添加游戏积分
  • 5.4.2 实现游戏倒计时
  • 5.4.3 判定游戏结束
  • 5.5 回顾与总结
  • 第6章 碰撞检测及处理:打砖块
  • 6.1 创建场景及角色
  • 6.1.1 创建游戏场景
  • 6.1.2 创建游戏角色
  • 6.2 让角色动起来
  • 6.2.1 移动挡板
  • 6.2.2 移动小球
  • 6.3 处理角色间的碰撞
  • 6.3.1 碰撞检测的原理
  • 6.3.2 小球与挡板的碰撞
  • 6.3.3 小球与砖块的碰撞
  • 6.4 完善游戏规则
  • 6.4.1 设置游戏积分
  • 6.4.2 添加生命值
  • 6.4.3 实现游戏结束
  • 6.5 回顾与总结
  • 第7章 让游戏更加生动:Flappy Bird
  • 7.1 创建游戏场景
  • 7.1.1 设置背景图像
  • 7.1.2 滚动背景图像
  • 7.2 添加障碍物
  • 7.2.1 设置地面
  • 7.2.2 设置水管
  • 7.3 添加小鸟
  • 7.3.1 创建小鸟角色
  • 7.3.2 模拟重力下的飞行
  • 7.3.3 播放飞行动画
  • 7.4 小鸟与障碍物的交互
  • 7.4.1 小鸟与地面碰撞
  • 7.4.2 小鸟与水管碰撞
  • 7.4.3 小鸟飞越水管
  • 7.5 设计图形用户界面
  • 7.5.1 显示GUI图像
  • 7.5.2 单击“开始”按钮
  • 7.5.3 播放背景音乐
  • 7.6 回顾与总结
  • 第8章 实现复杂的移动:飞机大战
  • 8.1 创建游戏场景
  • 8.1.1 设置背景图像
  • 8.1.2 滚动背景图像
  • 8.2 添加英雄战机
  • 8.2.1 控制战机移动
  • 8.2.2 播放战机动画
  • 8.3 添加子弹
  • 8.3.1 实现子弹射击
  • 8.3.2 设置增强道具
  • 8.3.3 使用三角函数计算坐标
  • 8.4 添加敌机
  • 8.4.1 设置缓动效果
  • 8.4.2 敌机与子弹的交互
  • 8.4.3 敌机与战机的交互
  • 8.5 完善游戏效果
  • 8.5.1 设置HUD
  • 8.5.2 播放背景音乐
  • 8.6 回顾与总结
  • 第9章 添加多个游戏关卡:推箱子
  • 9.1 创建场景和角色
  • 9.1.1 设置游戏关卡
  • 9.1.2 加载游戏关卡
  • 9.2 实现角色的交互
  • 9.2.1 控制玩家角色的移动
  • 9.2.2 处理玩家角色的碰撞
  • 9.2.3 处理箱子角色的碰撞
  • 9.3 添加新的关卡
  • 9.3.1 从文件载入关卡
  • 9.3.2 切换关卡
  • 9.4 完善游戏功能
  • 9.4.1 重置关卡
  • 9.4.2 判定游戏结束
  • 9.5 回顾与总结
  • 第10章 人工智能的奥秘:五子棋
  • 10.1 创建棋盘和棋子
  • 10.1.1 绘制棋盘
  • 10.1.2 设置棋子
  • 10.2 执行走棋操作
  • 10.2.1 使用鼠标下棋
  • 10.2.2 交换下棋双方
  • 10.3 完善游戏规则
  • 10.3.1 判定棋局胜负
  • 10.3.2 添加悔棋功能
  • 10.4 实现人机对弈
  • 10.4.1 游戏中的人工智能
  • 10.4.2 让计算机学会下棋
  • 10.5 回顾与总结
  • 附录A 配置开发环境
  • A.1 安装Python
  • A.2 安装Mu编辑器
  • 附录B Python基础语法参考
  • B.1 程序基本元素
  • B.2 简单数据类型
  • B.3 运算符与表达式
  • B.4 程序流程控制
  • B.5 函数
  • B.6 类和对象
  • B.7 组合数据类型
展开全部