If/Else 第一部份 (影像版)
-
0:01 - 0:04你或者並不認識這個函式:隨機
-
0:04 - 0:07它有兩個參數:下限跟上限
-
0:07 - 0:11在這兩個參數間任意產生一個數字
-
0:11 - 0:14這個程式所產生的數字
將會介乎於0和1之間 -
0:14 - 0:18我們把這個數字以"text"函式
呈現在右邊的畫板上 -
0:18 - 0:22括號裡的最後兩個參數
是文字的x和y坐標 -
0:22 - 0:26我們能用"textSize"和"fill"
來設定文字的大小和顏色 -
0:26 - 0:28要是我反覆按「重設」數次
-
0:28 - 0:30你就能看到隨機產生出來的數字
-
0:30 - 0:34你也能看到這些數字的精準度
能達到小數點後三位 -
0:34 - 0:35現在的問題是...
-
0:35 - 0:38我怎麼才能產生零或一
這樣的整數呢? -
0:38 - 0:42我們可以用這個叫做“round”的函式
-
0:42 - 0:46它能讓任何一個帶有小數點的數字
-
0:46 - 0:48四捨五入成距離最近的整數
-
0:48 - 0:52讓我來新增一個叫做“integer”的變數
-
0:52 - 0:54設定"round“函式
-
0:54 - 0:56我們也可以把它顯示在屏幕上
-
0:56 - 0:58只要使用"text"函式就行了
-
0:58 - 1:00先寫text(interger
-
1:00 - 1:06坐標是160和350
-
1:06 - 1:12它顯示出0.2314被四捨五入成0
-
1:12 - 1:18要是我改為4.6,捨入後就成為了5
-
1:18 - 1:21所以,如果我想隨機產出0或1
-
1:21 - 1:24我能把這個隨機而來
-
1:24 - 1:27在0與1之間的的數字
-
1:28 - 1:31放進"round"函式裡
-
1:31 - 1:33就像這樣,我把"number"
-
1:33 - 1:35這樣抄過來
-
1:35 - 1:37你現在能看到
-
1:37 - 1:40每當隨機而來的數字小於0.5
-
1:40 - 1:41它就會被捨入成0
-
1:41 - 1:45而當隨機而來的數字大於或等於0.5
-
1:45 - 1:47它就會被捨入成1
-
1:48 - 1:51也許你能聯想到一種類似於扔硬幣的遊戲
-
1:51 - 1:55如果你扔得的結果是0
你的朋友就得給你一塊錢 -
1:55 - 1:58如果你扔得的結果是1
你的朋友就得給你十塊錢 -
1:58 - 1:59這遊戲不錯,對吧?
-
1:59 - 2:02我們來看看這個扔硬幣的遊戲是怎麼玩的吧!
-
2:02 - 2:03我們用一些圓形
-
2:03 - 2:06來充當硬幣
-
2:06 - 2:11我要在畫布中間畫數個圓形
-
2:11 - 2:12這就是我們的硬幣了
-
2:12 - 2:15噢!它把數字擋住了!
我們把數字移高一點吧 -
2:17 - 2:21好了,我在想,要是我扔到0
-
2:21 - 2:23我就讓硬幣呈紫色
-
2:23 - 2:28要把硬幣呈紫色
我只要用"fill"填上紫色就行了 -
2:29 - 2:33要是我扔到1
我就讓硬幣呈黃色 -
2:33 - 2:35這枚硬幣是一面紫一面黃的
-
2:35 - 2:38幸運的是,我們對於寫if 述句已很熟練了
-
2:38 - 2:39讓這變得非常容易
-
2:39 - 2:45我們只需要說如果“integer"等於0
-
2:45 - 2:48(記得我們要用三個等號來表明相等嗎?)
-
2:48 - 2:53我們就把圓形填成紫色
-
2:54 - 2:58如果“integer"等於1
-
2:59 - 3:01我們就得使用不同的"fill"函式
-
3:02 - 3:04才能把圓形填成黃色
-
3:06 - 3:09好了,成功了!唷呼!
-
3:09 - 3:11但是,讓我們回想一下...
-
3:11 - 3:14"integer"的數值永遠都只會是0或1,對吧?
-
3:14 - 3:16是我們把它設計成這樣的
-
3:16 - 3:19那即是說,要麼這個述句的條件為真
-
3:19 - 3:21要麼這個述句的條件為真
-
3:21 - 3:22永遠都會是這樣
-
3:22 - 3:25我們已經討論過所有可能的情況了
-
3:25 - 3:28我們現在能用稍微不同的思路來做決定
-
3:28 - 3:32如果“integer”為0,硬幣便會是紫色的
-
3:33 - 3:35否則就是黃色
-
3:36 - 3:38你發現了嗎?
我們並不需要在第二種情況裡 -
3:38 - 3:41說”integer“等於1哦!
-
3:41 - 3:42我們只需要說
-
3:42 - 3:45「如果”integer“為0,就這麼做;
其他情況時,就那麼做。」 -
3:45 - 3:48在程式世界裡
我們以"else"函式代表「其他情況」 -
3:48 - 3:49來看看吧!
-
3:49 - 3:53我現在要把第二個“if”條件換成“else”
-
3:53 - 3:55那即是說
-
3:55 - 3:58如果這些括號裡的條件為真
-
3:58 - 4:00那麼就執行這個大括號內的程式碼
-
4:00 - 4:02其他情況時,就執行這個大括號內的程式碼
-
4:03 - 4:06有的時候我們甚至把“else”和尾括號放在同一行
-
4:06 - 4:08來提醒自己
-
4:08 - 4:10這兩組程式碼有非常緊密的聯繫
-
4:10 - 4:14你不能用“else”,除非前面你用了“if”
-
4:14 - 4:15明白了嗎?
-
4:15 - 4:18這也能幫助你記住
-
4:18 - 4:23不要把任何東西放在兩組程式碼之間
例如 var y 等於0 -
4:23 - 4:26不然一切就都會被打亂了!
所以別這麼做 -
4:27 - 4:30好了,現在我們認識了”if-else"這個語法
-
4:30 - 4:33在我們需要從兩種可能性之間
做取捨的時候非常有用 -
4:33 - 4:34但如果我們有更多的可能性呢?
-
4:34 - 4:37如果我要在0和2之間得出一個整數
-
4:37 - 4:40那我就有3個可能性:0、1、2
-
4:40 - 4:43那應該怎麼做呢?
下回再續吧!
Catherine Ma edited Chinese, Traditional subtitles for If/Else Part 1 (Video Version) | ||
Catherine Ma edited Chinese, Traditional subtitles for If/Else Part 1 (Video Version) | ||
Catherine Ma edited Chinese, Traditional subtitles for If/Else Part 1 (Video Version) |