這裡是我們上次教到的擲幣遊戲
由產生 0 到 1 的隨機數字開始
我們接著將數字取到最接近的整數
所以這給了我們一個由 0 到 1的數字
然後我們用一個圓勾勒了我們的超現實錢幣
根據他的數字來決定他是紫色或是黃色
而這裡是我們的程式碼
所以我們說 “如果整數跟0相同,將色彩填為紫色”
"除此之外,則填為黃色"
然後我們將錢幣畫在下面這裡
不過我剛決定其實我的錢幣有三面
對,一個三面的錢幣
所以,讓我們加入第三面
一開始將數字設在 0 到 2 之間
四捨五入後,我們會得到 0, 1, 或 2 三個整數
但是我們的繪圖程式只會計算兩種情況
所以如果整數是 0,使其紫色
除此之外,使其黃色
不過現在,除此之外可以指 1 或 2
但是等一下,如果我做跟剛才一樣的事情
但是是在這個 "else" 括號裡呢?
所以我要說:如果整數是 1
則填入黃色,跟之前一樣
否則,填入紅色
紅色不錯
所以這個的意思是
如果整數是0,填入紫色
除此之外,如果整數是1則填入黃色
除此之外
如果不是 0,也不是 1
那就是 2,我們填入紅色
我按了重新開始幾次
它運作了!哇呼!
所以如果之後我想要為錢幣加入更多的面
我可以到上面這裡,改為 0 到 3
然後將 "else" 的括號變得更深
加入更多 "if-else",如此重複多次
直到我有許多個嵌套區塊
而我將會發現這個程式碼很噁心,我是指很雜亂
程式碼應該要易於閱讀而且漂亮,而不是盡可能地醜陋
所以以下是我要做的事情
當我在這個 else 括弧裡
只有一個 "if 述句"
或者是一個 if-else 述句
意思是說我們在這些區塊外面沒有要做任何事情
我們沒有要設定顏色
我們沒有要做更多的 if 數據,我們不做任何事
我們所有的就是一個 if 述句,頂多可能跟著一個 else 括號
然後我們可以將前面的情況跟這個情況結合
然後說,如果這個整數跟 1 相同
那就將填色設為黃色
然後這個 else括號不會在別的地方
只會在自己的最後面出現
太好了!所以現在這個的意思是
如果這個整數為 0,將顏色定為紫色
除此之外,如果整數跟 1 相同,則填為黃色
除此之外,如果都不是前兩者,將顏色設為紅色
我按了重新開始幾次,你可以看看它們仍然成立
太棒了!最酷的地方是
我們可以想要有多少 "else-if" 就有多少
讓我更簡單地能為硬幣加入更多面
所以讓我們現在來試試看,我將要做一個數字介於 0 到 3 之間
然後加入更多 "else"
這代表了如果整數是 2
我們會將顏色設為......
因為之前是紅色我們就繼續將它設為紅色
然後這個最後一個 "else" 會代表整數為 3 時
將其顏色填為藍色,太棒了
好
所以為了完成這個,你必須每次都用一個"if 述句"開頭
然後你就可以想要多少 "else-if" 就有多少
然後最後面這個東西是選擇性的可有可無
我們沒有這個也可以完成
然而也有可能這些全部都是錯誤的
所以沒有任何一個括號會被執行
但是只要我們還有這些在這裡
那麼至少有一個括號會被執行
可以嗎?這裡有一件事情並不是那麼重要
如果你說 if else-if else-if else
或只是一些我們開頭就有的舊的敘述
所以如果整數跟 3 相同
這是因為絕對不可能
有一個整數同時是 0, 1, 2 或是 3
好,所以這些情況不會同時發生
只有一種方式會被執行
但不會永遠都是這樣
如果我們創造一個跟這個很相似的遊戲,但我們不需要取整數?
所以我要把取整數的這個部分刪掉
還有另一個將圓畫到螢幕上的部份程式碼
讓我們來制定一些新的規則
所以我仍然在創造一些介於 0 到 3 之間的數字
然後放一些定點在我們的數線上
如果說這個數字介於 0 到 1 之間,我們將它填為紫色
噢,這根本看起來不像一個 p,不過你懂的,ok
然後如果他介於 1 和 2 之間,我們將它設定為黃色
而如果它介於 2 和 3 之間,則設定為紅色
太好了。讓我們來試試如何用 "if" 和 "else-if" 來設定它
所以我由 “如果這個數字比1小” 開始
所以如果數字比 1 小
而我知道數字介於 0 到 3 之間
而他一定是在這個範圍裡面
那麼我會將顏色設為紫色
除此之外,如果數字比 2 小
那麼我會將顏色設為黃色,255
除此之外,我將顏色設為紅色
太好了,如我們預想般地運作了
所以如果數字小於1
再一次的,是這個範圍
除此之外,如果數字介於 1 和 2 之間
所以在這個範圍裡,我們將把顏色設為黃色
除此之外,它必定大於或等於 2
所以它將落在這個範圍裡
現在有另一個情況
當我們不能只說 “當數字小於2時”
或是 “當數字小於3”時
因為如果數字比1小,那麼數字就一定比2小
那麼也將小於3
所以我們的錢幣
將永遠是紅色的
而這就是為什麼在這個情況裡
有 ”else-if" 會非常有幫助