法則的研究有3000多年的歷史,在這段期間法則的發展是日益進步,但近年來科技的發展也不容小覷,甚至在近日與魔法結合,產生了魔導機器(在機械上以敘述式紀錄魔法,並且可以在無魔法師協助的情況下發動魔法的機器)。在法則師人才不足的情形下,有人提出了這個疑問:「為什麼不把法則的研究一道魔導機器上運作?魔導機器的穩定度比人類高很多吧?」
這個提案的確非常吸引人,如果可以將法則空間的創造過程交由魔導機器運作,不但可以大幅減少法則師的意外傷害,也可以一次同時進行多個空間的創造,對於結界師而言,這也方便許多。也因此,在法則師、結界師、魔導工程師三方共同努力下,DRA數位法則組合語言正式誕生了。
我們用之前提過的宇宙空間的例子,來示範如何使用DRA描述一個法則空間:
1 <?Main policy of HelloWorld in full declaration;
2 policy set MainPolicy of space policy;
3 policy set HumanPolicy of object policy;
4 basic set SpaceSetting;
5 constant Animal = this.inherit(normal)& this.exclude(Human);
6 #declare end and create named Space
7
8
9 basic set SpaceSetting in private mode{
10 Space Volume= [4, 4, 4];
11 Space Visible= true;
12 }
13
14 policy set MainPolicy in public mode{
15 for each(Space policy)
16 Space this.inherit (Normal);
17 Space Gravity=0;
18 Energy Spread= Radiation;
19 Light Wavelength+=3;
20 SpaceTemperature=3;
21 Space Allowance (Human, True,HumanPolicy);
22 Space Allowance(Animal, false);
23 Space Allowance (Air, False);
24 }
25
26 Policy set HumanPolicy in public mode {
27 for each(Object policy)
28 Object this.inherit(Normal);
29 If (Object.in){
30 time TimeCountDown=”00:02:00”;
31 for(ObjectPressure=1;TimeCountDown>=”00:00:00”;TimeCountDown-“00:00:01”)
32 Object Pressure = ObjectPressure*0.9;
33 Object Death Protection=true;
34 }
35 If (Object.out){
36 time TimeCountDown=”00:10:00”;
37 for(ObjectPressure=0;TimeCountDown>=”00:00:00”;TimeCountDown+“00:00:01”)
38 Object Pressure = ObjectPressure +1/600;
39 Object Death Protection=false;
40 }
41 if(Object.destroy).inherit(if(Object.out));
42 }
43 ?>
由於要解釋清楚實在是有困難,我只大概解釋一下各個區塊的意思。
第1和43行的<?及?>是開始與結束符號,在每個DRA敘述中必須以這組符號作為開始與結束的標誌。
第1到第6行是敘述分部的設定,在這裡必須設定空間設定分部、空間法則分部與物件法則分部的名稱,同時如果有恆定常數(有點類似特定數字的代稱,方便DRA的設計)也必須在此設定。
第9到第12行是空間設定分部,用途是告訴魔導機器需要創造出何種空間
第14到第24行是空間法則分部,所有空間法則都必須寫在這個區塊內
第26到第42行是人類物件法則分部,由於在21行有設定人類可以進入此空間,所以必須多寫一個人類的物件法則。其中的3個IF就是IOD設定區,這一區的設定只有在三大觸發式啟動時才會被執行。
要讓這一段極其簡單的組合語言建構出一個法則空間,除了DRA自己之外,在背後還有幾個重要的功臣在後面默默運作著,分別是DRA魔法編成器以及物件自然狀態宣告檔。DRA魔法編成器的任務主要是將這份組合語言轉換成魔導機器實際運作時的魔法指令,而物件自然狀態宣告檔內記載著超過30萬項物件在自然狀態時的敘述,由於物件就算不需要修改法則也需要引用原來的自然狀態,如果少了這個檔案,上面短短4行的文字就會暴增為50倍以上,這份檔案是降低使用難度的重大關鍵之一。
如果要在魔導機器上使用DRA的話,就必須安裝DRA魔法編成器以及物件自然狀態宣告檔,這兩樣東西售價為3000水晶幣,目前由魔法師公會代理發售,並且享有售後到府安裝及10年免費更新的服務(過期之後一年續用需要150水晶幣)雖然售價昂貴,但是卻是許多高級法師的愛用品。