Scratch 條件判斷常見問題─兩個互補的 IF-THEN 判斷式
以下左右兩側看似等價的條件判斷式,其實並不相等。
在未涉入時間因素(程式執行狀態隨時間變化)下,以上右側的條件判斷並不會出現錯誤。
右側兩個條件判斷,會進行兩次的條件評估(evaluation),可以先後涵蓋「大於5」與「不大於5」的所有情況,並執行對應的動作。
但右側為兩次獨立的條件判斷,且涉入時間因素。即前一個條件判斷式的對應動作,如果改變了「變數X」的值,隨後第二次條件判斷式,將不如預期可以涵蓋「不成立」的那一部份。
以下程式,特別凸顯左右兩側程式的差異及潛在的問題,應避免使用兩個互補的 IF-THEN 判斷式來代替單一的 IF-THEN-ELSE。