省容量‎ > ‎一事件‎ > ‎

一事件多重輸出

此處fuck略技術以外的一切檢查
用地圖只是例子,各位應該靈活變通
(P.S. 這招是難的啦,加油~)

1.排除法    (method of rejection)
此法的用途是在同一事件中設一套雙向輸出,多套輸出較為不便

設x為需要多項輸出的變數
設正輸出為在玩家所在地放置爆炸痕跡,負輸出為不放置,玩家代碼為p


    正排除法
        目標輸出:除了x等於0,其餘沒有輸出
        [動作]locl.{x}=rubbish location
        [動作]locl.0=p
        [動作]爆炸痕跡@locl.{x}

    反排除法
        目標輸出:除了x等於0,其餘都有輸出
        [動作]locl.{x}=p
        [動作]locl.0=rubbish location
        [動作]爆炸痕跡@locl.{x}


2.布冧    (method of Boolean)
此法的用途是在同一事件中設多套雙向輸出,惟設定時較為不便

設x1至x15為需要多項輸出的布冧值(1 or 0)
設正輸出為在玩家所在地放置對應編號的物件,負輸出為不放置,玩家代碼為p

        [動作]locl.1=p
        [動作]locl.0=rubbish location
        [動作]物件1@locl.{x1}
        [動作]物件2@locl.{x2}
        [動作]物件3@locl.{x3}
        ...
        [動作]物件15@locl.{x15}


3.整數法
此法的用途是在同一事件中設一套多向輸出,比較難掌握的方法

設x為需要多項輸出的整數(此處設可能的輸出為1至15)
設正輸出為在玩家所在地放置對應編號的物件,負輸出為不放置,玩家代碼為p

        [檢查]0!=null    儲為locl.1            //重置變數
        [檢查]0!=null    儲為locl.2            //重置變數
        [檢查]0!=null    儲為locl.3           //重置變數
        ...
        [檢查]0!=null    儲為locl.15           //重置變數
        [動作]locl.{x}=p
        [動作]物件1@locl.1
        [動作]物件2@locl.2
        [動作]物件3@locl.3
        ...
        [動作]物件15@locl.15

問:方法2跟方法3有什麼分別
答:方法2可以同時把物件1至物件15都放了,但方法3一次只能放一件

僅限同人的技術,程式無須使用/_>\