變數‎ > ‎

邏輯判定

邏輯判定有三種:and, or, not
同人陣系統沒有內置and以外的邏輯判定,只能使用多於一個事件來弄,十分不便。
但其實邏輯判定有啥用呢?
邏輯判定是拿來計布冧的(True or Flase)

False:假的,意指數字 "0" 或者 "沒有" (即null),後果是不通過
True :真的,意指0以外一切數值 (但一般布冧只有"0"和"1") ,後果是通過

好,入正題

and:
算子左右之值皆要是True才會輸出True
其中一個是False便出False

or:
算子左右之值皆要是False才會輸出False
其中一個是True便出True

not:
將True 變 False,將False 變 True

好,給例子( 1 即是True;0 即是False)

1 and 1=>1    ;    1 or 1=>1
1 and 0=>0    ;    1 or 0=>1
0 and 0=>0    ;    0 or 0=>0
not 1=>0       ;    not 0 =>1

如果A的值是True,B的值是False
A and A => 1    ;    A or A =>1
A and B=>0    ;    A or B=>1
B and B=>0    ;    B or B=>0
not A=>0       ;    not B =>1

同人陣沒法用 and or not 嗎?
非也,我們要用一些特殊方法就可以啦

首先我們要先將數字弄成0/1,但如何弄呢?
a=a/99999999999999999 無條件進位
這樣a==0仍是0,但a>0就變1
但若a<0就會是0
不希望的話,err...自己想辦法吧(X

然後呢,才作下面的運算
a and b => a*b
a or b => (a+b)/99999999999999999 無條件進位
not a => 1-a

若事件一觸發事件二,我們就在事件一先作邏輯運算,再用事件二檢查運算結果能否讓事件二通過


其實是可以一事件弄邏輯判定的,但只限於變數(奸笑
方法一:配合一事件邏輯判定,比較方便,但較難掌握
方法二:預先準備邏輯變數,比較易掌握,但比較的對象必須已經是布冧

先說方法一吧,就是在判定時加入上面的運算,完(X
具體用法在不同情形會不同,很難解釋

方法二吧,就是先定義邏輯變數i.e.

整數 not1=0
整數 not0=1
整數 .1and1=1
。。。

使用時就這樣
not{a}
.{a}and{b}
如此類推