WEBVTT 00:00:01.477 --> 00:00:04.184 你或者並不認識這個函式:隨機 00:00:04.184 --> 00:00:07.337 它有兩個參數:下限跟上限 00:00:07.337 --> 00:00:10.587 在這兩個參數間任意產生一個數字 00:00:10.587 --> 00:00:14.392 這個程式所產生的數字 將會介乎於0和1之間 00:00:14.392 --> 00:00:18.152 我們把這個數字以"text"函式 呈現在右邊的畫板上 00:00:18.152 --> 00:00:21.868 括號裡的最後兩個參數 是文字的x和y坐標 00:00:21.868 --> 00:00:25.558 我們能用"textSize"和"fill" 來設定文字的大小和顏色 00:00:25.558 --> 00:00:27.995 要是我反覆按「重設」數次 00:00:27.995 --> 00:00:30.245 你就能看到隨機產生出來的數字 00:00:30.245 --> 00:00:33.632 你也能看到這些數字的精準度 能達到小數點後三位 00:00:33.632 --> 00:00:35.105 現在的問題是... 00:00:35.105 --> 00:00:38.365 我怎麼才能產生零或一 這樣的整數呢? 00:00:38.365 --> 00:00:41.793 我們可以用這個叫做“round”的函式 00:00:41.793 --> 00:00:45.753 它能讓任何一個帶有小數點的數字 00:00:45.753 --> 00:00:47.923 四捨五入成距離最近的整數 00:00:47.923 --> 00:00:51.828 讓我來新增一個叫做“integer”的變數 00:00:51.828 --> 00:00:53.923 設定"round“函式 00:00:53.923 --> 00:00:55.973 我們也可以把它顯示在屏幕上 00:00:55.973 --> 00:00:58.173 只要使用"text"函式就行了 00:00:58.173 --> 00:01:00.385 先寫text(interger 00:01:00.385 --> 00:01:06.235 坐標是160和350 00:01:06.235 --> 00:01:12.115 它顯示出0.2314被四捨五入成0 00:01:12.115 --> 00:01:18.007 要是我改為4.6,捨入後就成為了5 00:01:18.007 --> 00:01:20.586 所以,如果我想隨機產出0或1 00:01:20.586 --> 00:01:24.256 我能把這個隨機而來 00:01:24.256 --> 00:01:27.366 在0與1之間的的數字 00:01:28.006 --> 00:01:30.596 放進"round"函式裡 00:01:30.596 --> 00:01:32.991 就像這樣,我把"number" 00:01:32.991 --> 00:01:35.411 這樣抄過來 00:01:35.411 --> 00:01:37.013 你現在能看到 00:01:37.013 --> 00:01:39.543 每當隨機而來的數字小於0.5 00:01:39.543 --> 00:01:41.353 它就會被捨入成0 00:01:41.353 --> 00:01:44.777 而當隨機而來的數字大於或等於0.5 00:01:44.777 --> 00:01:46.747 它就會被捨入成1 00:01:47.597 --> 00:01:51.318 也許你能聯想到一種類似於扔硬幣的遊戲 00:01:51.318 --> 00:01:54.918 如果你扔得的結果是0 你的朋友就得給你一塊錢 00:01:54.918 --> 00:01:57.588 如果你扔得的結果是1 你的朋友就得給你十塊錢 00:01:57.588 --> 00:01:58.734 這遊戲不錯,對吧? 00:01:58.734 --> 00:02:01.538 我們來看看這個扔硬幣的遊戲是怎麼玩的吧! 00:02:01.538 --> 00:02:03.328 我們用一些圓形 00:02:03.328 --> 00:02:06.088 來充當硬幣 00:02:06.088 --> 00:02:10.604 我要在畫布中間畫數個圓形 00:02:10.604 --> 00:02:12.294 這就是我們的硬幣了 00:02:12.294 --> 00:02:15.284 噢!它把數字擋住了! 我們把數字移高一點吧 00:02:16.774 --> 00:02:20.709 好了,我在想,要是我扔到0 00:02:20.709 --> 00:02:23.249 我就讓硬幣呈紫色 00:02:23.249 --> 00:02:28.079 要把硬幣呈紫色 我只要用"fill"填上紫色就行了 00:02:28.739 --> 00:02:32.948 要是我扔到1 我就讓硬幣呈黃色 00:02:32.948 --> 00:02:35.308 這枚硬幣是一面紫一面黃的 00:02:35.308 --> 00:02:37.778 幸運的是,我們對於寫if 述句已很熟練了 00:02:37.788 --> 00:02:39.333 讓這變得非常容易 00:02:39.333 --> 00:02:44.571 我們只需要說如果“integer"等於0 00:02:44.571 --> 00:02:48.221 (記得我們要用三個等號來表明相等嗎?) 00:02:48.221 --> 00:02:53.111 我們就把圓形填成紫色 00:02:53.541 --> 00:02:57.642 如果“integer"等於1 00:02:58.872 --> 00:03:01.122 我們就得使用不同的"fill"函式 00:03:02.282 --> 00:03:04.342 才能把圓形填成黃色 00:03:06.302 --> 00:03:09.428 好了,成功了!唷呼! 00:03:09.428 --> 00:03:11.408 但是,讓我們回想一下... 00:03:11.408 --> 00:03:14.248 "integer"的數值永遠都只會是0或1,對吧? 00:03:14.248 --> 00:03:15.768 是我們把它設計成這樣的 00:03:15.768 --> 00:03:18.932 那即是說,要麼這個述句的條件為真 00:03:18.932 --> 00:03:21.200 要麼這個述句的條件為真 00:03:21.200 --> 00:03:22.294 永遠都會是這樣 00:03:22.294 --> 00:03:24.680 我們已經討論過所有可能的情況了 00:03:24.680 --> 00:03:27.670 我們現在能用稍微不同的思路來做決定 00:03:27.670 --> 00:03:32.368 如果“integer”為0,硬幣便會是紫色的 00:03:33.018 --> 00:03:35.298 否則就是黃色 00:03:35.928 --> 00:03:38.239 你發現了嗎? 我們並不需要在第二種情況裡 00:03:38.239 --> 00:03:40.589 說”integer“等於1哦! 00:03:40.589 --> 00:03:41.805 我們只需要說 00:03:41.805 --> 00:03:44.875 「如果”integer“為0,就這麼做; 其他情況時,就那麼做。」 00:03:44.875 --> 00:03:47.983 在程式世界裡 我們以"else"函式代表「其他情況」 00:03:47.983 --> 00:03:49.241 來看看吧! 00:03:49.241 --> 00:03:53.101 我現在要把第二個“if”條件換成“else” 00:03:53.101 --> 00:03:54.622 那即是說 00:03:54.622 --> 00:03:57.532 如果這些括號裡的條件為真 00:03:57.532 --> 00:03:59.652 那麼就執行這個大括號內的程式碼 00:03:59.652 --> 00:04:02.427 其他情況時,就執行這個大括號內的程式碼 00:04:02.797 --> 00:04:06.260 有的時候我們甚至把“else”和尾括號放在同一行 00:04:06.260 --> 00:04:07.720 來提醒自己 00:04:07.720 --> 00:04:10.310 這兩組程式碼有非常緊密的聯繫 00:04:10.310 --> 00:04:13.801 你不能用“else”,除非前面你用了“if” 00:04:13.801 --> 00:04:14.951 明白了嗎? 00:04:15.411 --> 00:04:18.131 這也能幫助你記住 00:04:18.131 --> 00:04:23.141 不要把任何東西放在兩組程式碼之間 例如 var y 等於0 00:04:23.141 --> 00:04:26.291 不然一切就都會被打亂了! 所以別這麼做 00:04:27.031 --> 00:04:29.900 好了,現在我們認識了”if-else"這個語法 00:04:29.900 --> 00:04:32.660 在我們需要從兩種可能性之間 做取捨的時候非常有用 00:04:32.660 --> 00:04:34.458 但如果我們有更多的可能性呢? 00:04:34.458 --> 00:04:36.878 如果我要在0和2之間得出一個整數 00:04:36.878 --> 00:04:39.798 那我就有3個可能性:0、1、2 00:04:39.798 --> 00:04:42.978 那應該怎麼做呢? 下回再續吧!