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