控制#

介紹#

VEXcode 123 中的控制區塊透過處理循環、條件和延遲區塊的運作來管理專案的流程。

循環是指電腦重複執行相同的步驟或步驟群組,直到收到停止指令為止。條件是計算機用來決定下一步操作的規則。例如,如果眼部感知器偵測到物體,則車輛向前行駛。

以下是可用模組列表:

  • wait – 暫停程式碼區塊運行指定的時間。

  • wait until – 暫停程式碼區塊運行,直到滿足指定的條件。

  • repeat – 將一組程式碼區塊重複指定次數。

  • forever – 無限重複一組方塊。

  • repeat until – 重複執行一組程式碼區塊,直到滿足某個條件。

  • while – 當條件為真時,重複執行一組程式碼區塊。

  • if – 若條件為真,則執行一組程式碼區塊。

  • if / else – 如果條件為真,則執行一組程式碼區塊;否則,執行另一組程式碼區塊。

  • if / else if / else – 根據多個條件執行不同的程式碼區塊集。

  • break – 立即退出 repeat、forever、repeat until 或 while 循環。

  • 停止專案 – 結束專案。

等待#

wait 堆疊區塊會在執行下一個程式碼區塊之前暫停目前程式碼區塊運行一段時間。

等待堆疊塊#
等待 (1) 秒

參數

描述

時間

等待時間,以秒為單位,表示為正整數或小數。

例子

當開始時 :: hat events
[Drive forward then stop.]
行駛 [前方 v]
等待 (2) 秒
停止行駛

等到#

等待直到堆疊區塊會暫停程式碼區塊的運行,直到滿足指定的條件後才會執行下一個程式碼區塊。

等待直到堆疊塊#
等待直到 <>

參數

描述

狀態

進入下一模組之前必須滿足的條件。

例子

當開始時 :: hat events
[Drive forward when the sound button is pressed.]
等待直到 <[soundIcon v] 按下?>
行駛 [前方 v] [200] [mm v]

重複#

repeat C 程式碼區塊會執行其內部程式碼區塊設定的次數。

重複 c 塊#
重複 [10] 次
結束

參數

描述

時代

一個整數,用於設定重複區塊運行的次數。

例子

當開始時 :: hat events
[Drive in a square pattern.]
重複 [4] 次
行駛 [前方 v] [200] [mm v]
向 [右 v] 轉 [90] 度

永遠#

永遠運行的C程式碼區塊會不停地重複執行它內部的程式碼區塊。

永遠的C塊#
永遠
結束

參數

描述

此程式碼區塊沒有參數。

例子

當開始時 :: hat events
[Blink LED light in a pattern.]
永遠
發光 [綠色 v]
等待 [0.5] 秒
發光 [關 v]
等待 [0.5] 秒

重複直到#

repeat until C 程式碼區塊會重複執行其內部的程式碼區塊,直到滿足指定的條件為止。

重複直至阻塞#
重複直到 <>
結束

參數

描述

狀態

每次循環前都會檢查一個表達式或變數。如果該表達式或變數為False,則程式碼區塊繼續重複執行;如果該表達式或變數為True,則循環停止。

例子

當開始時 :: hat events
[Blink LED light until the sound button is pressed.]
重複直到 <[soundIcon v] 按下?>
發光 [綠色 v]
等待 [0.5] 秒
發光 [關 v]
等待 [0.5] 秒

儘管#

while C 程式碼區塊會在滿足指定條件時重複執行其內部的程式碼區塊。

當 c 塊#
當 <>
結束

參數

描述

狀態

每次循環前都會檢查一個表達式或變數。如果為真,則程式碼區塊繼續重複執行;如果為假,則循環停止。

例子

當開始時 :: hat events
[Turn the robot around.]
當 <(行駛航向(度)) [math_less_than v] [180]>
向 [右 v] 轉
結束
停止行駛

如果#

if C 程式碼區塊會在條件為True時執行其內部的程式碼區塊。

如果阻塞#
如果 <> 則
結束

參數

描述

狀態

語句運行時會檢查一個表達式或變數。如果該表達式或變數為真,則執行if程式碼區塊內的程式碼區塊;如果該表達式或變數為假,則跳過這些程式碼區塊。

例子

當開始時 :: hat events
[Drive forward whenever the sound button is pressed.]
永遠
如果 <[soundIcon v] 按下?> 則
行駛 [前方 v] [200] [mm v]

如果/否則#

if / else C 程式碼區塊根據條件是真還是假來決定要執行哪一組程式碼區塊。

如果則否則阻止#
如果 <> 則
否則
結束

參數

描述

狀態

語句運行時會檢查一個表達式或變數。如果它為真,則執行if程式碼區塊內的程式碼區塊。如果它為假,則執行else程式碼區塊內的程式碼區塊。

例子

當開始時 :: hat events
[Drive forward until a crash.]
永遠
如果 <偵測到碰撞?> 則
停止行駛
否則
行駛 [前方 v] [200] [mm v]

如果/否則如果/否則#

if / else if / else 可擴充 C 程式碼區塊依條件選擇要執行哪一組程式碼區塊:

  • 如果條件評估結果為True,則if 執行其程式碼區塊。

  • else if 語句僅在所有先前條件都為 False 時才會檢查其他條件。可以使用多個 else if 語句。

  • 否則,僅當前面所有條件皆不為真時,才會執行其程式碼區塊。

如果否則如果否則阻塞#
如果 <> 則
否則如果 <> 則
否則
結束

參數

描述

狀態

語句運行時會檢查一個表達式或變數。第一個為真的條件會執行該組代碼區塊。如果所有條件都為假,則會執行else程式碼區塊內的程式碼區塊。

例子

當開始時 :: hat events
[Turn right for the right button, left for the left button.]
永遠
如果 <[ifbuttonright v] 按下?> 則
向 [右 v] 轉
否則如果 <[ifbuttonleft v] 按下?> 則
向 [左 v] 轉
否則
停止行駛

休息#

break 程式碼區塊會立即退出循環。此程式碼區塊可以用於 repeat、repeat until、while 和 forever 程式碼區塊中。當循環需要根據專案運行過程中發生的事件(例如按鈕被按下或感測器偵測到物體)提前停止時,break 非常有用。

中斷堆疊區塊#
中斷

參數

描述

此程式碼區塊沒有參數。

例子

當開始時 :: hat events
[Flash the LED until the sound button is pressed.]
永遠
發光 [綠色 v]
等待 [0.5] 秒
發光 [藍色 v]
等待 [0.5] 秒
如果 <[soundIcon v] 按下?> 則
中斷

停止項目#

停止專案堆疊區塊會結束正在執行的專案。

停止項目阻塞#
停止專案

參數

描述

此程式碼區塊沒有參數。

例子

當開始時 :: hat events
[Stop the project after a crash.]
永遠
行駛 [前方 v]
如果 <偵測到碰撞?> 則
停止專案