Lpc程序和编程环境
2007/5/5 23:00:03

第一节,编程环境 

通常我们所见到的Mud大多是LpMud。LpMuds使用Unix的指令和
文件结构。如果你对Unix有所了解,那么LpMud中的一些指令和它的
文件结构与普通的Unix基本一样。如果你从未使用过Unix,那么它
Dos不同的是在文件的路径用"/",而不是Dos的"\".
一个典型的LpMud的文件是这样的:
/clone/player/player.c
"/clone/player/"是路径,player.c是文件名。
在多数的LpMud中,下面这些的基本的Unix指令是可以使用的:
pwd, cd, ls, rm, mv, cp, mkdir, rmdir, more, tail, cat, ed
如果从未使用过Unix,那么下面这张表也许是有用的。
pwd: 显示当前目录
cd: 改换你当前的工作目录,和Dos的cd一样。
ls: 列出指定目录下的所有文件,如果没有指定任何目录,那就列
出当前目录底下的文件。和Dos的dir一样。
rm: 删除一个文件 和Dos的rmdir一样
mv: 从命名一个文件 和Dos的move一样
cp: 复制一个文件 和Dos的copy一样
mkdir: 创建一个目录
rmdir: 删除一个目录
more: 按页显示一个文件在你的当前屏幕。
cat: 显示整个文件。和Dos的type一样。
tail: 现在一个文件的结尾几行。
ed: 允许你使用Mud自带的编辑器,编辑一个文件。 
第二节 Lpc程序 

2.1 Lpc程序。
Lpc的程序看起来和一般的C区别不断大,语法基本一样,但是
Lpc和一般的语言有着根本的不同,Lpc程序是编写一个一个的"Object"。
这有什么区别呢?一般的程序是在执行过程中,通常有一个明显的
开始和和结束。程序从一个地方开始,然后顺序执行下去,到了结
束的地方就中断了。Lpc的Object不是这样的。
所谓的不同的Mud,实际上是一些不同的Lpc的Object在一个Driver
的上的各种不同的表现。也就说,Lpc的Object是运行在一个Driver
上的。这些Object组成了LpMud的丰富多彩的世界。Driver几乎不参
与创建你所接触到的世界,它所完成的工作只是让那些Lpc的Object
活动起来。Lpc的Object可能没有明显的开始和结束的标志,它可能
永远在工作。 和一般的程序一样,Lpc“程序”也是由一个或多个
文件组成。一个Lpc的Object是按如下方式被执行的:Driver把和这
个Object相关的文件读入内存,然后解释执行。但是要记住的是,
读入内存,并不是说,它就开始按顺序执行。 
2.2 Driver和Mudlib关系
在有些游戏中,整个游戏包括Driver和游戏世界都用C写好,这样
能快一些,但是游戏的扩充性很差,巫师们不可能在游戏进行中添
加任何东西。LpMud则相反。Driver理论上应该和玩家所接触的世界
几乎没有任何直接的联系。游戏世界应该是自己独立的,而且是“即
玩即加”的。这就是为什么LpMud使用Lpc作为编程语言的原因。它
允许你创建一个游戏世界,再由Driver在需要时读入解释执行。Lpc
甚至比C更简单,更容易明白,但是它可以创建一个可以让许多人在
上面游戏的世界。
在你写完一个Lpc的文件时,它存在于主机的硬盘上。在游戏进行
中,当需要整个Object时,这份文件将被调入内存,一个特殊的函
数被调用来初始化这个Object的一些变量。现在你不用关心什么是
变量,什么是函数以及游戏本身怎样来调用这个object,你只要记
住Driver从硬盘中读入一个文件,然后放在内存中,如果没有任何
错误的话。 
2.3 一个Object被装人内存。
一个Object不会也不必有一个特点的地方让Driver去执行它,通
常Drvier会在Object中找一个地方去初始化它。一般都是这个函数
叫做create()。
Lpc的Object是一些变量(它的值能变化)和函数(函数通常是用来
操纵那些变量的一段程序)的组合。函数操纵变量的方式有:调用
其他函数,使用Driver内部定义的函数(efun),基本的Lpc表达式
以及流控制。
我们来看个变量的例子: wiz_level。这个变量记录

下一页
返回列表
返回首页
©2025 MUD游戏网_文字mud 电脑版
Powered by iwms