计算机
类型
可以朗读
语音朗读
178千字
字数
2024-08-01
发行日期
展开全部
主编推荐语
详解算法代码和游戏开发代码。
内容简介
本书通过趣味游戏编程项目讲解算法,提升读者学习算法的兴趣,降低读者学习算法的难度,增强读者将算法应用于编程实践的能力。
目录
- 版权信息
- 内容提要
- 前言
- 资源与支持
- 第1章 猜数字
- 1.1 实现猜数字游戏
- 1.2 顺序查找
- 1.3 二分查找
- 1.4 算法的效率
- 1.5 小结
- 第2章 飞翔的小鸟
- 2.1 EasyX图形库
- 2.2 小球的自由落体
- 2.3 按空格键让小球向上飞
- 2.4 游戏程序框架改进
- 2.5 添加水管障碍物
- 2.6 得分的计算与显示
- 2.7 更多水管障碍物
- 2.8 图片的使用
- 2.9 小结
- 第3章 得分排行榜
- 3.1 插入排序及其可视化
- 3.2 冒泡排序及其可视化
- 3.3 选择排序及其可视化
- 3.4 快速排序及其可视化
- 3.5 拓展练习:查找算法和更多排序算法的可视化
- 3.6 小结
- 第4章 汉诺塔
- 4.1 实现汉诺塔游戏
- 4.1.1 定义柱子结构体与可视化
- 4.1.2 通过鼠标点击选中柱子
- 4.1.3 移动盘子
- 4.1.4 判断盘子是否可以移动
- 4.1.5 提示信息与胜负判断
- 4.2 递归求解汉诺塔问题
- 4.3 汉诺塔自动求解过程的可视化
- 4.4 拓展练习:绘制分形树
- 4.5 小结
- 第5章 八皇后
- 5.1 实现八皇后游戏
- 5.1.1 绘制棋盘和提示信息
- 5.1.2 通过鼠标交互绘制皇后棋子
- 5.1.3 游戏胜负判断
- 5.2 暴力搜索
- 5.2.1 八重for循环输出八皇后的所有摆法
- 5.2.2 暴力搜索求出八皇后的所有摆法
- 5.3 回溯
- 5.4 八皇后游戏自动求解过程的可视化
- 5.5 拓展练习:一笔画游戏、数独游戏
- 5.6 小结
- 第6章 消灭星星
- 6.1 消灭星星游戏基础版
- 6.1.1 基础数据结构和画面显示
- 6.1.2 通过鼠标点击消除单个方块
- 6.2 基于FloodFill算法消除连通的方块
- 6.3 方块位置的更新
- 6.3.1 方块下落
- 6.3.2 方块左移
- 6.4 游戏完善
- 6.5 拓展练习:扫雷游戏
- 6.6 小结
- 第7章 贪吃蛇
- 7.1 常见数据结构
- 7.1.1 数组
- 7.1.2 链表
- 7.1.3 队列
- 7.1.4 栈
- 7.1.5 图
- 7.1.6 树
- 7.2 标准模板库
- 7.2.1 vector
- 7.2.2 queue
- 7.2.3 stack
- 7.2.4 string
- 7.2.5 map
- 7.3 实现贪吃蛇游戏
- 7.3.1 数据结构和画面显示
- 7.3.2 蛇的自动移动
- 7.3.3 通过鼠标控制蛇的移动方向
- 7.3.4 添加食物和障碍物
- 7.3.5 蛇吃食物后的处理
- 7.3.6 为蛇添加眼睛
- 7.4 拓展练习:飞机大战
- 7.5 小结
- 第8章 走迷宫
- 8.1 实现走迷宫游戏
- 8.1.1 迷宫地图初始化与显示
- 8.1.2 添加小球
- 8.1.3 通过键盘控制小球移动
- 8.2 基于十字分割算法自动生成迷宫地图
- 8.3 图的广度优先搜索算法
- 8.4 图的深度优先搜索算法
- 8.5 迷宫游戏自动求解
- 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.4 小结
- 第10章 吃豆人
- 10.1 吃豆人游戏基础版
- 10.1.1 地图的存储与显示
- 10.1.2 玩家对吃豆人的控制
- 10.1.3 图片切换与动画效果
- 10.1.4 幽灵随机移动
- 10.1.5 胜负判断
- 10.2 迪杰斯特拉算法
- 10.3 贪婪最佳优先搜索算法与A*算法
- 10.4 三种算法的实现与对比
- 10.5 幽灵自动追踪
- 10.6 小结
- 第11章 滑动拼图
- 11.1 实现滑动拼图游戏
- 11.1.1 数据结构和画面显示
- 11.1.2 生成随机初始状态
- 11.1.3 鼠标交互与胜利判断
- 11.2 状态空间上的搜索算法
- 11.3 滑动拼图游戏的自动求解
- 11.4 拓展练习:农夫过河游戏
- 11.5 小结
- 第12章 井字棋
- 12.1 双人对战井字棋
- 12.1.1 数据结构和画面显示
- 12.1.2 通过鼠标交互下棋
- 12.1.3 胜负判断
- 12.2 棋局的估值函数
- 12.3 基于博弈树的极大极小值搜索算法实现人机对战下棋
- 12.4 基于α-β剪枝搜索算法实现人机对战下棋
- 12.5 拓展练习:人机对战五子棋
- 12.6 小结
- 第13章 垒积木
- 13.1 实现垒积木游戏
- 13.1.1 积木块的绘制
- 13.1.2 积木块的旋转
- 13.1.3 多个积木与画面显示
- 13.1.4 垒积木操作
- 13.1.5 高度统计与胜负判断
- 13.1.6 游戏完善
- 13.2 递归回溯求解垒积木问题
- 13.3 动态规划求解垒积木问题
- 13.4 小结
- 第14章 十步万度
- 14.1 实现十步万度游戏
- 14.1.1 数据结构与画面显示
- 14.1.2 鼠标交互与指针旋转
- 14.1.3 旋转传播与得分统计
- 14.1.4 显示旋转过程动画
- 14.2 遗传算法基础
- 14.3 基于遗传算法自动求解十步万度游戏
- 14.4 小结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。