1 00:00:01,239 --> 00:00:03,656 這裡是我們上次教到的擲幣遊戲 2 00:00:03,656 --> 00:00:06,596 由產生 0 到 1 的隨機數字開始 3 00:00:06,596 --> 00:00:08,876 我們接著將數字取到最接近的整數 4 00:00:08,877 --> 00:00:12,213 所以這給了我們一個由 0 到 1的數字 5 00:00:12,214 --> 00:00:15,908 然後我們用一個圓勾勒了我們的超現實錢幣 6 00:00:15,909 --> 00:00:18,908 根據他的數字來決定他是紫色或是黃色 7 00:00:18,909 --> 00:00:20,986 而這裡是我們的程式碼 8 00:00:20,987 --> 00:00:24,158 所以我們說 “如果整數跟0相同,將色彩填為紫色” 9 00:00:24,159 --> 00:00:25,818 "除此之外,則填為黃色" 10 00:00:25,819 --> 00:00:27,916 然後我們將錢幣畫在下面這裡 11 00:00:27,917 --> 00:00:30,924 不過我剛決定其實我的錢幣有三面 12 00:00:30,925 --> 00:00:32,454 對,一個三面的錢幣 13 00:00:32,455 --> 00:00:34,189 所以,讓我們加入第三面 14 00:00:34,190 --> 00:00:37,108 一開始將數字設在 0 到 2 之間 15 00:00:37,109 --> 00:00:41,532 四捨五入後,我們會得到 0, 1, 或 2 三個整數 16 00:00:41,533 --> 00:00:45,608 但是我們的繪圖程式只會計算兩種情況 17 00:00:45,609 --> 00:00:48,814 所以如果整數是 0,使其紫色 除此之外,使其黃色 18 00:00:48,815 --> 00:00:51,884 不過現在,除此之外可以指 1 或 2 19 00:00:51,885 --> 00:00:54,930 但是等一下,如果我做跟剛才一樣的事情 20 00:00:54,931 --> 00:00:56,674 但是是在這個 "else" 括號裡呢? 21 00:00:56,675 --> 00:01:00,748 所以我要說:如果整數是 1 22 00:01:00,749 --> 00:01:04,933 則填入黃色,跟之前一樣 23 00:01:05,918 --> 00:01:09,877 否則,填入紅色 24 00:01:09,853 --> 00:01:11,402 紅色不錯 25 00:01:11,403 --> 00:01:12,577 所以這個的意思是 26 00:01:12,578 --> 00:01:15,477 如果整數是0,填入紫色 27 00:01:15,478 --> 00:01:18,983 除此之外,如果整數是1則填入黃色 28 00:01:18,984 --> 00:01:20,330 除此之外 29 00:01:20,331 --> 00:01:24,610 如果不是 0,也不是 1 那就是 2,我們填入紅色 30 00:01:24,626 --> 00:01:28,585 我按了重新開始幾次 它運作了!哇呼! 31 00:01:28,566 --> 00:01:30,865 所以如果之後我想要為錢幣加入更多的面 32 00:01:30,866 --> 00:01:35,676 我可以到上面這裡,改為 0 到 3 然後將 "else" 的括號變得更深 33 00:01:35,677 --> 00:01:37,986 加入更多 "if-else",如此重複多次 34 00:01:37,987 --> 00:01:40,157 直到我有許多個嵌套區塊 35 00:01:40,158 --> 00:01:44,703 而我將會發現這個程式碼很噁心,我是指很雜亂 36 00:01:44,704 --> 00:01:48,760 程式碼應該要易於閱讀而且漂亮,而不是盡可能地醜陋 37 00:01:48,761 --> 00:01:50,729 所以以下是我要做的事情 38 00:01:50,730 --> 00:01:52,904 當我在這個 else 括弧裡 39 00:01:52,905 --> 00:01:55,674 只有一個 "if 述句" 或者是一個 if-else 述句 40 00:01:55,675 --> 00:01:58,752 意思是說我們在這些區塊外面沒有要做任何事情 41 00:01:58,753 --> 00:02:00,545 我們沒有要設定顏色 42 00:02:00,546 --> 00:02:04,765 我們沒有要做更多的 if 數據,我們不做任何事 43 00:02:04,766 --> 00:02:08,443 我們所有的就是一個 if 述句,頂多可能跟著一個 else 括號 44 00:02:08,443 --> 00:02:12,755 然後我們可以將前面的情況跟這個情況結合 45 00:02:12,756 --> 00:02:17,072 然後說,如果這個整數跟 1 相同 那就將填色設為黃色 46 00:02:17,073 --> 00:02:19,948 然後這個 else括號不會在別的地方 47 00:02:19,949 --> 00:02:22,318 只會在自己的最後面出現 48 00:02:22,319 --> 00:02:24,586 太好了!所以現在這個的意思是 49 00:02:24,587 --> 00:02:27,326 如果這個整數為 0,將顏色定為紫色 50 00:02:27,327 --> 00:02:30,234 除此之外,如果整數跟 1 相同,則填為黃色 51 00:02:30,235 --> 00:02:34,483 除此之外,如果都不是前兩者,將顏色設為紅色 52 00:02:34,484 --> 00:02:37,737 我按了重新開始幾次,你可以看看它們仍然成立 53 00:02:37,738 --> 00:02:41,823 太棒了!最酷的地方是 我們可以想要有多少 "else-if" 就有多少 54 00:02:41,824 --> 00:02:44,702 讓我更簡單地能為硬幣加入更多面 55 00:02:44,703 --> 00:02:48,008 所以讓我們現在來試試看,我將要做一個數字介於 0 到 3 之間 56 00:02:48,000 --> 00:02:51,751 然後加入更多 "else" 57 00:02:51,760 --> 00:02:55,914 這代表了如果整數是 2 58 00:02:55,915 --> 00:02:59,657 我們會將顏色設為...... 因為之前是紅色我們就繼續將它設為紅色 59 00:02:59,658 --> 00:03:03,287 然後這個最後一個 "else" 會代表整數為 3 時 60 00:03:03,288 --> 00:03:07,529 將其顏色填為藍色,太棒了 61 00:03:08,479 --> 00:03:09,585 好 62 00:03:09,586 --> 00:03:13,115 所以為了完成這個,你必須每次都用一個"if 述句"開頭 63 00:03:13,116 --> 00:03:16,909 然後你就可以想要多少 "else-if" 就有多少 64 00:03:16,910 --> 00:03:18,697 然後最後面這個東西是選擇性的可有可無 65 00:03:18,698 --> 00:03:19,927 我們沒有這個也可以完成 66 00:03:19,928 --> 00:03:22,249 然而也有可能這些全部都是錯誤的 67 00:03:22,250 --> 00:03:24,161 所以沒有任何一個括號會被執行 68 00:03:24,162 --> 00:03:27,203 但是只要我們還有這些在這裡 69 00:03:27,204 --> 00:03:30,483 那麼至少有一個括號會被執行 70 00:03:30,484 --> 00:03:34,016 可以嗎?這裡有一件事情並不是那麼重要 71 00:03:34,017 --> 00:03:37,016 如果你說 if else-if else-if else 72 00:03:37,017 --> 00:03:41,928 或只是一些我們開頭就有的舊的敘述 73 00:03:41,929 --> 00:03:45,538 所以如果整數跟 3 相同 74 00:03:45,539 --> 00:03:47,727 這是因為絕對不可能 75 00:03:47,728 --> 00:03:51,197 有一個整數同時是 0, 1, 2 或是 3 76 00:03:51,198 --> 00:03:54,222 好,所以這些情況不會同時發生 77 00:03:54,223 --> 00:03:56,608 只有一種方式會被執行 78 00:03:56,609 --> 00:03:58,277 但不會永遠都是這樣 79 00:03:58,278 --> 00:04:01,635 如果我們創造一個跟這個很相似的遊戲,但我們不需要取整數? 80 00:04:01,636 --> 00:04:04,484 所以我要把取整數的這個部分刪掉 81 00:04:04,485 --> 00:04:06,639 還有另一個將圓畫到螢幕上的部份程式碼 82 00:04:06,640 --> 00:04:09,283 讓我們來制定一些新的規則 83 00:04:09,284 --> 00:04:12,636 所以我仍然在創造一些介於 0 到 3 之間的數字 84 00:04:12,637 --> 00:04:15,315 然後放一些定點在我們的數線上 85 00:04:16,815 --> 00:04:22,778 如果說這個數字介於 0 到 1 之間,我們將它填為紫色 86 00:04:23,378 --> 00:04:26,642 噢,這根本看起來不像一個 p,不過你懂的,ok 87 00:04:26,643 --> 00:04:30,503 然後如果他介於 1 和 2 之間,我們將它設定為黃色 88 00:04:30,504 --> 00:04:35,532 而如果它介於 2 和 3 之間,則設定為紅色 89 00:04:35,533 --> 00:04:39,290 太好了。讓我們來試試如何用 "if" 和 "else-if" 來設定它 90 00:04:39,291 --> 00:04:43,881 所以我由 “如果這個數字比1小” 開始 91 00:04:43,882 --> 00:04:46,015 所以如果數字比 1 小 92 00:04:46,016 --> 00:04:50,116 而我知道數字介於 0 到 3 之間 而他一定是在這個範圍裡面 93 00:04:50,956 --> 00:04:53,126 那麼我會將顏色設為紫色 94 00:04:56,066 --> 00:05:00,182 除此之外,如果數字比 2 小 95 00:05:00,844 --> 00:05:05,324 那麼我會將顏色設為黃色,255 96 00:05:06,702 --> 00:05:12,183 除此之外,我將顏色設為紅色 97 00:05:13,263 --> 00:05:16,255 太好了,如我們預想般地運作了 98 00:05:16,256 --> 00:05:19,686 所以如果數字小於1 再一次的,是這個範圍 99 00:05:19,687 --> 00:05:23,602 除此之外,如果數字介於 1 和 2 之間 100 00:05:23,603 --> 00:05:26,731 所以在這個範圍裡,我們將把顏色設為黃色 101 00:05:26,732 --> 00:05:29,859 除此之外,它必定大於或等於 2 102 00:05:29,860 --> 00:05:31,899 所以它將落在這個範圍裡 103 00:05:31,900 --> 00:05:33,276 現在有另一個情況 104 00:05:33,277 --> 00:05:36,276 當我們不能只說 “當數字小於2時” 105 00:05:36,277 --> 00:05:39,649 或是 “當數字小於3”時 106 00:05:39,650 --> 00:05:42,931 因為如果數字比1小,那麼數字就一定比2小 107 00:05:42,932 --> 00:05:44,895 那麼也將小於3 108 00:05:44,896 --> 00:05:46,780 所以我們的錢幣 將永遠是紅色的 109 00:05:46,781 --> 00:05:50,781 而這就是為什麼在這個情況裡 有 ”else-if" 會非常有幫助