1 00:00:01,477 --> 00:00:04,184 你或者並不認識這個函式:隨機 2 00:00:04,184 --> 00:00:07,337 它有兩個參數:下限跟上限 3 00:00:07,337 --> 00:00:10,587 在這兩個參數間任意產生一個數字 4 00:00:10,587 --> 00:00:14,392 這個程式所產生的數字 將會介乎於0和1之間 5 00:00:14,392 --> 00:00:18,152 我們把這個數字以"text"函式 呈現在右邊的畫板上 6 00:00:18,152 --> 00:00:21,868 括號裡的最後兩個參數 是文字的x和y坐標 7 00:00:21,868 --> 00:00:25,558 我們能用"textSize"和"fill" 來設定文字的大小和顏色 8 00:00:25,558 --> 00:00:27,995 要是我反覆按「重設」數次 9 00:00:27,995 --> 00:00:30,245 你就能看到隨機產生出來的數字 10 00:00:30,245 --> 00:00:33,632 你也能看到這些數字的精準度 能達到小數點後三位 11 00:00:33,632 --> 00:00:35,105 現在的問題是... 12 00:00:35,105 --> 00:00:38,365 我怎麼才能產生零或一 這樣的整數呢? 13 00:00:38,365 --> 00:00:41,793 我們可以用這個叫做“round”的函式 14 00:00:41,793 --> 00:00:45,753 它能讓任何一個帶有小數點的數字 15 00:00:45,753 --> 00:00:47,923 四捨五入成距離最近的整數 16 00:00:47,923 --> 00:00:51,828 讓我來新增一個叫做“integer”的變數 17 00:00:51,828 --> 00:00:53,923 設定"round“函式 18 00:00:53,923 --> 00:00:55,973 我們也可以把它顯示在屏幕上 19 00:00:55,973 --> 00:00:58,173 只要使用"text"函式就行了 20 00:00:58,173 --> 00:01:00,385 先寫text(interger 21 00:01:00,385 --> 00:01:06,235 坐標是160和350 22 00:01:06,235 --> 00:01:12,115 它顯示出0.2314被四捨五入成0 23 00:01:12,115 --> 00:01:18,007 要是我改為4.6,捨入後就成為了5 24 00:01:18,007 --> 00:01:20,586 所以,如果我想隨機產出0或1 25 00:01:20,586 --> 00:01:24,256 我能把這個隨機而來 26 00:01:24,256 --> 00:01:27,366 在0與1之間的的數字 27 00:01:28,006 --> 00:01:30,596 放進"round"函式裡 28 00:01:30,596 --> 00:01:32,991 就像這樣,我把"number" 29 00:01:32,991 --> 00:01:35,411 這樣抄過來 30 00:01:35,411 --> 00:01:37,013 你現在能看到 31 00:01:37,013 --> 00:01:39,543 每當隨機而來的數字小於0.5 32 00:01:39,543 --> 00:01:41,353 它就會被捨入成0 33 00:01:41,353 --> 00:01:44,777 而當隨機而來的數字大於或等於0.5 34 00:01:44,777 --> 00:01:46,747 它就會被捨入成1 35 00:01:47,597 --> 00:01:51,318 也許你能聯想到一種類似於扔硬幣的遊戲 36 00:01:51,318 --> 00:01:54,918 如果你扔得的結果是0 你的朋友就得給你一塊錢 37 00:01:54,918 --> 00:01:57,588 如果你扔得的結果是1 你的朋友就得給你十塊錢 38 00:01:57,588 --> 00:01:58,734 這遊戲不錯,對吧? 39 00:01:58,734 --> 00:02:01,538 我們來看看這個扔硬幣的遊戲是怎麼玩的吧! 40 00:02:01,538 --> 00:02:03,328 我們用一些圓形 41 00:02:03,328 --> 00:02:06,088 來充當硬幣 42 00:02:06,088 --> 00:02:10,604 我要在畫布中間畫數個圓形 43 00:02:10,604 --> 00:02:12,294 這就是我們的硬幣了 44 00:02:12,294 --> 00:02:15,284 噢!它把數字擋住了! 我們把數字移高一點吧 45 00:02:16,774 --> 00:02:20,709 好了,我在想,要是我扔到0 46 00:02:20,709 --> 00:02:23,249 我就讓硬幣呈紫色 47 00:02:23,249 --> 00:02:28,079 要把硬幣呈紫色 我只要用"fill"填上紫色就行了 48 00:02:28,739 --> 00:02:32,948 要是我扔到1 我就讓硬幣呈黃色 49 00:02:32,948 --> 00:02:35,308 這枚硬幣是一面紫一面黃的 50 00:02:35,308 --> 00:02:37,778 幸運的是,我們對於寫if 述句已很熟練了 51 00:02:37,788 --> 00:02:39,333 讓這變得非常容易 52 00:02:39,333 --> 00:02:44,571 我們只需要說如果“integer"等於0 53 00:02:44,571 --> 00:02:48,221 (記得我們要用三個等號來表明相等嗎?) 54 00:02:48,221 --> 00:02:53,111 我們就把圓形填成紫色 55 00:02:53,541 --> 00:02:57,642 如果“integer"等於1 56 00:02:58,872 --> 00:03:01,122 我們就得使用不同的"fill"函式 57 00:03:02,282 --> 00:03:04,342 才能把圓形填成黃色 58 00:03:06,302 --> 00:03:09,428 好了,成功了!唷呼! 59 00:03:09,428 --> 00:03:11,408 但是,讓我們回想一下... 60 00:03:11,408 --> 00:03:14,248 "integer"的數值永遠都只會是0或1,對吧? 61 00:03:14,248 --> 00:03:15,768 是我們把它設計成這樣的 62 00:03:15,768 --> 00:03:18,932 那即是說,要麼這個述句的條件為真 63 00:03:18,932 --> 00:03:21,200 要麼這個述句的條件為真 64 00:03:21,200 --> 00:03:22,294 永遠都會是這樣 65 00:03:22,294 --> 00:03:24,680 我們已經討論過所有可能的情況了 66 00:03:24,680 --> 00:03:27,670 我們現在能用稍微不同的思路來做決定 67 00:03:27,670 --> 00:03:32,368 如果“integer”為0,硬幣便會是紫色的 68 00:03:33,018 --> 00:03:35,298 否則就是黃色 69 00:03:35,928 --> 00:03:38,239 你發現了嗎? 我們並不需要在第二種情況裡 70 00:03:38,239 --> 00:03:40,589 說”integer“等於1哦! 71 00:03:40,589 --> 00:03:41,805 我們只需要說 72 00:03:41,805 --> 00:03:44,875 「如果”integer“為0,就這麼做; 其他情況時,就那麼做。」 73 00:03:44,875 --> 00:03:47,983 在程式世界裡 我們以"else"函式代表「其他情況」 74 00:03:47,983 --> 00:03:49,241 來看看吧! 75 00:03:49,241 --> 00:03:53,101 我現在要把第二個“if”條件換成“else” 76 00:03:53,101 --> 00:03:54,622 那即是說 77 00:03:54,622 --> 00:03:57,532 如果這些括號裡的條件為真 78 00:03:57,532 --> 00:03:59,652 那麼就執行這個大括號內的程式碼 79 00:03:59,652 --> 00:04:02,427 其他情況時,就執行這個大括號內的程式碼 80 00:04:02,797 --> 00:04:06,260 有的時候我們甚至把“else”和尾括號放在同一行 81 00:04:06,260 --> 00:04:07,720 來提醒自己 82 00:04:07,720 --> 00:04:10,310 這兩組程式碼有非常緊密的聯繫 83 00:04:10,310 --> 00:04:13,801 你不能用“else”,除非前面你用了“if” 84 00:04:13,801 --> 00:04:14,951 明白了嗎? 85 00:04:15,411 --> 00:04:18,131 這也能幫助你記住 86 00:04:18,131 --> 00:04:23,141 不要把任何東西放在兩組程式碼之間 例如 var y 等於0 87 00:04:23,141 --> 00:04:26,291 不然一切就都會被打亂了! 所以別這麼做 88 00:04:27,031 --> 00:04:29,900 好了,現在我們認識了”if-else"這個語法 89 00:04:29,900 --> 00:04:32,660 在我們需要從兩種可能性之間 做取捨的時候非常有用 90 00:04:32,660 --> 00:04:34,458 但如果我們有更多的可能性呢? 91 00:04:34,458 --> 00:04:36,878 如果我要在0和2之間得出一個整數 92 00:04:36,878 --> 00:04:39,798 那我就有3個可能性:0、1、2 93 00:04:39,798 --> 00:04:42,978 那應該怎麼做呢? 下回再續吧!