图书介绍

游戏脚本高级编程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

游戏脚本高级编程
  • (美)Alex Varanese著;陈洪,罗颖民,李华杰翻译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302130795
  • 出版时间:2006
  • 标注页数:889页
  • 文件大小:280MB
  • 文件页数:911页
  • 主题词:游戏-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

游戏脚本高级编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 脚本编程概论2

1.1 什么是脚本编程2

第1篇 脚本编程的基本原理2

1.2 结构化的游戏内容——一种简单的游戏设计方法3

1.3 通过将逻辑和具体实现相互分离来改善这种方法7

1.4 硬编码的危险性9

1.5 将功能函数存放到外部文件10

1.6 脚本是如何运行的12

1.6.1 计算机程序设计概述12

1.6.2 脚本编程概述14

1.7.1 面向过程的语言系统和面向对象的语言系统16

1.7 脚本系统的基本类型16

1.7.2 基于命令的语言系统17

1.7.3 动态链接的模块系统18

1.7.4 编译型代码和解释型代码19

1.7.5 现有的脚本设计方法20

1.8 总结21

第2章 脚本编程系统的应用22

2.1 编写脚本的普遍目的22

2.2 角色扮演游戏(Role Playing Games,RPGs)24

2.2.1 复杂而又有深度的故事情节24

2.2.2 非玩家角色(Non-Player Characters,NPCs)25

2.2.3 物品和武器31

2.2.4 敌人34

2.3 第一人称射击游戏(First-Person Shooters,FPSs)38

2.3.1 物品、迷题和开关39

2.3.2 敌人智能(enemy AI)44

2.4 总结46

第2篇 基于命令的脚本48

第3章 基于命令的脚本编程绪论48

3.1 基于命令的脚本编程的基础知识48

3.1.1 高级的引擎控制49

3.1.4 实际解决掉的一些问题51

3.1.2 命令51

3.1.3 你这个领域中的大师51

3.2 基于命令的脚本编程综述52

3.2.1 游戏引擎的功能估计52

3.2.2 载入和执行脚本54

3.3 实现一种基于命令的语言56

3.3.1 设计这种语言56

3.3.2 编写脚本56

3.3.3 实现57

3.4 为一个游戏的介绍顺序编写脚本67

3.4.1 语言68

3.4.3 执行69

3.4.2 脚本69

3.5 为RPG游戏中某个角色的行为编写脚本70

3.5.1 语言71

3.5.2 改进语法71

3.5.3 管理游戏中的角色72

3.5.4 脚本74

3.5.5 执行75

3.5.6 游戏演示中的主循环78

3.6 并发的脚本执行80

3.9 挑战82

3.8 CD上的内容82

3.7 总结82

第4章 基于命令的高级脚本84

4.1 新的数据类型85

4.1.1 布尔变量85

4.1.2 支持浮点数85

4.1.3 通用目的符号常量86

4.2 简单迭代和条件逻辑92

4.2.1 条件逻辑和游戏标记93

4.2.2 将代码按块分组94

4.2.3 块列表96

4.2.4 迭代逻辑97

4.2.5 嵌套98

4.3 基于事件的脚本100

4.4 将脚本编译成二进制格式102

4.4.1 提高执行速度102

4.4.2 检测编译时的错误103

4.4.3 恶意的脚本攻击103

4.4.4 商用编译器是如何工作的104

4.5 基本的脚本预处理108

4.6 总结111

第3篇 结构化的脚本编程语言概述114

第5章 结构化的脚本编程系统介绍114

5.1 总体的脚本编写结构114

5.1.2 低级代码115

5.1.1 高级代码115

5.1.3 虚拟机116

5.2 深入分析XtremeScript118

5.2.1 高级代码/编辑119

5.2.2 低级代码/汇编122

5.2.3 虚拟机124

5.3 XtremeScript系统125

5.3.1 高级部分125

5.3.2 低级部分125

5.3.3 运行时间125

5.4 总结126

6.1 集成(Integration)127

第6章 对现有脚本编程系统的集成和使用127

6.2 脚本系统的执行过程131

6.3 跳动的外星人头像演示132

6.4 Lua(以及基本的脚本编程概念)135

6.4.1 Lua系统一瞥136

6.4.2 Lua语言137

6.4.3 将Lua语言与C语言相集成153

6.4.4 高级的Lua话题182

6.4.5 网络链接183

6.5 Python183

6.5.1 Python系统一览183

6.5.2 Python语言185

6.5.3 Python与C的集成200

6.5.4 高级话题219

6.5.5 网络链接220

6.6 Tcl220

6.6.1 ActiveStateTcl221

6.6.2 Tcl语言223

6.6.3 Tcl和C的集成241

6.6.4 高级主题255

6.6.5 网络链接255

6.7 你到底该使用哪个脚本编程系统呢256

6.10 CD上的内容258

6.8 编写一个实际的游戏258

6.9 总结258

第7章 设计一个面向过程的脚本编程语言259

7.1 语言的常见类型259

7.1.1 汇编类型的语言(Assembly-Style Languages)260

7.1.2 权衡利弊263

7.2 函数265

7.2.1 面向对象程序设计268

7.2.2 XtremeScript语言概述269

7.2.3 语法和特性271

7.2.4 保留字列表280

7.3 总结281

第4篇 设计和实现一种底层语言284

第8章 汇编语言入门284

8.1 什么是汇编语言284

8.2 为什么现在讲述汇编285

8.3 汇编语言是怎样工作的285

8.3.1 指令285

8.3.2 助记符和操作码294

8.3.3 RISC和CISC296

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 小结313

第9章 构造XASM汇编器314

9.1 一个简单的汇编器是如何运作的315

9.1.1 指令的汇编315

9.1.2 变量的汇编317

9.1.3 操作数的汇编319

9.1.4 字符串型字面量的汇编321

9.1.5 跳转指令和函数调用的汇编322

9.2 XASM概述326

9.2.1 内存管理326

9.2.2 输入:一个XVM汇编脚本的结构328

9.2.3 输出:一个XVM可执行文件的结构338

9.3 汇编器的实现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 构建.XSE可执行文件418

9.3.8 汇编过程423

9.4 小结427

9.5 CD上的内容428

9.6 挑战428

第5篇 设计和实现虚拟机430

第10章 汇编语言入门430

10.1 虚拟机的灵魂430

10.1.1 模拟硬件430

10.1.2 虚拟机的主要组成部分432

10.1.3 多线程433

10.2 虚拟机生命周期的简单概述434

10.1.4 和主应用程序的集成434

10.2.1 装载脚本435

10.2.2 从入口点开始执行436

10.2.3 执行周期436

10.2.4 函数调用437

10.2.5 终止和关闭439

10.3 XVM原型的结构概述440

10.3.1 脚本头440

10.3.2 运行时值441

10.3.3 指令流442

10.3.4 运行时堆栈443

10.3.5 函数表444

10.3.7 最终的脚本结构445

10.3.6 主应用程序API调用表445

10.4 建立XVM原型446

10.4.1 装载.XSE可执行文件446

10.4.2 结构接口456

10.4.3 初始化虚拟机471

10.4.4 执行周期473

10.4.5 终止与关闭488

10.6 CD上的内容490

10.7 挑战490

10.5 概述490

第11章 高级虚拟机的概念和问题492

11.1 新一代虚拟机492

11.2 多线程492

11.2.1 多线程的基本原理493

11.2.2 装载和存储多个脚本503

11.2.3 执行多线程511

11.3 主应用程序集成515

11.3.1 和主应用程序并行运行脚本515

11.3.2 集成接口简介517

11.3.3 XVM的公有接(Public Interface)524

11.3.4 实现集成接口526

11.3.5 增加线程优先级550

11.4 演示最终的XVM557

11.5 小结563

11.6 CD上的内容563

11.7 挑战563

第6篇 编译高级代码566

第12章 编译理论概论566

12.1 编译理论概述566

12.1.1 编译的几个阶段567

12.1.2 XtremeScript与XASM是如何工作的578

12.1.3 高级编译理论579

12.2 总结587

13.1 基础知识588

第13章 词法分析器588

13.1.1 从字符到单词589

13.1.2 属性标注590

13.1.3 词法分析方法590

13.2 词法分析器的工作594

13.2.1 读入并保存文本文件595

13.2.2 显示结果596

13.2.3 错误处理597

13.3 一个数值词法分析器598

13.3.1 分词策略598

13.3.2 完成这个演示程序606

13.4 分析标识符和保留字608

13.4.1 新的状态和属性符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 总结640

13.8 挑战641

13.7 CD上的内容641

第14章 构造XtremeStcript编译器框架642

14.1 策略纵览642

14.1.1 前端643

14.1.2 中间代码模块645

14.1.3 后端645

14.1.4 主要结构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 初始化数据结构658

14.3.1 链表658

14.3.2 堆栈664

14.4 初始化和关闭666

14.4.1 全局变量和数据结构666

14.4.2 初始化666

14.4.3 关闭667

14.5 编译器的模块667

14.6 装载模块669

14.7 预处理模块670

14.7.1 单行注释671

14.7.2 块注释672

14.7.3 预处理指令674

14.8 编译器的表格676

14.8.1 符号表676

14.8.2 函数表680

14.8.3 字符串表683

14.9 集成词法分析器模块684

14.9.1 回卷属性符流684

14.9.2 一种新的源代码格式687

14.9.3 其他新的函数689

14.11.1 普通错误693

14.11 错误处理693

14.9.4 重置词法分析器693

14.10 语法分析器模块693

14.11.2 代码错误694

14.11.3 错误层叠695

14.12 中间代码模块696

14.12.1 实现中间代码的方法696

14.12.2 XtremeScript 中间代码699

14.12.3 接口703

14.13 代码生成模块708

14.13.1 代码生成基础708

14.13.2 通用格式709

14.14 生成最终的可执行体722

14.15 整理724

14.15.1 初始化编译进程724

14.15.2 打印编译统计数据724

14.15.3 编写测试脚本726

14.16 总结730

14.17 CD上的内容731

14.18 挑战731

第15章 语法分析和语义分析732

15.1 什么是语法分析器732

15.1.1 语法和语义分析733

15.1.2 表达式语法734

15.1.3 语法树736

15.1.4 语法分析是如何工作的739

15.2 XtremeScript语法分析器模块741

15.2.1 基础741

15.2.2 分析策略745

15.3 分析语句和代码块745

15.3.1 语法图746

15.3.2 实现747

15.4 分析声明语句750

15.4.1 函数声明750

15.4.2 变量和数组声明756

15.4.3 主应用程序API函数声明759

15.4.4 测试代码生成模块763

15.5 分析简单的表达式765

15.5.1 表达式分析策略765

15.5.2 理解表达式语法分析器769

15.5.3 编码表达式分析771

15.6 完整表达式分析780

15.6.1 新因子类型780

15.6.2 分析函数调用782

15.6.3 新的单目运算符783

15.6.4 新的双目运算符784

15.6.5 逻辑和关系运算符784

15.7 独立的运行时环境787

15.6.6 左值和右值787

15.7.1 本地应用程序788

15.7.2 主应用程序API790

15.8 分析高级语句和结构792

15.8.1 赋值语句792

15.8.2 函数调用798

15.8.3 return799

15.8.4 While循环802

15.8.5 for循环812

15.8.6 If分支812

15.10 测试驱动817

15.9 语法图总结817

15.10.1 Hello,World!818

15.10.2 绘制矩形819

15.10.3 Bouncing Head示例822

15.11 总结843

15.12 CD上的内容843

15.13 挑战844

第7篇 完成培训846

第16章 应用这个系统开发的一个完整游戏846

16.1 介绍LockDown846

16.1.1 素材来源846

16.1.2 最初的计划和设置847

16.2.1 集成XtremeScript857

16.2 脚本策略857

16.2.2 主API858

16.2.3 编写脚本860

16.2.4 装载和运行脚本867

16.2.5 速度问题868

16.3.2 与物体交互870

16.3.3 区域地图870

16.3.4 战斗870

16.3.1 控制870

16.3 如何玩Lockdown870

16.3.5 完成这个目标871

16.4 总结871

16.5 CD上的内容871

16.6 挑战872

第17章 从今往后,何去何从873

17.1 现在究竟该干什么呢873

17.2 扩展你的知识874

17.2.1 编译器理论874

17.2.2 运行时环境876

17.3 高级话题和思想878

17.4 总结888

热门推荐