第1篇 設計模式與遊戲設計
         第1章 遊戲實現中的設計模式 2
         1.1 設計模式的起源 2
         1.2 軟件的設計模式是什麼? 3
         1.3 麵嚮對象設計中常見的設計原則 4
         1.4 為什麼要學習設計模式 7
         1.5 遊戲程序設計與設計模式 8
         1.6 模式的應用與學習方式 10
         1.7 結論 11
         第2章 遊戲範例說明 12
         2.1 遊戲範例 12
         2.2 GoF的設計模式範例 15
         第2篇 基礎係統
         第3章 遊戲場景的轉換——狀態模式(State) 20
         3.1 遊戲場景 20
         3.1.1 場景的轉換 20
         3.1.2 遊戲場景可能的實現方式 23
         3.2 狀態模式(State) 24
         3.2.1 狀態模式(State)的定義 24
         3.2.2 狀態模式(State)的說明 25
         3.2.3 狀態模式(State)的實現範例 25
         3.3 使用狀態模式(State)實現遊戲場景的轉換 28
         3.3.1 SceneState的實現 28
         3.3.2 實現說明 29
         3.3.3 使用狀態模式(State)的優點 35
         3.3.4 遊戲執行流程及場景轉換說明 36
         3.4 狀態模式(State)麵對變化時 37
         3.5 結論 37
         第4章 遊戲主要類——外觀模式(Facade) 39
         4.1 遊戲子功能的整閤 39
         4.2 外觀模式(Facade) 41
         4.2.1 外觀模式(Facade)的定義 41
         4.2.2 外觀模式(Facade)的說明 42
         4.2.3 外觀模式(Facade)的實現說明 43
         4.3 使用外觀模式(Facade)實現遊戲主程序 44
         4.3.1 遊戲主程序架構設計 44
         4.3.2 實現說明 45
         4.3.3 使用外觀模式(Facade)的優點 47
         4.3.4 實現外觀模式(Facade)時的注意事項 48
         4.4 外觀模式(Facade)麵對變化時 48
         4.5 結論 48
         第5章 獲取遊戲服務的唯一對象——單例模式(Singleton) 50
         5.1 遊戲實現中的唯一對象 50
         5.2 單例模式(Singleton) 51
         5.2.1 單例模式(Singleton)的定義 51
         5.2.2 單例模式(Singleton)的說明 51
         5.2.3 單例模式(Singleton)的實現範例 52
         5.3 使用單例模式(Singleton)獲取唯一的遊戲服務對象 53
         5.3.1 遊戲服務類的單例模式實現 53
         5.3.2 實現說明 54
         5.3.3 使用單例模式(Singleton)後的比較 55
         5.3.4 反對使用單例模式(Singleton)的原因 55
         5.4 少用單例模式(Singleton)時如何方便地引用到單一對象 58
         5.5 結論 63
         第6章 遊戲內各係統的整閤——中介者模式(Mediator) 64
         6.1 遊戲係統之間的溝通 64
         6.2 中介者模式(Mediator) 68
         6.2.1 中介者模式(Mediator)的定義 69
         6.2.2 中介者模式(Mediator)的說明 69
         6.2.3 中介者模式(Mediator)的實現範例 69
         6.3 中介者模式(Mediator)作為係統之間的溝通接口 72
         6.3.1 使用中介者模式(Mediator)的係統架構 73
         6.3.2 實現說明 73
         6.3.3 使用中介者模式(Mediator)的優點 79
         6.3.4 實現中介者模式(Mediator)時的注意事項 79
         6.4 中介者模式(Mediator)麵對變化時 80
         6.5 結論 80
         第7章 遊戲的主循環——Game Loop 82
         7.1 GameLoop由此開始 82
         7.2 怎麼實現遊戲循環(Game Loop) 84
         7.3 在Unity3D中實現遊戲循環 85
         7.4 P級陣地的遊戲循環 89
         7.5 結論 92
         第3篇 角色的設計
         第8章 角色係統的設計分析 94
         8.1 遊戲角色的架構 94
         8.2 角色類的規劃 95
         第9章 角色與武器的實現——橋接模式(Bridge) 98
         9.1 角色與武器的關係 98
         9.2 橋接模式(Bridge) 103
         9.2.1 橋接模式(Bridge)的定義 103
         9.2.2 橋接模式(Bridge)的說明 107
         9.2.3 橋接模式(Bridge)的實現範例 108
         9.3 使用橋接模式(Bridge)實現角色與武器接口 110
         9.3.1 角色與武器接口設計 110
         9.3.2 實現說明 111
         9.3.3 使用橋接模式(Bridge)的優點 116
         9.3.4 實現橋接模式(Bridge)的注意事項 116
         9.4 橋接模式(Bridge)麵對變化時 116
         9.5 結論 117
         第10章 角色屬性的計算——策略模式(Strategy) 118
         10.1 角色屬性的計算需求 118
         10.2 策略模式(Strategy) 121
         10.2.1 策略模式(Strategy)的定義 122
         10.2.2 策略模式(Strategy)的說明 122
         10.2.3 策略模式(Strategy)的實現範例 123
         10.3 使用策略模式(Strategy)實現攻擊計算 124
         10.3.1 攻擊流程的實現 125
         10.3.2 實現說明 125
         10.3.3 使用策略模式(Strategy)的優點 132
         10.3.4 實現策略模式(Strategy)時的注意事項 133
         10.4 策略模式(Strategy)麵對變化時 134
         10.5 結論 135
         第11章 攻擊特效與擊中反應——模闆方法模式(Template Method) 137
         11.1 武器的攻擊流程 137
         11.2 模闆方法模式(Template Method) 139
         11.2.1 模闆方法模式(Template Method)的定義 139
         11.2.2 模闆方法模式(Template Method)的說明 141
         11.2.3 模闆方法模式(Template Method)的實現範例 141
         11.3 使用模闆方法模式實現攻擊與擊中流程 142
         11.3.1 攻擊與擊中流程的實現 143
         11.3.2 實現說明 143
         11.3.3 運用模闆方法模式(Template Method)的優點 145
         11.3.4 修改擊中流程的實現 145
         11.4 模闆方法模式(Template Method)麵對變化時 147
         11.5 結論 149
         第12章 角色AI——狀態模式(State) 150
         12.1 角色的AI 150
         12.2 狀態模式(State) 158
         12.3 使用狀態模式(State)實現角色AI 159
         12.3.1 角色AI的實現 159
         12.3.2 實現說明 160
         12.3.3 使用狀態模式(State)的優點 169
         12.3.4 角色AI執行流程 169
         12.4 狀態模式(State)麵對變化時 170
         12.5 結論 172
         第13章 角色係統 174
         13.1 角色類 174
         13.2 遊戲角色管理係統 176
         第4篇 角色的産生
         第14章 遊戲角色的産生——工廠方法模式(Factory Method) 183
         14.1 産生角色 183
         14.2 工廠方法模式(Factory Method) 188
         14.2.1 工廠方法模式(Factory Method)的定義 188
         14.2.2 工廠方法模式(Factory Method)的說明 189
         14.2.3 工廠方法模式(Factory Method)的實現範例 189
         14.3 使用工廠方法模式(Factory Method)産生角色對象 195
         14.3.1 角色工廠類 195
         14.3.2 實現說明 196
         14.3.3 使用工廠方法模式(Factory Method)的優點 199
         14.3.4 工廠方法模式(Factory Method)的實現說明 199
         14.4 工廠方法模式(Factory Method)麵對變化時 203
         14.5 結論 205
         第15章 角色的組裝——建造者模式(Builder) 206
         15.1 角色功能的組裝 206
         15.2 建造者模式(Builder) 213
         15.2.1 建造者模式(Builder)的定義 213
         15.2.2 建造者模式(Builder)的說明 214
         15.2.3 建造者模式(Builder)的實現範例 215
         15.3 使用建造者模式(Builder)組裝角色的各項功能 217
         15.3.1 角色功能的組裝 218
         15.3.2 實現說明 219
         15.3.3 使用建造者模式(Builder)的優點 226
         15.3.4 角色建造者的執行流程 226
         15.4 建造者模式(Builder)麵對變化時 227
         15.5 結論 228
         第16章 遊戲屬性管理功能——享元模式(Flyweight) 229
         16.1 遊戲屬性的管理 229
         16.2 享元模式(Flyweight) 236
         16.2.1 享元模式(Flyweight)的定義 236
         16.2.2 享元模式(Flyweight)的說明 237
         16.2.3 享元模式(Flyweight)的實現範例 238
         16.3 使用享元模式(Flyweight)實現遊戲 242
         16.3.1 SceneState的實現 242
         16.3.2 實現說明 245
         16.3.3 使用享元模式(Flyweight)的優點 250
         16.3.4 享元模式(Flyweight)的實現說明 250
         16.4 享元模式(Flyweight)麵對變化時 252
         16.5 結論 252
         第5篇 戰爭開始
         第17章 Unity3D的界麵設計——組閤模式(Composite) 254
         17.1 玩傢界麵設計 254
         17.2 組閤模式(Composite) 259
         17.2.1 組閤模式(Composite)的定義 259
         17.2.2 組閤模式(Composite)的說明 260
         17.2.3 組閤模式(Composite)的實現範例 261
         17.2.4 分瞭兩個子類但是要使用同一個操作界麵 264
         17.3 Unity3D遊戲對象的分層式管理功能 265
         17.3.1 遊戲對象的分層管理 265
         17.3.2 正確有效地獲取UI的遊戲對象 266
         17.3.3 遊戲用戶界麵的實現 267
         17.3.4 兵營界麵的實現 269
         17.4 結論 274
         第18章 兵營係統及兵營信息顯示 276
         18.1 兵營係統 276
         18.2 兵營係統的組成 277
         18.3 初始兵營係統 281
         18.4 兵營信息的顯示流程 287
         第19章 兵營訓練單位——命令模式(Command) 288
         19.1 兵營界麵上的命令 288
         19.2 命令模式(Command) 291
         19.2.1 命令模式(Command)的定義 291
         19.2.2 命令模式(Command)的說明 294
         19.2.3 命令模式(Command)的實現範例 294
         19.3 使用命令模式(Command)實現兵營訓練角色 297
         19.3.1 訓練命令的實現 297
         19.3.2 實現說明 298
         19.3.3 執行流程 302
         19.3.4 實現命令模式(Command)時的注意事項 303
         19.4 命令模式(Command)麵對變化時 305
         19.5 結論 306
         第20章 關卡設計——責任鏈模式(Chain of Responsibility) 307
         20.1 關卡設計 307
         20.2 責任鏈模式(Chain of Responsibility) 312
         20.2.1 責任鏈模式(Chain of Responsibility)的定義 312
         20.2.2 責任鏈模式(Chain of Responsibility)的說明 314
         20.2.3 責任鏈模式(Chain of Responsibility)的實現範例 314
         20.3 使用責任鏈模式(Chain of Responsibility)實現關卡係統 317
         20.3.1 關卡係統的設計 317
         20.3.2 實現說明 318
         20.3.3 使用責任鏈模式(Chain of Responsibility)的優點 329
         20.3.4 實現責任鏈模式(Chain of Responsibility)時的注意事項 329
         20.4 責任鏈模式(Chain of Responsibility)麵對變化時 330
         20.5 結論 332
         第6篇 輔助係統
         第21章 成就係統—觀察者模式(Observer) 334
         21.1 成就係統 334
         21.2 觀察者模式(Observer) 338
         21.2.1 觀察者模式(Observer)的定義 338
         21.2.2 觀察者模式(Observer)的說明 340
         21.2.3 觀察者模式(Observer)的實現範例 341
         21.3 使用觀察者模式(Observer)實現成就係統 344
         21.3.1 成就係統的新架構 344
         21.3.2 實現說明 346
         21.3.3 使用觀察者模式(Observer)的優點 358
         21.3.4 實現觀察者模式(Observer)時的注意事項 358
         21.4 觀察者模式(Observer)麵對變化時 359
         21.5 結論 361
         第22章 存盤功能—備忘錄模式(Memento) 362
         22.1 存儲成就記錄 362
         22.2 備忘錄模式(Memento) 366
         22.2.1 備忘錄模式(Memento)的定義 366
         22.2.2 備忘錄模式(Memento)的說明 367
         22.2.3 備忘錄模式(Memento)的實現範例 367
         22.3 使用備忘錄模式(Memento)實現成就記錄的保存 371
         22.3.1 成就記錄保存的功能設計 371
         22.3.2 實現說明 371
         22.3.3 使用備忘錄模式(Memento)的優點 374
         22.3.4 實現備忘錄模式(Memento)的注意事項 374
         22.4 備忘錄模式(Memento)麵對變化時 374
         22.5 結論 375
         第23章 角色信息查詢—訪問者模式(Visitor) 376
         23.1 角色信息的提供 376
         23.2 訪問者模式(Visitor) 385
         23.2.1 訪問者模式(Visitor)的定義 386
         23.2.2 訪問者模式(Visitor)的說明 390
         23.2.3 訪問者模式(Visitor)的實現範例 392
         23.3 使用訪問者模式(Visitor)實現角色信息查詢 397
         23.3.1 角色信息查詢的實現設計 397
         23.3.2 實現說明 398
         23.3.3 使用訪問者模式(Visitor)的優點 405
         23.3.4 實現訪問者模式(Visitor)時的注意事項 405
         23.4 訪問者模式(Visitor)麵對變化時 405
         23.5 結論 408
         第7篇 調整與優化
         第24章 前綴字尾—裝飾模式(Decorator) 410
         24.1 前綴後綴係統 410
         24.2 裝飾模式(Decorator) 415
         24.2.1 裝飾模式(Decorator)的定義 415
         24.2.2 裝飾模式(Decorator)的說明 418
         24.2.3 裝飾模式(Decorator)的實現範例 419
         24.3 使用裝飾模式(Decorator)實現前綴後綴的功能 422
         24.3.1 前綴後綴功能的架構設計 423
         24.3.2 實現說明 423
         24.3.3 使用裝飾模式(Decorator)的優點 433
         24.3.4 實現裝飾模式(Decorator)時的注意事項 433
         24.4 裝飾模式(Decorator)麵對變化時 434
         24.5 結論 435
         第25章 俘兵—適配器模式(Adapter) 436
         25.1 遊戲的寵物係統 436
         25.2 適配器模式(Adapter) 440
         25.2.1 適配器模式(Adapter)的定義 440
         25.2.2 適配器模式(Adapter)的說明 441
         25.2.3 適配器模式(Adapter)的實現範例 441
         25.3 使用適配器模式(Adapter)實現俘兵係統 443
         25.3.1 俘兵係統的架構設計 443
         25.3.2 實現說明 443
         25.3.3 與俘兵相關的新增部分 445
         25.3.4 使用適配器模式(Adapter)的優點 450
         25.4 適配器模式(Adapter)麵對變化時 450
         25.5 結論 451
         第26章 加載速度的優化—代理模式(Proxy) 453
         26.1 最後的係統優化 453
         26.2 代理模式(Proxy) 457
         26.2.1 代理模式(Proxy)的定義 458
         26.2.2 代理模式(Proxy)的說明 458
         26.2.3 代理模式(Proxy)的實現範例 459
         26.3 使用代理模式(Proxy)測試和優化加載速度 460
         26.3.1 優化加載速度的架構設計 460
         26.3.2 實現說明 461
         26.3.3 使用代理模式(Proxy)的優點 464
         26.3.4 實現代理模式(Proxy)時的注意事項 464
         26.4 代理模式(Prory)麵對變化時 466
         26.5 結論 466
         第8篇 未明確使用的模式
         第27章 迭代器模式(Iterator)、原型模式(Prototype)和解釋器模式(Interpreter) 468
         27.1 迭代器模式(Iterator) 468
         27.2 原型模式(Prototype) 469
         27.3 解釋器模式(Interpreter) 471
         第28章 抽象工廠模式(Abstract Factory) 472
         28.1 抽象工廠模式(Abstract Factory)的定義 472
         28.2 抽象工廠模式(Abstract Factory)的實現 473
         28.3 可應用抽象工廠模式的場閤 476
         參考文獻 477
      · · · · · ·     (
收起)