Return to Video

If述句(影像版)

  • 0:01 - 0:03
    唷呼!另一個動畫
  • 0:03 - 0:05
    這次我們有顆球在螢幕上移動
  • 0:05 - 0:07
    而你們知道這是如何辦到的
  • 0:07 - 0:10
    我們的變數"x"代表這顆球的位置
  • 0:10 - 0:14
    另一個變數"速度"代表這顆球每次移動的距離
  • 0:14 - 0:15
    及熟悉的繪圖迴圈
  • 0:15 - 0:17
    用來重新繪製每一次的背景
  • 0:17 - 0:20
    設定填充顏色並在x位置畫一個橢圓形
  • 0:20 - 0:21
    且每一次
  • 0:21 - 0:24
    我們要將x改回舊的x值
  • 0:24 - 0:26
    再加上"速度" 這個變數
  • 0:26 - 0:33
    所以若我使"速度"減小
    球移動的速度就慢一點
  • 0:33 - 0:36
    也可以使"速度"為負數,則球向後移動
  • 0:36 - 0:38
    或使它為零,則球會停止移動
  • 0:38 - 0:41
    但只要速度不為零
  • 0:41 - 0:44
    最終球將會移到螢幕外
  • 0:44 - 0:46
    我可以按重新開始鍵把它帶回來
  • 0:46 - 0:50
    但你知道,一段時間後,就膩了
  • 0:50 - 0:52
    重來,再重來
  • 0:52 - 0:56
    所以何不試試這個?當球觸及螢幕右邊邊界時
  • 0:56 - 0:59
    與其像現在這樣超出螢幕的邊界
  • 0:59 - 1:00
    我想讓它轉個彎
  • 1:00 - 1:07
    而且,我知道如何讓球轉彎
    我只需要說:"速度"為負5
  • 1:07 - 1:10
    若我使速度為負,則球會向後走
  • 1:10 - 1:12
    但這有個問題
  • 1:12 - 1:18
    我只想在當球觸及右邊邊界時,
    才去改變速度的值
  • 1:18 - 1:20
    我想我已經說了
  • 1:20 - 1:26
    我只想在球觸及右邊邊界時,
    才去改變速度的值
  • 1:26 - 1:28
    我想這裡需要一個if述句
  • 1:28 - 1:30
    到目前為止,我們只下達
  • 1:30 - 1:32
    電腦無論如何就去執行的指令
  • 1:32 - 1:34
    if述句是一種方式去說:
  • 1:34 - 1:36
    「嘿,夥計,我要你去執行這個程式碼
  • 1:36 - 1:39
    但僅只在這些特定的條件下。」
  • 1:39 - 1:43
    「所以,只有當球已觸及右邊邊界時,才改變速度」
  • 1:43 - 1:45
    而這是它在程式碼中看起來的樣子
  • 1:45 - 1:48
    你要做的就是打上"IF"
  • 1:48 - 1:51
    一對小括號,一對大括號
  • 1:51 - 1:54
    在小括號內,填入條件
  • 1:54 - 1:58
    在大括號內,填入要執行的程式碼
  • 1:58 - 2:01
    它運作的方式是:
    「若此條件為真,
  • 2:01 - 2:04
    則執行此程式碼;
    否則,就不執行。」
  • 2:04 - 2:08
    在我們的例子中,條件指的是
    球觸及右邊邊界
  • 2:08 - 2:10
    我們如何得知
    球是否已觸及右邊邊界呢?
  • 2:10 - 2:14
    我們有變數x,告訴我們球的位置
  • 2:14 - 2:23
    且我知道畫布邊緣的x位置為400
    所以來看一下
  • 2:23 - 2:26
    當x大於400時
  • 2:26 - 2:30
    則我們知道球已經些微超過右邊邊界
  • 2:30 - 2:32
    來看一下那是如何運作的
  • 2:32 - 2:39
    再來看要執行的程式碼,我們之前已經說過,
    我們改變速度,使之為負5。
  • 2:39 - 2:42
    我們來看看按重新開始會發生什麼事
  • 2:42 - 2:46
    這次,當球觸及右邊邊界時,
    它彈回來了!耶!
  • 2:46 - 2:48
    然後持續走到螢幕外
  • 2:48 - 2:50
    但沒關係,我們可以對另一邊做相同的事
  • 2:50 - 2:53
    這一次,我們想確認球是否已觸及左邊邊界
  • 2:53 - 2:58
    也就是當x小於零時
  • 2:58 - 3:03
    而我們想做的是使速度再次為正,
    於是指定速度為5
  • 3:04 - 3:07
    好了,然後我們按下重新開始
  • 3:07 - 3:11
    而這次...........蹦..........
  • 3:11 - 3:14
    蹦...........蹦..........
  • 3:15 - 3:17
    耶!成功了
  • 3:17 - 3:20
    我們來檢查看看球是否已經超出邊界
  • 3:20 - 3:24
    它好像有一點超出邊界
  • 3:24 - 3:27
    如果你記得,這兩個參數控制
  • 3:27 - 3:29
    橢圓形中心點的位置
  • 3:29 - 3:33
    而現在,當中心點觸及邊界的同時
  • 3:33 - 3:37
    一半的橢圓形已經超出邊界
  • 3:37 - 3:40
    所以若我們想修正它,只需早一點使橢圓形停止
  • 3:40 - 3:46
    邊界在400這裡,
    而我們希望當橢圓形到這裡時停止
  • 3:46 - 3:53
    可以從功能呼叫知道橢圓形寬為50
  • 3:53 - 3:59
    那表示從中心點到邊緣為25
  • 3:59 - 4:03
    所以我們希望當中心點到達375時停止
  • 4:03 - 4:06
    也就是400減去25
  • 4:06 - 4:08
    代替檢查x是否大於400
  • 4:08 - 4:11
    我們改為檢查x是否大於375
  • 4:11 - 4:13
    代替檢查x是否大於0
  • 4:13 - 4:16
    改為檢查x是否小於25
  • 4:17 - 4:21
    現在超完美的!耶!
    看看球彈跳的樣子
Title:
If述句(影像版)
Description:

這僅是我們互動程式編輯教學的螢幕擷取,用以簡易化字幕編輯及翻譯。最好上:https://www.khanacademy.org/cs/programming/觀看我們的教學影片。

more » « less
Video Language:
English
Duration:
04:23

Chinese, Traditional subtitles

Revisions