作者laechan (小太保)
看板mud_sanc
標題Re: [問題] [wizs] room問題請教
時間Thu Dec 6 16:53:59 2007
※ 引述《aiggkimd (口古月)》之銘言:
: 請問假設說有a,b,c三個房間
: a,b各有一個開關,兩個開關都打開後,c的門才進的去
: 有點類似蜘蛛洞的rod..不過我沒權限more,沒辦法參考
: 還有就是怎麼寫在只有a的開關啟動下,b還沒啟動時
: 要開c的門會出現"b鎖未開啟的敘述
: 是要set什麼值在身上嗎??
你在 a 房間跟 b 房間都寫 void init 函數, 設定一個動作,
例如 pull stone,兩個房間都 pull stone 時...
a房間
find_object_or_load(c房間)->set("a房間已經 pull",1);
順便判斷是否 "b房間已經 pull" 存在, 若存在..
find_object_or_load(c房間)->set("允許開門",1);
b房間
find_object_or_load(c房間)->set("b房間已經 pull",1);
順便判斷是否 "a房間已經 pull" 存在, 若存在..
find_object_or_load(c房間)->set("允許開門",1);
因為 pull stone 後就不能再 pull,所以上述流程頂多重覆
一次。
那麼,當你在 c 房間要開門時...
if(query("允許開門"))
就讓玩家開;
else
{
if(query("a房間已經 pull"))
顯示 b 鎖未開;
else if(query("b房間已經 pull"))
顯示 a 鎖未開;
}
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.231.120.132
1F:推 aiggkimd:喔喔,感謝~ 12/06 16:54
2F:推 aiggkimd:這個find_object_or_load是自己設的? 12/07 13:39