0:00:01.239,0:00:03.656 這裡是我們上次教到的擲幣遊戲 0:00:03.656,0:00:06.596 由產生 0 到 1 的隨機數字開始 0:00:06.596,0:00:08.876 我們接著將數字取到最接近的整數 0:00:08.877,0:00:12.213 所以這給了我們一個由 0 到 1的數字 0:00:12.214,0:00:15.908 然後我們用一個圓勾勒了我們的超現實錢幣 0:00:15.909,0:00:18.908 根據他的數字來決定他是紫色或是黃色 0:00:18.909,0:00:20.986 而這裡是我們的程式碼 0:00:20.987,0:00:24.158 所以我們說 “如果整數跟0相同,將色彩填為紫色” 0:00:24.159,0:00:25.818 "除此之外,則填為黃色" 0:00:25.819,0:00:27.916 然後我們將錢幣畫在下面這裡 0:00:27.917,0:00:30.924 不過我剛決定其實我的錢幣有三面 0:00:30.925,0:00:32.454 對,一個三面的錢幣 0:00:32.455,0:00:34.189 所以,讓我們加入第三面 0:00:34.190,0:00:37.108 一開始將數字設在 0 到 2 之間 0:00:37.109,0:00:41.532 四捨五入後,我們會得到 0, 1, 或 2 三個整數 0:00:41.533,0:00:45.608 但是我們的繪圖程式只會計算兩種情況 0:00:45.609,0:00:48.814 所以如果整數是 0,使其紫色[br]除此之外,使其黃色 0:00:48.815,0:00:51.884 不過現在,除此之外可以指 1 或 2 0:00:51.885,0:00:54.930 但是等一下,如果我做跟剛才一樣的事情 0:00:54.931,0:00:56.674 但是是在這個 "else" 括號裡呢? 0:00:56.675,0:01:00.748 所以我要說:如果整數是 1 0:01:00.749,0:01:04.933 則填入黃色,跟之前一樣 0:01:05.918,0:01:09.877 否則,填入紅色 0:01:09.853,0:01:11.402 紅色不錯 0:01:11.403,0:01:12.577 所以這個的意思是 0:01:12.578,0:01:15.477 如果整數是0,填入紫色 0:01:15.478,0:01:18.983 除此之外,如果整數是1則填入黃色 0:01:18.984,0:01:20.330 除此之外 0:01:20.331,0:01:24.610 如果不是 0,也不是 1[br]那就是 2,我們填入紅色 0:01:24.626,0:01:28.585 我按了重新開始幾次[br]它運作了!哇呼! 0:01:28.566,0:01:30.865 所以如果之後我想要為錢幣加入更多的面 0:01:30.866,0:01:35.676 我可以到上面這裡,改為 0 到 3[br]然後將 "else" 的括號變得更深 0:01:35.677,0:01:37.986 加入更多 "if-else",如此重複多次 0:01:37.987,0:01:40.157 直到我有許多個嵌套區塊 0:01:40.158,0:01:44.703 而我將會發現這個程式碼很噁心,我是指很雜亂 0:01:44.704,0:01:48.760 程式碼應該要易於閱讀而且漂亮,而不是盡可能地醜陋 0:01:48.761,0:01:50.729 所以以下是我要做的事情 0:01:50.730,0:01:52.904 當我在這個 else 括弧裡 0:01:52.905,0:01:55.674 只有一個 "if 述句"[br]或者是一個 if-else 述句 0:01:55.675,0:01:58.752 意思是說我們在這些區塊外面沒有要做任何事情 0:01:58.753,0:02:00.545 我們沒有要設定顏色 0:02:00.546,0:02:04.765 我們沒有要做更多的 if 數據,我們不做任何事 0:02:04.766,0:02:08.443 我們所有的就是一個 if 述句,頂多可能跟著一個 else 括號 0:02:08.443,0:02:12.755 然後我們可以將前面的情況跟這個情況結合 0:02:12.756,0:02:17.072 然後說,如果這個整數跟 1 相同[br]那就將填色設為黃色 0:02:17.073,0:02:19.948 然後這個 else括號不會在別的地方 0:02:19.949,0:02:22.318 只會在自己的最後面出現 0:02:22.319,0:02:24.586 太好了!所以現在這個的意思是 0:02:24.587,0:02:27.326 如果這個整數為 0,將顏色定為紫色 0:02:27.327,0:02:30.234 除此之外,如果整數跟 1 相同,則填為黃色 0:02:30.235,0:02:34.483 除此之外,如果都不是前兩者,將顏色設為紅色 0:02:34.484,0:02:37.737 我按了重新開始幾次,你可以看看它們仍然成立 0:02:37.738,0:02:41.823 太棒了!最酷的地方是[br]我們可以想要有多少 "else-if" 就有多少 0:02:41.824,0:02:44.702 讓我更簡單地能為硬幣加入更多面 0:02:44.703,0:02:48.008 所以讓我們現在來試試看,我將要做一個數字介於 0 到 3 之間 0:02:48.000,0:02:51.751 然後加入更多 "else" 0:02:51.760,0:02:55.914 這代表了如果整數是 2 0:02:55.915,0:02:59.657 我們會將顏色設為......[br]因為之前是紅色我們就繼續將它設為紅色 0:02:59.658,0:03:03.287 然後這個最後一個 "else" 會代表整數為 3 時 0:03:03.288,0:03:07.529 將其顏色填為藍色,太棒了 0:03:08.479,0:03:09.585 好 0:03:09.586,0:03:13.115 所以為了完成這個,你必須每次都用一個"if 述句"開頭 0:03:13.116,0:03:16.909 然後你就可以想要多少 "else-if" 就有多少 0:03:16.910,0:03:18.697 然後最後面這個東西是選擇性的可有可無 0:03:18.698,0:03:19.927 我們沒有這個也可以完成 0:03:19.928,0:03:22.249 然而也有可能這些全部都是錯誤的 0:03:22.250,0:03:24.161 所以沒有任何一個括號會被執行 0:03:24.162,0:03:27.203 但是只要我們還有這些在這裡 0:03:27.204,0:03:30.483 那麼至少有一個括號會被執行 0:03:30.484,0:03:34.016 可以嗎?這裡有一件事情並不是那麼重要 0:03:34.017,0:03:37.016 如果你說 if else-if else-if else 0:03:37.017,0:03:41.928 或只是一些我們開頭就有的舊的敘述 0:03:41.929,0:03:45.538 所以如果整數跟 3 相同 0:03:45.539,0:03:47.727 這是因為絕對不可能 0:03:47.728,0:03:51.197 有一個整數同時是 0, 1, 2 或是 3 0:03:51.198,0:03:54.222 好,所以這些情況不會同時發生 0:03:54.223,0:03:56.608 只有一種方式會被執行 0:03:56.609,0:03:58.277 但不會永遠都是這樣 0:03:58.278,0:04:01.635 如果我們創造一個跟這個很相似的遊戲,但我們不需要取整數? 0:04:01.636,0:04:04.484 所以我要把取整數的這個部分刪掉 0:04:04.485,0:04:06.639 還有另一個將圓畫到螢幕上的部份程式碼 0:04:06.640,0:04:09.283 讓我們來制定一些新的規則 0:04:09.284,0:04:12.636 所以我仍然在創造一些介於 0 到 3 之間的數字 0:04:12.637,0:04:15.315 然後放一些定點在我們的數線上 0:04:16.815,0:04:22.778 如果說這個數字介於 0 到 1 之間,我們將它填為紫色 0:04:23.378,0:04:26.642 噢,這根本看起來不像一個 p,不過你懂的,ok 0:04:26.643,0:04:30.503 然後如果他介於 1 和 2 之間,我們將它設定為黃色 0:04:30.504,0:04:35.532 而如果它介於 2 和 3 之間,則設定為紅色 0:04:35.533,0:04:39.290 太好了。讓我們來試試如何用 "if" 和 "else-if" 來設定它 0:04:39.291,0:04:43.881 所以我由 “如果這個數字比1小” 開始 0:04:43.882,0:04:46.015 所以如果數字比 1 小 0:04:46.016,0:04:50.116 而我知道數字介於 0 到 3 之間[br]而他一定是在這個範圍裡面 0:04:50.956,0:04:53.126 那麼我會將顏色設為紫色 0:04:56.066,0:05:00.182 除此之外,如果數字比 2 小 0:05:00.844,0:05:05.324 那麼我會將顏色設為黃色,255 0:05:06.702,0:05:12.183 除此之外,我將顏色設為紅色 0:05:13.263,0:05:16.255 太好了,如我們預想般地運作了 0:05:16.256,0:05:19.686 所以如果數字小於1[br]再一次的,是這個範圍 0:05:19.687,0:05:23.602 除此之外,如果數字介於 1 和 2 之間 0:05:23.603,0:05:26.731 所以在這個範圍裡,我們將把顏色設為黃色 0:05:26.732,0:05:29.859 除此之外,它必定大於或等於 2 0:05:29.860,0:05:31.899 所以它將落在這個範圍裡 0:05:31.900,0:05:33.276 現在有另一個情況 0:05:33.277,0:05:36.276 當我們不能只說 “當數字小於2時” 0:05:36.277,0:05:39.649 或是 “當數字小於3”時 0:05:39.650,0:05:42.931 因為如果數字比1小,那麼數字就一定比2小 0:05:42.932,0:05:44.895 那麼也將小於3 0:05:44.896,0:05:46.780 所以我們的錢幣[br]將永遠是紅色的 0:05:46.781,0:05:50.781 而這就是為什麼在這個情況裡[br]有 ”else-if" 會非常有幫助