作者eplis (Eplis)
看板mud_mars
標題[閒聊] 火大啦
時間Thu Aug 30 10:39:07 2012
解任務的時候,都是判斷玩家身上的value
以大地為例,假設變數叫做earth,
mob 就會判斷earth的值是多少而有不同的動作,
這部分是寫在區域檔案(.are)的,並非寫在程式(.c)裡面。
雖然我不知道這樣做的考量,也許是不需要所有人有權限改主機程式,
不過MARS的程式在吃are檔的程式時,邏輯寫的似乎有很大的錯誤,
讓我寫迷寫到很火大....我決定以後都直接寫在程式檔了!!!!
例如
if var1($n)==0
if rand(50)
do 111
break
endif
if rand(100)
do 222
break
endif
else
do 333
break
endif
這樣的程式好了
預計的邏輯是:
若 var1 == 0,則會有50%機率做 111,如果沒做到 111,則會強制做 222
若 var1 != 0,則會做333。
很不幸的,結果完全不是這樣!
不知名原因 111 永遠不會跑到,頂多就是跑 222。
而且明明 var1==0 卻還會執行到 333
這什麼世界....
所以以後還是用程式完成好了,浪費一大堆時間在測試!!
--
Mars-瑪爾斯群英傳,為一種多人的地下城文字網路遊戲(MUD),
以西方魔法奇幻風格為背景,讓玩家扮演各種職業進行冒險、解謎。
IP:
220.135.242.105:8888 討論板:
PTT mud_mars
Eplis @ Mars
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.11.241
→ Fnd:蠻奇妙的問題,乍看之下還以為是random seed的問題,可是看下去 08/30 11:25
→ Fnd:感覺更像是讀取階層的問題... 08/30 11:25
推 Spake:這樣會不會限制到只有coder可以寫迷呢? 08/30 12:05
→ eplis:還是可以用很笨的寫法 但就很累 08/30 12:58
推 wake01:roc來講...quest也是aw自己放區域檔裡面耶XD 08/30 15:27
推 stabber111:你在說我那個迷嗎? 奇怪,大地的不是都會跑到... 08/30 18:24
→ eplis:不是你的迷 雖然我也沒測試過你的 08/30 18:45
→ cibs:需不需要人幫忙解那邊的 bug 啊? 08/30 19:00
推 xx52002:大地會卡住啊 順序錯了flag就莫名的..(嗯 08/30 21:09
推 stabber111:有時間測看看吧,我怕解不了XD 08/31 00:42