XOR 異或
XOR 和 OR 很相似,但 XOR 的判斷更為嚴謹。我們知道 OR 是 其中一個/兩個 Input 有訊號時也會運行程式,而XOR 是 只能其中一個 Input 有訊號才會運行程式,兩個Input 同時有訊號會判斷為不能運行。
只有Input A / lnput B 其中一個有訊號才會執行,其他情況一律不執行。
所需用料 :
Button x1
Key Press x1 (無實物)
Light sensor x 2
RGB LED x 1
XOR Behavior Block x 1 (無實物)
Threshold Behavior Block x 1 (無實物)
編程教學:
1. 在 Behaviors 中的 Logic 拖拉 XOR 到工作台上。
NOR 需要2個Input同時啟動才能觸發。
2. 把Button 和 Key Press 連接至 XOR 上 。
3. 把XOR 連接到 RGB LED 上
4. 按下Button 後,會看到 RGB LED 發亮。
其中一個Input 有訊號 ->符合->執行
5. 放下Button,按下Key Press 後,會看到LED 發亮
其中一個Input 有訊號 ->符合->執行
6. 現在按下Button 和 Key Press ,會發生什麼事?
LED 沒有亮著,兩個Input 同時有訊號 ->不符合->不會執行
7. 另外我們可以換上Light sensor 和 Threshold 來代替 Key Press
8. 按下Button 同時 Light sensor 達成了 13,變成True 狀態 ,一樣是2個Input 有訊號而XOR判斷不能執行開啟 LED 燈。
9. 我們測試如果2個Input 沒有訊號會怎樣? 我們把 Threshold 更改為64就變成True 狀態
10. Button 沒有按下,同時 Light sensor 不能達到 64,我們會看到LED 沒有亮著
XOR 日常例子
在某些遊戲中,你會遇上一些選擇題需要你決定,你一直不決定的話,畫面會一直停留著不會到下一個畫面,你亦不能同時按下2個選擇,畫面亦會停留著,只有你選擇其中一個選項才會到下一個畫面。