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