作者eplis (Eplis)
看板mud_mars
標題[閒聊] 區域撰寫規範
時間Tue Jan 8 11:08:57 2013
講規範或許有一點嚴肅,不過還是跟大家分享幾點要注意的
這些東西不一定是用在寫MARS區域啦!只是那個Stabber你吼....
可真的把我給弄慘了
1.使用 mobphase 不需要加上 is,你的區域都是 ismobphase($i)
is通常是在寫程式的boolean值變數用的,mobphase回傳值數字,所以
根本不會用 ismobphase 這個用法。
Mars程式會有這種奇怪用法真的要去罵罵前人了,不知道是只會依樣畫葫蘆
還是怎樣,全部都用 isxxx($x) 來寫
2.少用 rand_prog,現有的區域很多 rand_prog 都被我拿掉了,
對於玩家實在意義不大,一秒又要跑這麼多的random,實在很不好
3.第三個也是節省系統效能消耗,看看下面兩個prog
if rand(100)
if mobphase($i)==0
doSomething()
endif
endif
if mobphase($i)==0
if rand(100)
doSomething()
endif
endif
第一個是先跑random再判斷mobphase
第二個是先判斷mobpase再跑random
效能高下立見,判斷一個if會比random省事
雖然Mars系統不大,以現在的硬體來說也夠強去handle這些東西
不過在軟體這塊還是遵照這些規範,以免人家看到你的程式會
--
Mars-瑪爾斯群英傳,為一種多人的地下城文字網路遊戲(MUD),
以西方魔法奇幻風格為背景,讓玩家扮演各種職業進行冒險、解謎。
IP:
220.135.242.105:8888 討論板:
PTT mud_mars
Eplis @ Mars
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.71.238.141
推 Jate:QQ rand可以增加對話的變化性說 01/08 12:17
→ eplis:不是不能用,要用的話要透過程式去改跑的次數 01/08 12:41
推 Jate:oh 我知道你說的意思了, if rand這個prog本來就要少用qq 01/08 13:15
→ Jate:或者應該說, rand_prog這一個要少用, 因為他前面沒條件 01/08 13:15
→ Jate:每個tick都會run一次s 01/08 13:15
→ eplis:rand_prog 一秒四次 01/08 13:34
推 stabber111:我變案例了QwQ 01/08 14:24
→ eplis:出名了 01/08 16:30