Unity 2017經典遊戲開發教程:演算法分析與實現 | 做自己 - 2024年10月

Unity 2017經典遊戲開發教程:演算法分析與實現

作者:張帆
出版社:人民郵電
出版日期:2018年10月01日
ISBN:9787115486820
語言:繁體中文
售價:668元

在遊戲開發學習中,借鑒經典遊戲的開發思路和演算法是快速提升開發與設計水準的有效捷徑,這種學習的路徑也是明智而高效的。本書精選了18個廣受歡迎的經典遊戲案例進行講解剖析,包含打地鼠、俄羅斯方塊、打磚塊、三消、翻牌子、連連看、拼圖、推箱子、炸彈人、華容道、橫板跑酷、掃雷、貪吃蛇、五子棋、跳棋、吃豆人、鬥地主、坦克大戰等遊戲。

本書遊戲的實現採用了Unity 2017版軟體,該軟體是目前世界範圍內使用最廣泛的遊戲開發與虛擬實境開發平臺之一,介面友好,功能強大,有適合不同學習階段和不同開發需求的對應版本。

本書不僅詳細介紹了Unity的軟體操作基礎與遊戲開發操作流程,而且對每個遊戲案例的開發思路、演算法分析、程式實現等都有詳盡的講解,非常適合對遊戲開發、虛擬實境開發設計感興趣的初中級讀者,也適合遊戲相關專業作為教材使用。

張帆,具有多年遊戲開發和教學經驗,浙江傳媒學院優秀教師,研究方向包括:數位娛樂與交互設計、遊戲設計,已出版教材:《Unity5.X遊戲開發基礎》、《 遊戲策劃與設計》等。

第1章 熟悉Unity软件的操作1
1.1 可多平台发布的Unity游戏引擎 1
1.2 Unity游戏引擎的下载和安装 1
1.2.1 Unity的下载 2
1.2.2 Unity的安装 3
1.2.3 Unity的注册 4
1.2.4 启动Unity 4
1.3 认识Unity的编辑界面 5
1.3.1 软件标题栏 5
1.3.2 主菜单 6
1.3.3 Project项目资源窗口 16
1.3.4 Hierarchy层级窗口 24
1.3.5 Scene场景窗口 25
1.3.6 Inspector组件属性面板 37
1.3.7 Game游戏预览窗口 42
1.3.8 Console控制台 43
1.4 自定义窗口布局 44
1.4.1 使用Unity内置的窗口布局功能 44
1.4.2 自定义窗口布局 46
1.5 Unity中定义的重要概念 47
1.5.1 资源(Assets) 47
1.5.2 工程(Project) 48
1.5.3 场景(Scenes) 48
1.5.4 游戏对象(GameObject) 48
1.5.5 组件(Component) 48
1.5.6 脚本(Scripts) 49
1.5.7 预置(Prefabs) 49

第2章 打地鼠50
2.1 游戏简介 50
2.2 游戏规则 50
2.3 程序思路 50
2.3.1 洞口的排列 50
2.3.2 地鼠出现频率 51
2.3.3 单个地鼠设置 51
2.3.4 游戏时间和分数 51
2.3.5 游戏流程图 52
2.4 程序实现 52
2.4.1 前期准备 52
2.4.2 设置洞口 53
2.4.3 单只地鼠的出现与消失 56
2.4.4 地鼠的随机出现和出现频率 59
2.4.5 时间、分数和其他 64

第3章 俄罗斯方块70
3.1 游戏简介 70
3.2 游戏规则 70
3.3 游戏实现思路 72
3.3.1 随机生成方块 72
3.3.2 地图的生成 72
3.3.3 判断方块是否都在边界内 72
3.3.4 判断是否碰到其他方块 73
3.3.5 检查是否满行 73
3.3.6 删除填满的行 73
3.3.7 提示下一个方块组 73
3.3.8 结束判定 74
3.3.9 游戏流程图 74
3.4 游戏程序实现 75
3.4.1 前期准备 75
3.4.2 制作场景 76
3.4.3 生成方块组与方块组下落 79
3.4.4 边界判断 83
3.4.5 删除一行方块  92
3.4.6 结束判定  97
3.4.7 细节完善  98

第4章 打砖块 102
4.1 游戏简介  102
4.2 游戏规则  102
4.3 程序思路  103
4.3.1 地图生成  103
4.3.2 砖块控制  103
4.3.3 小球控制  103
4.3.4 游戏流程图  104
4.4 程序实现  105
4.4.1 前期准备  105
4.4.2 游戏场景设定  106
4.4.3 横板控制  107
4.4.4 小球控制  109
4.4.5 砖块的生成及控制  112
4.4.6 道具的控制  117

第5章 三消  123
5.1 游戏简介  123
5.2 游戏规则  123
5.3 程序思路  124
5.3.1 地图生成  124
5.3.2 消除检测  124
5.3.3 消除算法  125
5.3.4 宝石掉落  126
5.3.5 游戏流程图  127
5.4 程序实现  128
5.4.1 前期准备  128
5.4.2 游戏场景设定  130
5.4.3 地图生成  131
5.4.4 点选响应及宝石交换  135
5.4.5 宝石的消除判定及宝石的消除 140

第6章 翻牌子 149
6.1 游戏简介  149
6.2 游戏规则  149
6.3 程序思路  149
6.3.1 搭建卡片池  149
6.3.2 卡片状态  150
6.3.3 游戏计分  151
6.3.4 游戏流程图  151
6.4 程序实现  151
6.4.1 前期准备  151
6.4.2 游戏场景设定  152
6.4.3 卡片池的生成  154
6.4.4 卡片图案的随机生成  156
6.4.5 卡片的配对  163
6.4.6 步数、分数和重新开始  166

第7章 连连看 173
7.1 游戏简介  173
7.2 游戏规则  173
7.3 程序思路  174
7.3.1 地图生成  174
7.3.2 消除检测  175
7.3.3 画线  176
7.3.4 游戏流程图  177
7.4 程序实现  177
7.4.1 前期准备  177
7.4.2 制作游戏场景  178
7.4.3 地图创建  179
7.4.4 点选判定  183
7.4.5 消除判定  185
7.4.6 画线  194
7.4.7 道具实现  199

第8章 拼图 203
8.1 游戏简介  203
8.2 游戏规则  203
8.3 游戏思路  203
8.3.1 原图与碎片的对应关系  203
8.3.2 鼠标拖曳移动碎片  204
8.3.3 正确判断  205
8.3.4 获胜判断  205
8.3.5 游戏流程图  205
8.4 游戏实现  206
8.4.1 前期准备  206
8.4.2 制作游戏场景  208
8.4.3 碎片生成  210
8.4.4 鼠标事件  211
8.4.5 游戏结束判断  215

第9章 推箱子 217
9.1 游戏简介  217
9.2 游戏规则  217
9.3 程序思路  217
9.3.1 地图生成  217
9.3.2 角色移动  218
9.3.3 箱子移动  219
9.3.4 角色及箱子移动逻辑  220
9.3.5 游戏获胜判定  221
9.3.6 游戏流程图  221
9.4 程序实现  222
9.4.1 前期准备  222
9.4.2 制作游戏场景  223
9.4.3 地图生成  224
9.4.4 角色的移动  228
9.4.5 箱子的移动  235
9.4.6 游戏胜利判定  239
9.4.7 动画的加入  241

第10章 炸弹人  245
10.1 游戏简介  245
10.2 游戏规则  245
10.3 程序思路  246
10.3.1 地图生成  246
10.3.2 炸弹管理  247
10.3.3 怪物管理  247
10.3.4 游戏管理  248
10.3.5 游戏流程图  248
10.4 程序实现  249
10.4.1 前期准备  249
10.4.2 地图制作  249
10.4.3 开始制作  250
10.4.4 玩家操控  258
10.4.5 墙体摧毁  263
10.4.6 怪物制作  265

第11章 华容道  270
11.1 游戏简介  270
11.2 游戏规则  270
11.3 游戏程序实现思路  271
11.3.1 棋子  271
11.3.2 棋盘  271
11.3.3 移动棋子  272
11.3.4 结束判定  277
11.3.5 游戏流程图  277
11.4 游戏实现  278
11.4.1 前期准备  278
11.4.2 制作游戏场景  279
11.4.3 生成棋子  281
11.4.4 棋子移动  284
11.4.5 游戏结束判定  309

第12章 横版跑酷  312
12.1 游戏简介  312
12.2 游戏规则  313
12.3 程序思路  313
12.3.1 地图  313
12.3.2 金币和道具  313
12.3.3 障碍物  314
12.3.4 玩家  314
12.3.5 金币分数和已经前进距离的显示  314
12.3.6 游戏流程图  314
12.4 工程实现  315
12.4.1 前期准备  315
12.4.2 制作游戏场景  317
12.4.3 玩家控制  319
12.4.4 路段上金币、道具和障碍物的生成  328
12.4.5 显示前进距离和金币  332

第13章 扫雷  335
13.1 游戏简介  335
13.2 游戏规则  335
13.2.1 扫雷的布局  335
13.2.2 扫雷的基本操作  336
13.2.3 游戏结束  337
13.3 程序思路  337
13.3.1 雷区绘制  337
13.3.2 左键单击  337
13.3.3 右键单击  338
13.3.4 左右键双击  338
13.3.5 游戏结束  339
13.3.6 游戏流程图  339
13.4 程序实现  340
13.4.1 前期准备  340
13.4.2 制作游戏场景  340
13.4.3 雷区的生成  341
13.4.4 地雷随机分布  344
13.4.5 方块关联  352
13.4.6 鼠标点击  356
13.4.7 游戏失败  360
13.4.8 剩余地雷数、时间和笑脸管理  362

第14章 贪吃蛇  370
14.1 游戏简介  370
14.2 游戏规则  371
14.3 程序思路  371
14.3.1 地图的生成  371
14.3.2 食物出现  371
14.3.3 蛇的数据结构  371
14.3.4 贪吃蛇移动算法  371
14.3.5 蛇的增长  372
14.3.6 判断蛇头是否撞到了自身  372
14.3.7 边界判断  372
14.3.8 游戏流程图  372
14.4 游戏程序实现  373
14.4.1 前期准备  373
14.4.2 制作场景  374
14.4.3 生成食物  376
14.4.4 蛇的移动  378
14.4.5 蛇的长大及移动  382
14.4.6 累计分数  384
14.4.7 结束判定  386

第15章 五子棋  388
15.1 游戏简介  388
15.2 游戏规则  388
15.2.1 五子棋棋盘和棋子  388
15.2.2 五子棋基本规则  389
15.2.3 落子顺序  389
15.2.4 禁手  389
15.3 游戏算法思路  390
15.3.1 棋盘的绘制  390
15.3.2 盘面棋子绘制  391
15.3.3 落子  391
15.3.4 获胜规则判定  392
15.3.5 判定黑方禁手功能  392
15.3.6 游戏流程图  393
15.4 游戏程序实现  393
15.4.1 前期准备  393
15.4.2 创建场景  395
15.4.3 落子  398
15.4.4 切换落子权限  404
15.4.5 更新棋盘状态  406
15.4.6 获胜判断  407
15.4.7 禁手规则  419
15.4.8 重新开始  430

第16章 跳棋  434
16.1 游戏简介  434
16.2 游戏规则  434
16.3 程序思路  434
16.3.1 棋盘排列  434
16.3.2 棋子生成  436
16.3.3 棋子的位置和移动  436
16.3.4 计算可移动位置  437
16.3.5 回合限制  438
16.3.6 游戏胜负判断  438
16.3.7 游戏流程图  438
16.4 程序实现  439
16.4.1 前期准备  439
16.4.2 创建棋盘  439
16.4.3 创建棋子  444
16.4.4 移动棋子  446
16.4.5 限制可移动位置  448
16.4.6 回合限制  456
16.4.7 胜利判断  459

第17章 吃豆人  462
17.1 游戏简介  462
17.2 游戏规则  462
17.3 程序思路  463
17.3.1 地图生成  463
17.3.2 幽灵状态  463
17.3.3 小精灵管理  465
17.3.4 游戏流程图  465
17.4 程序实现  467
17.4.1 前期准备  467
17.4.2 制作游戏场景  467
17.4.3 吃豆人的移动  468
17.4.4 豆子的消失  473
17.4.5 幽灵运动  474

第18章 斗地主  487
18.1 游戏简介  487
18.2 游戏规则  487
18.3 程序思路  488
18.3.1 扑克牌  488
18.3.2 洗牌  488
18.3.3 发牌  489
18.3.4 出牌  489
18.3.5 牌型  491
18.3.6 大小  491
18.3.7 玩家  491
18.3.8 胜利  492
18.3.9 游戏流程图  492
18.4 工程实现  492
18.4.1 前期准备  492
18.4.2 制作游戏场景  494
18.4.3 定义一张牌  496
18.4.4 洗牌  503
18.4.5 发牌  504
18.4.6 胜利判定  513
18.4.7 叫地主  514
18.4.8 出牌  525
18.4.9 判断牌型  527
18.4.10 比大小  534
18.4.11 胜利  541

第19章 坦克大战  542
19.1 游戏简介  542
19.2 游戏规则  542
19.3 程序思路  542
19.3.1 地图生成  542
19.3.2 敌人  543
19.3.3 玩家  544
19.3.4 障碍物  544
19.3.5 道具  545
19.3.6 基地  545
19.3.7 游戏流程图  545
19.4 工程实现  546
19.4.1 前期准备  546
19.4.2 制作游戏场景  548
19.4.3 玩家控制  551
19.4.4 子弹  558
19.4.5 地图上各类障碍物及基地  560
19.4.6 敌人  566
19.4.7 敌人生成器  576
19.4.8 道具  579


相關書籍