LPC語言

LPC語言是由Lars Pensjǒ在1989年根據C語言開發的程式語言,主要是用來編寫MUD遊戲,使用LPC語言開發的MUD遊戲被稱為LPMUD。

基本介紹

  • 中文名:LPC語言
  • 外文名:Lars Pensjǒ C
  • 開發時間:1989年
  • 開發者:Lars Pensjǒ
簡介,LPC的函式分類,

簡介

LPC類似C語言,語法大致相同,檔案擴展名也為“.c”。不過LPC 是一面向對象語言,有對象(Object),但又沒有類(class)的概念。和C語言相比LPC沒有main()函式,但有一個create()函式,在對象載入時自動調用以完成初始化。
LPC是文字MUD遊戲的程式語言,這類MUD統稱LPMUD,多為解迷型,國類所有武俠MUD和神話MUD都是LPMUD。
Lpc的程式看起來和一般的C區別不大,語法基本一樣,但是Lpc和一般的語言有著根本的不同,Lpc程式是編寫一個一個的"Object"。這有什麼區別呢?一般的程式是在執行過程中,通常有一個明顯的開始和和結束,程式從一個地方開始,然後順序執行下去,到了結束的地方就中斷了。Lpc的Object不是這樣的,所謂的不同的Mud,實際上是一些不同的Lpc的Object在一個Driver的上的各種不同的表現。也就說,Lpc的Object是運行在一個Driver上的,這些Object組成了LpMud的豐富多彩的世界。
例子:如果你想在MUD中加一個地區,就在該地區目錄中新建一個檔案。
inherit ROOM;
void create()
{
set("short", "客店二樓");
set("long", @LONG
你正走在客店二樓的走廊上,可以聽到從客房裡不時地呼呼的打酣聲,一陣
高過一陣。不時有睡意朦朧的旅客進進出出,到樓下的掌柜處付了錢再上來睡覺。
LONG );
set("exits", ([
"down" : "/d/city/kedian",
"enter" : "/d/city/kedian3",
]));
setup();
replace_program(ROOM);
}
然後更新這個檔案並在在其它地區加上這個地點的入口就可以到達了,MUD的世界就是很多這種地點的連線。

LPC的函式分類

LPC語言的函式可分為以下4類:
⒈apply
在MUDLIB中定義的只能被遊戲驅動(MUDOS)呼叫的函式,所有applies也都是lfuns。
⒉efun (external function)
外部函式(相對於MUDLIB定義的函式來說),也就是定義在遊戲驅動中的函式。因為是直接定義在遊戲驅動中,所以運行速度更快。
⒊lfun (local function)
本地函式,MUDLIB的object中自己定義的函式,為什麼applies也屬於lfun?因為這些函式內容也是你自己寫的。
⒋sefun (simulated external function)
模擬外部函式,本質上是本地函式,但多數是把efun做了重寫,這類函式屬於MUDLIB的核心。

相關詞條

熱門詞條

聯絡我們