注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)游戲設(shè)計游戲腳本高級編程(含盤)

游戲腳本高級編程(含盤)

游戲腳本高級編程(含盤)

定 價:¥98.00

作 者: (美)瓦蘭尼斯
出版社: 清華大學(xué)出版社
叢編項: 游戲開發(fā)經(jīng)典叢書
標(biāo) 簽: 游戲編程

ISBN: 9787302130796 出版時間: 2006-10-01 包裝: 平裝
開本: 16 頁數(shù): 889 字?jǐn)?shù):  

內(nèi)容簡介

  本書引領(lǐng)讀者進(jìn)入程序員們稱之為“游戲腳本編程”的全新領(lǐng)域,本書將從概括論述什么是腳本編程以及它是如何實現(xiàn)的開始,闡述游戲編程的理念,根據(jù)作者多年的開發(fā)經(jīng)驗,使讀者掌握使用腳本是把游戲代碼和主引擎分離開的最理想的辦法,帶讀者進(jìn)入神秘的游戲腳本語言世界,學(xué)習(xí)如何編寫腳本語言,編譯器理論,享受游戲編程方面的極大樂趣。.本書是游戲開發(fā)經(jīng)典叢書系列之一,適合游戲開發(fā)人員、業(yè)余游戲軟件開發(fā)愛好者,也可以作為大專院校相關(guān)專業(yè)的參考書。...

作者簡介

  本書提供作譯者介紹Alex Varanese從20世紀(jì)80年代中期,也就是在他5歲時就被游戲開發(fā)給迷住了,他首先把眼光投向了——帶著迷戀和某種不可解釋的親密——8位的任天堂娛樂系統(tǒng);同時他也對藝術(shù)有極大的熱情,但是后來才成為一個真正的代碼編寫者,大約是在15歲左右,那個時候使用的是QBASIC。18歲的時候,他作為一個Java程序員在硅谷開始了他的程序員生涯,從事J2EE平臺上的一些爆發(fā)的B2B項目,而在這之前大約一年他還是一個半自由撰稿人和室內(nèi)圖形設(shè)計者。.然而由于感覺到在辦公室的生活太受限制,他又...

圖書目錄

目    錄
第1篇  腳本編程的基本原理
第1章  腳本編程概論    2
1.1  什么是腳本編程    2
1.2  結(jié)構(gòu)化的游戲內(nèi)容——一種簡單的游戲設(shè)計方法    3
1.3  通過將邏輯和具體實現(xiàn)相互分離來改善這種方法    7
1.4  硬編碼的危險性    9
1.5  將功能函數(shù)存放到外部文件    10
1.6  腳本是如何運行的    12
1.6.1  計算機(jī)程序設(shè)計概述    12
1.6.2  腳本編程概述    14
1.7  腳本系統(tǒng)的基本類型    16
1.7.1  面向過程的語言系統(tǒng)和面向?qū)ο蟮恼Z言系統(tǒng)    16
1.7.2  基于命令的語言系統(tǒng)    17
1.7.3  動態(tài)鏈接的模塊系統(tǒng)    18
1.7.4  編譯型代碼和解釋型代碼    19
1.7.5  現(xiàn)有的腳本設(shè)計方法    20
1.8  總結(jié)    21
第2章  腳本編程系統(tǒng)的應(yīng)用    22
2.1  編寫腳本的普遍目的    22
2.2  角色扮演游戲(Role Playing Games,RPGs)    24
2.2.1  復(fù)雜而又有深度的故事情節(jié)    24
2.2.2  非玩家角色(Non-Player Characters,NPCs)    25
2.2.3  物品和武器    31
2.2.4  敵人    34
2.3  第一人稱射擊游戲(First-Person Shooters,F(xiàn)PSs)    38
2.3.1  物品、迷題和開關(guān)    39
2.3.2  敵人智能(enemy AI)    44
2.4  總結(jié)    46

第2篇  基于命令的腳本
第3章  基于命令的腳本編程緒論    48
3.1  基于命令的腳本編程的基礎(chǔ)知識    48
3.1.1  高級的引擎控制    49
3.1.2  命令    51
3.1.3  你這個領(lǐng)域中的大師    51
3.1.4  實際解決掉的一些問題    51
3.2  基于命令的腳本編程綜述    52
3.2.1  游戲引擎的功能估計    52
3.2.2  載入和執(zhí)行腳本    54
3.3  實現(xiàn)一種基于命令的語言    56
3.3.1  設(shè)計這種語言    56
3.3.2  編寫腳本    56
3.3.3  實現(xiàn)    57
3.4  為一個游戲的介紹順序編寫腳本    67
3.4.1  語言    68
3.4.2  腳本    69
3.4.3  執(zhí)行    69
3.5  為RPG游戲中某個角色的行為編寫腳本    70
3.5.1  語言    71
3.5.2  改進(jìn)語法    71
3.5.3  管理游戲中的角色    72
3.5.4  腳本    74
3.5.5  執(zhí)行    75
3.5.6  游戲演示中的主循環(huán)    78
3.6  并發(fā)的腳本執(zhí)行    80
3.7  總結(jié)    82
3.8  CD上的內(nèi)容    82
3.9  挑戰(zhàn)    82
第4章  基于命令的高級腳本    84
4.1  新的數(shù)據(jù)類型    85
4.1.1  布爾變量    85
4.1.2  支持浮點數(shù)    85
4.1.3  通用目的符號常量    86
4.2  簡單迭代和條件邏輯    92
4.2.1  條件邏輯和游戲標(biāo)記    93
4.2.2  將代碼按塊分組    94
4.2.3  塊列表    96
4.2.4  迭代邏輯    97
4.2.5  嵌套    98
4.3  基于事件的腳本    100
4.4  將腳本編譯成二進(jìn)制格式    102
4.4.1  提高執(zhí)行速度    102
4.4.2  檢測編譯時的錯誤    103
4.4.3  惡意的腳本攻擊    103
4.4.4  商用編譯器是如何工作的    104
4.5  基本的腳本預(yù)處理    108
4.6  總結(jié)    111
第3篇  結(jié)構(gòu)化的腳本編程語言概述
第5章  結(jié)構(gòu)化的腳本編程系統(tǒng)介紹    114
5.1  總體的腳本編寫結(jié)構(gòu)    114
5.1.1  高級代碼    115
5.1.2  低級代碼    115
5.1.3  虛擬機(jī)    116
5.2  深入分析XtremeScript    118
5.2.1  高級代碼/編輯    119
5.2.2  低級代碼/匯編    122
5.2.3  虛擬機(jī)    124
5.3  XtremeScript系統(tǒng)    125
5.3.1  高級部分    125
5.3.2  低級部分    125
5.3.3  運行時間    125
5.4  總結(jié)    126
第6章  對現(xiàn)有腳本編程系統(tǒng)的集成和使用    127
6.1  集成(Integration)    127
6.2  腳本系統(tǒng)的執(zhí)行過程    131
6.3  跳動的外星人頭像演示    132
6.4  Lua(以及基本的腳本編程概念)    135
6.4.1  Lua系統(tǒng)一瞥    136
6.4.2  Lua語言    137
6.4.3  將Lua語言與C語言相集成    153
6.4.4  高級的Lua話題    182
6.4.5  網(wǎng)絡(luò)鏈接    183
6.5  Python    183
6.5.1  Python系統(tǒng)一覽    183
6.5.2  Python語言    185
6.5.3  Python與C的集成    200
6.5.4  高級話題    219
6.5.5  網(wǎng)絡(luò)鏈接    220
6.6  Tcl    220
6.6.1  ActiveStateTcl    221
6.6.2  Tcl語言    223
6.6.3  Tcl和C的集成    241
6.6.4  高級主題    255
6.6.5  網(wǎng)絡(luò)鏈接    255
6.7  你到底該使用哪個腳本編程系統(tǒng)呢    256
6.8  編寫一個實際的游戲    258
6.9  總結(jié)    258
6.10  CD上的內(nèi)容    258
第7章  設(shè)計一個面向過程的腳本編程語言    259
7.1  語言的常見類型    259
7.1.1  匯編類型的語言(Assembly-Style Languages)    260
7.1.2  權(quán)衡利弊    263
7.2  函數(shù)    265
7.2.1  面向?qū)ο蟪绦蛟O(shè)計    268
7.2.2  XtremeScript語言概述    269
7.2.3  語法和特性    271
7.2.4  保留字列表    280
7.3  總結(jié)    281
第4篇  設(shè)計和實現(xiàn)一種底層語言
第8章  匯編語言入門    284
8.1  什么是匯編語言    284
8.2  為什么現(xiàn)在講述匯編    285
8.3  匯編語言是怎樣工作的    285
8.3.1  指令    285
8.3.2  助記符和操作碼    294
8.3.3  RISC和CISC    296
8.3.4  正交指令集    298
8.3.5  寄存器    298
8.3.6  堆棧    299
8.4  XVM匯編簡介    304
8.4.1  初始賦值    305
8.4.2  XVM指令集    306
8.4.3  XASM指示符    310
8.5  XVM匯編語言概要    312
8.6  小結(jié)    313
第9章  構(gòu)造XASM匯編器    314
9.1  一個簡單的匯編器是如何運作的    315
9.1.1  指令的匯編    315
9.1.2  變量的匯編    317
9.1.3  操作數(shù)的匯編    319
9.1.4  字符串型字面量的匯編    321
9.1.5  跳轉(zhuǎn)指令和函數(shù)調(diào)用的匯編    322
9.2  XASM概述    326
9.2.1  內(nèi)存管理    326
9.2.2  輸入:一個XVM匯編腳本的結(jié)構(gòu)    328
9.2.3  輸出:一個XVM可執(zhí)行文件的結(jié)構(gòu)    338
9.3  匯編器的實現(xiàn)    345
9.3.1  基本的詞法分析/語法分析理論    345
9.3.2  基本字符串處理    350
9.3.3  匯編器的框架    356
9.3.4  詞法分析/屬性字識別    376
9.3.5  錯誤處理    398
9.3.6  語法分析    400
9.3.7  構(gòu)建.XSE可執(zhí)行文件    418
9.3.8  匯編過程    423
9.4  小結(jié)    427
9.5  CD上的內(nèi)容    428
9.6  挑戰(zhàn)    428
第5篇  設(shè)計和實現(xiàn)虛擬機(jī)
第10章  匯編語言入門    430
10.1  虛擬機(jī)的靈魂    430
10.1.1  模擬硬件    430
10.1.2  虛擬機(jī)的主要組成部分    432
10.1.3  多線程    433
10.1.4  和主應(yīng)用程序的集成    434
10.2  虛擬機(jī)生命周期的簡單概述    434
10.2.1  裝載腳本    435
10.2.2  從入口點開始執(zhí)行    436
10.2.3  執(zhí)行周期    436
10.2.4  函數(shù)調(diào)用    437
10.2.5  終止和關(guān)閉    439
10.3  XVM原型的結(jié)構(gòu)概述    440
10.3.1  腳本頭    440
10.3.2  運行時值    441
10.3.3  指令流    442
10.3.4  運行時堆棧    443
10.3.5  函數(shù)表    444
10.3.6  主應(yīng)用程序API調(diào)用表    445
10.3.7  最終的腳本結(jié)構(gòu)    445
10.4  建立XVM原型    446
10.4.1  裝載.XSE可執(zhí)行文件    446
10.4.2  結(jié)構(gòu)接口    456
10.4.3  初始化虛擬機(jī)    471
10.4.4  執(zhí)行周期    473
10.4.5  終止與關(guān)閉    488
10.5  概述    490
10.6  CD上的內(nèi)容    490
10.7  挑戰(zhàn)    490
第11章  高級虛擬機(jī)的概念和問題    492
11.1  新一代虛擬機(jī)    492
11.2  多線程    492
11.2.1  多線程的基本原理    493
11.2.2  裝載和存儲多個腳本    503
11.2.3  執(zhí)行多線程    511
11.3  主應(yīng)用程序集成    515
11.3.1  和主應(yīng)用程序并行運行腳本    515
11.3.2  集成接口簡介    517
11.3.3  XVM的公有接口(Public Interface)    524
11.3.4  實現(xiàn)集成接口    526
11.3.5  增加線程優(yōu)先級    550
11.4  演示最終的XVM    557
11.5  小結(jié)    563
11.6  CD上的內(nèi)容    563
11.7  挑戰(zhàn)    563
第6篇  編譯高級代碼
第12章  編譯理論概論    566
12.1  編譯理論概述    566
12.1.1  編譯的幾個階段    567
12.1.2  XtremeScript與XASM是如何工作的    578
12.1.3  高級編譯理論    579
12.2  總結(jié)    587
第13章  詞法分析器    588
13.1  基礎(chǔ)知識    588
13.1.1  從字符到單詞    589
13.1.2  屬性標(biāo)注    590
13.1.3  詞法分析方法    590
13.2  詞法分析器的工作    594
13.2.1  讀入并保存文本文件    595
13.2.2  顯示結(jié)果    596
13.2.3  錯誤處理    597
13.3  一個數(shù)值詞法分析器    598
13.3.1  分詞策略    598
13.3.2  完成這個演示程序    606
13.4  分析標(biāo)識符和保留字    608
13.4.1  新的狀態(tài)和屬性符    609
13.4.2  測試文件    610
13.4.3  升級詞法分析器    610
13.4.4  完成這個演示程序    613
13.5  最后的詞法分析器:分隔符、運算符和字符串    616
13.5.1  分析分隔符    616
13.5.2  分析字符串    619
13.5.3  運算符    622
13.5.4  完成這個演示    636
13.6  總結(jié)    640
13.7  CD上的內(nèi)容    641
13.8  挑戰(zhàn)    641
第14章  構(gòu)造XtremeStcript編譯器框架    642
14.1  策略縱覽    642
14.1.1  前端    643
14.1.2  中間代碼模塊    645
14.1.3  后端    645
14.1.4  主要結(jié)構(gòu)    646
14.1.5  接口和封裝    648
14.1.6  編譯器的生命周期    649
14.2  命令行接口    651
14.2.1  Logo和使用信息    651
14.2.2  讀入文件名稱    652
14.2.3  讀入選項    654
14.3  初始化數(shù)據(jù)結(jié)構(gòu)    658
14.3.1  鏈表    658
14.3.2  堆棧    664
14.4  初始化和關(guān)閉    666
14.4.1  全局變量和數(shù)據(jù)結(jié)構(gòu)    666
14.4.2  初始化    666
14.4.3  關(guān)閉    667
14.5  編譯器的模塊    667
14.6  裝載模塊    669
14.7  預(yù)處理模塊    670
14.7.1  單行注釋    671
14.7.2  塊注釋    672
14.7.3  預(yù)處理指令    674
14.8  編譯器的表格    676
14.8.1  符號表    676
14.8.2  函數(shù)表    680
14.8.3  字符串表    683
14.9  集成詞法分析器模塊    684
14.9.1  回卷屬性符流    684
14.9.2  一種新的源代碼格式    687
14.9.3  其他新的函數(shù)    689
14.9.4  重置詞法分析器    693
14.10  語法分析器模塊    693
14.11  錯誤處理    693
14.11.1  普通錯誤    693
14.11.2  代碼錯誤    694
14.11.3  錯誤層疊    695
14.12  中間代碼模塊    696
14.12.1  實現(xiàn)中間代碼的方法    696
14.12.2  XtremeScript中間代碼    699
14.12.3  接口    703
14.13  代碼生成模塊    708
14.13.1  代碼生成基礎(chǔ)    708
14.13.2  通用格式    709
14.14  生成最終的可執(zhí)行體    722
14.15  整理    724
14.15.1  初始化編譯進(jìn)程    724
14.15.2  打印編譯統(tǒng)計數(shù)據(jù)    724
14.15.3  編寫測試腳本    726
14.16  總結(jié)    730
14.17  CD上的內(nèi)容    731
14.18  挑戰(zhàn)    731
第15章  語法分析和語義分析    732
15.1  什么是語法分析器    732
15.1.1  語法和語義分析    733
15.1.2  表達(dá)式語法    734
15.1.3  語法樹    736
15.1.4  語法分析是如何工作的    739
15.2  XtremeScript語法分析器模塊    741
15.2.1  基礎(chǔ)    741
15.2.2  分析策略    745
15.3  分析語句和代碼塊    745
15.3.1  語法圖    746
15.3.2  實現(xiàn)    747
15.4  分析聲明語句    750
15.4.1  函數(shù)聲明    750
15.4.2  變量和數(shù)組聲明    756
15.4.3  主應(yīng)用程序  API函數(shù)聲明    759
15.4.4  測試代碼生成模塊    763
15.5  分析簡單的表達(dá)式    765
15.5.1  表達(dá)式分析策略    765
15.5.2  理解表達(dá)式語法分析器    769
15.5.3  編碼表達(dá)式分析    771
15.6  完整表達(dá)式分析    780
15.6.1  新因子類型    780
15.6.2  分析函數(shù)調(diào)用    782
15.6.3  新的單目運算符    783
15.6.4  新的雙目運算符    784
15.6.5  邏輯和關(guān)系運算符    784
15.6.6  左值和右值    787
15.7  獨立的運行時環(huán)境    787
15.7.1  本地應(yīng)用程序    788
15.7.2  主應(yīng)用程序API    790
15.8  分析高級語句和結(jié)構(gòu)    792
15.8.1  賦值語句    792
15.8.2  函數(shù)調(diào)用    798
15.8.3  return    799
15.8.4  While循環(huán)    802
15.8.5  for循環(huán)    812
15.8.6  If分支    812
15.9  語法圖總結(jié)    817
15.10  測試驅(qū)動    817
15.10.1  Hello,World!    818
15.10.2  繪制矩形    819
15.10.3  Bouncing Head示例    822
15.11  總結(jié)    843
15.12  CD上的內(nèi)容    843
15.13  挑戰(zhàn)    844
第7篇  完 成 培 訓(xùn)
第16章  應(yīng)用這個系統(tǒng)開發(fā)的一個完整游戲    846
16.1  介紹LockDown    846
16.1.1  素材來源    846
16.1.2  最初的計劃和設(shè)置    847
16.2  腳本策略    857
16.2.1  集成XtremeScript    857
16.2.2  主API    858
16.2.3  編寫腳本    860
16.2.4  裝載和運行腳本    867
16.2.5  速度問題    868
16.3  如何玩Lockdown    870
16.3.1  控制    870
16.3.2  與物體交互    870
16.3.3  區(qū)域地圖    870
16.3.4  戰(zhàn)斗    870
16.3.5  完成這個目標(biāo)    871
16.4  總結(jié)    871
16.5  CD上的內(nèi)容    871
16.6  挑戰(zhàn)    872
第17章  從今往后,何去何從    873
17.1  現(xiàn)在究竟該干什么呢    873
17.2  擴(kuò)展你的知識    874
17.2.1  編譯器理論    874
17.2.2  運行時環(huán)境    876
17.3  高級話題和思想    878
17.4  總結(jié)    888

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號