超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

不再提示
关闭
欢迎光临中图网 请 | 注册

游戏程序设计

作者:李仕主编
出版社:西安电子科技大学出版社出版时间:2021-12-01
开本: 26cm 页数: 311页
中 图 价:¥33.3(7.4折) 定价  ¥45.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>
微信公众号

游戏程序设计 版权信息

  • ISBN:9787560661896
  • 条形码:9787560661896 ; 978-7-5606-6189-6
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>

游戏程序设计 内容简介

本书设定为游戏开发的入门级教材, 以游戏框架结构为着手点, 讲解游戏开发的基础知识。本书全部的案例均按“游戏框架”的模块结构展开, 从开发层面详细描述游戏从原型到成品的开发过程, 强调模块可用、可维护的思想。限于篇幅, 书中对所涉及到的C/C++基础知识并未做过多展开。本书的读者需要具备基本的C/C++基础知识。为帮助读者从通识性的C/C++学习顺利过渡到专业性的游戏开发学习, “游戏开发基础”篇中提供了用C/C++标准库开发《贪吃蛇》游戏案例。为让读者的注意力能从具体开发平台, 转向游戏开发本身, 剩余篇章的教学案例依赖开源的简单快速媒体库 (SFML) 完成。SFML库基于OpenGL开发, 本身跨平台并支持多语言。

游戏程序设计 目录

**篇 游戏开发基础 第1章 概述 2 1.1 游戏开发 2 1.1.1 游戏运行原理 2 1.1.2 游戏开发语言 2 1.1.3 编译和解释 2 1.1.4 游戏引擎 3 1.2 编程基础 3 1.2.1 基础知识 4 1.2.2 与高级编程相关的概念 5 1.2.3 与代码维护和优化相关的概念 6 1.2.4 其他底层知识 7 1.3 库文件和链接冲突 7 1.3.1 x86和x64 7 1.3.2 库文件和链接冲突 8 1.4 软件许可证 9 1.4.1 软件许可证 9 1.4.2 zlib/libpng许可 9 第2章 程序设计基础 11 2.1 HelloWorld! 11 2.1.1 开发环境 11 2.1.2 HelloWorld 13 2.1.3 函数讲解 14 习题 14 2.2 数值运算 15 2.2.1 数值运算 15 2.2.2 标准输入流 16 习题 17 2.3 逻辑判断 17 2.3.1 逻辑判断 17 2.3.2 逻辑错误 19 习题 21 2.4 循环与中断 22 2.4.1 循环与中断 22 2.4.2 按键响应 23 2.4.3 按键组合 25 习题 26 2.5 控制台颜色 26 2.5.1 控制台文本属性 26 2.5.2 文本颜色设置 27 习题 29 第3章 游戏的框架 30 3.1 游戏框架 30 3.1.1 游戏框架 30 3.1.2 贪吃蛇简介 30 3.1.3 贪吃蛇的框架 32 3.1.4 游戏初始化 33 3.1.5 游戏舞台绘制 34 3.1.6 游戏对象的表达 37 习题 40 3.2 游戏模块 41 3.2.1 游戏输入 41 3.2.2 全局变量的弊端 43 3.2.3 游戏逻辑 43 3.2.4 游戏组成要素 44 3.2.5 得分与显示 45 3.2.6 蛇身链表 45 3.2.7 蛇身显示 47 3.2.8 问题排查 47 3.2.9 胜负判断 50 习题 50 第4章 游戏的显示 51 4.1 双缓冲显示 51 4.1.1 屏幕缓冲区 51 4.1.2 双缓冲技术 52 4.1.3 创建双缓冲区 53 4.1.4 缓冲数据数组 54 4.1.5 双缓冲显示 56 4.1.6 双缓冲的彩色显示 59 习题 60 4.2 局部更新 60 4.2.1 舞台局部更新 60 4.2.2 光标位置 61 4.2.3 局部绘制 62 习题 65 4.3 游戏界面 66 4.3.1 游戏界面的显示 66 4.3.2 特殊字符 68 习题 71 4.4 全角字符显示 71 4.4.1 字符种类 71 4.4.2 字符与字体 72 4.4.3 全角字符显示 72 4.4.4 画面模式切换 76 习题 78 第5章 循环控制与代码管控 79 5.1 游戏循环控制 79 5.1.1 游戏循环 79 5.1.2 游戏暂停 79 5.1.3 游戏重新开始 80 5.1.4 方向控制 82 习题 84 5.2 游戏帧频管理 84 5.2.1 游戏帧频 84 5.2.2 节奏与难度 85 习题 86 5.3 代码维护与管控 87 5.3.1 宏定义 87 5.3.2 代码的可维护性 88 习题 90 第二篇 SFML游戏开发 第6章 SFML多媒体库 92 6.1 SFML简介 92 6.1.1 SFML简介 92 6.1.2 SFML版本 92 6.1.3 SFML的依赖项 93 6.1.4 SFML库的许可 94 习题 94 6.2 开发环境配置 94 6.2.1 SFML开发包 94 6.2.2 环境配置 95 6.3 SFML简单程序 100 6.3.1 SFML命名空间 100 6.3.2 SFML窗口 100 6.3.3 窗口显示 101 习题 102 6.4 SFML常见问题 103 6.4.1 SFML 3D应用 103 6.4.2 RenderTextures不起作用 103 6.4.3 SFML程序无法运行 103 第7章 SFML版贪吃蛇 104 7.1 框架搭建 104 7.1.1 SFML的游戏框架 104 7.1.2 Initial模块 106 7.1.3 循环模块与帧频 108 7.1.4 Input模块 109 7.1.5 Draw模块 110 7.1.6 Logic模块 111 习题 112 7.2 图形几何变换 113 7.2.1 几何变换 113 7.2.2 几何缩放 114 7.2.3 位置 115 7.2.4 原点 117 7.2.5 旋转 118 7.2.6 游戏I/O频率的调整 121 习题 122 7.3 SFML文字显示 123 7.3.1 背景色 123 7.3.2 String和宽字符串 124 7.3.3 加载字体 125 7.3.4 文本绘制 127 习题 130 第8章 SFML媒体应用开发 131 8.1 初探游戏动画 131 8.1.1 动画模式的管理 131 8.1.2 步进细化与逻辑函数 133 8.1.3 步进细化的链表更新 135 8.1.4 步进细化与绘图函数 136 8.1.5 SFML的时间 139 8.1.6 移动速度与帧速率 140 习题 142 8.2 音频与管理 142 8.2.1 音频播放方式 142 8.2.2 声音加载和播放 143 8.2.3 音乐播放 143 8.2.4 播放实例 144 8.2.5 音频高阶功能 145 8.2.6 音频控制示例 146 习题 148 8.3 游戏进程管理 148 8.3.1 游戏进程管理 148 8.3.2 状态信息的显示 150 8.3.3 游戏结束画面 152 8.3.4 控制台窗口隐藏 153 习题 154 8.4 精灵动画 156 8.4.1 精灵表单 156 8.4.2 Animation类 156 8.4.3 AnimatedSprite类 159 8.4.4 精灵动画示例 166 8.4.5 精灵绘制的调用机制 167 习题 168 第三篇 SFML高级应用 第9章 鼠标交互案例——扫雷 170 9.1 扫雷游戏 170 9.1.1 游戏规则 170 9.1.2 案例策划 170 9.1.3 游戏框架与构建 173 习题 174 9.2 鼠标交互 174 9.2.1 鼠标 174 9.2.2 鼠标事件 175 9.2.3 SFML鼠标类 177 9.2.4 微软的鼠标双击 177 习题 178 9.3 类的初级应用 179 9.3.1 类 179 9.3.2 项目搭建 179 9.3.3 游戏数值的预定义 179 9.3.4 类的封装 182 9.3.5 Game类的封装 182 9.3.6 游戏的变量 184 9.3.7 Game类的实例化 185 习题 185 9.4 初始化模块 186 9.4.1 游戏窗口创建 186 9.4.2 初始化函数 186 9.4.3 素材加载 187 9.4.4 stringstream对象的格式 188 9.4.5 游戏数值初始化 189 习题 189 9.5 游戏数值 190 9.5.1 布雷函数 190 9.5.2 **次点击 191 9.5.3 游戏数值标记 192 习题 194 9.6 图形绘制模块 194 9.6.1 绘制模块设计 194 9.6.2 网格的绘制 195 9.6.3 图形按钮绘制 196 9.6.4 游戏计数绘制 199 9.6.5 计时器绘制 200 9.6.6 游戏结束画面绘制 201 习题 202 9.7 输入模块 203 9.7.1 输入模块设计 203 9.7.2 鼠标点击响应 204 9.7.3 右键单击函数 205 9.7.4 左键单击函数 207 9.7.5 左键双击函数 208 9.7.6 按钮的交互 209 9.7.7 方格状态的其他描述方式 210 习题 211 9.8 逻辑模块 211 9.8.1 逻辑调用 211 9.8.2 Nullclick()函数 213 9.8.3 unCover()函数 214 9.8.4 胜负判定 214 习题 216 9.9 微软扫雷的双键点击规则 217 9.9.1 微软扫雷的双键点击规则 217 9.9.2 双键点击事件 218 9.9.3 双键点击响应 220 9.9.4 双键响应的逻辑和调用 222 9.9.5 规则细节完善 223 习题 228 第10章 双人版俄罗斯方块 231 10.1 俄罗斯方块规则 231 10.1.1 俄罗斯方块规则 231 10.1.2 图形方块的数字描绘 232 10.1.3 框架构建 235 习题 239 10.2 俄罗斯方块的双人架构 241 10.2.1 游戏平台类 241 10.2.2 游戏初始化 243 10.2.3 游戏输入 247 10.2.4 游戏逻辑 248 10.2.5 游戏绘制 249 10.2.6 游戏循环 250 10.2.7 游戏入口 251 习题 251 10.3 Next区和Bag7 252 10.3.1 Next区初始化 252 10.3.2 Next区逻辑设定 254 10.3.3 Bag7算法 255 10.3.4 Next区绘制 256 习题 257 10.4 高阶之Hold区 258 10.4.1 Hold区设计 258 10.4.2 对象间数据交换与静态变量 259 10.4.3 Hold功能实现 260 10.4.4 Hold函数的调用 266 习题 266 10.5 旋转和踢墙 266 10.5.1 图形编码 266 10.5.2 图形的标记与管理 268 10.5.3 Logic()函数的模块化整理 269 10.5.4 踢墙 271 习题 275 10.6 速降、底部缓冲与投影 275 10.6.1 辅助设计 275 10.6.2 速降 277 10.6.3 底部缓冲 278 10.6.4 投影 279 习题 281 10.7 功能按钮 283 10.7.1 界面按钮设定 283 10.7.2 初始化模块更新 285 10.7.3 按钮绘制 286 10.7.4 输入模块更新 288 10.7.5 游戏的开始与结束 291 10.7.6 游戏的暂停与继续 292 习题 292 10.8 游戏动画 294 10.8.1 预定义 294 10.8.2 逻辑函数调整 295 10.8.3 消行检测与消行执行 298 10.8.4 新图形生成函数 300 10.8.5 消行动画特效 301 10.8.6 绘制模块管控 303 习题 303 10.9 胜负与输出 304 10.9.1 胜负判定 304 10.9.2 胜负结果绘制 306 10.9.3 文字输出 307 习题 310 参考文献 311
展开全部
商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服