雖然初學者程式設計師更傾向於使用基於區塊的介面,但更高級的學生可能有興趣使用基於文字的程式語言(例如 Python)來編寫機器人。 從歷史上看,這種從區塊到基於文字的程式設計的轉變對學生來說就像學習一種全新的語言,他們無法應用先前使用區塊學到的邏輯。1 VEXcode VR Switch 的開發是為了促進從基於區塊的程式設計到基於文字的程式設計的過渡。 本文將介紹如何使用 VEXcode VR Switch 並引導您完成一個課堂場景,以便在上下文中解釋和說明這些功能。
使用開關塊
Switch 結合了基於區塊的程式設計的熟悉元素,並整合了可以鍵入文字命令的文字方塊。 這使得學生在學習 Python 的命令和語法時可以慢慢過渡到文本。
Switch 為學生提供了從 Block 到基於文本的編碼的天然橋樑。 當學生熟悉命令的邏輯和順序時,他們可以開始一次一個區塊地轉換專案。
這使得學生能夠繼續使用基於區塊的程式的邏輯流程,在其中他們可以物理地看到諸如循環環繞其他區塊之類的東西,同時也開始自己嘗試文字命令。 一旦區塊轉換為 Switch,學生就可以輕鬆更改參數並開始理解文字命令的語法。 本節將引導您了解學生如何使用 Switch,並解釋如何在 VEXcode VR 專案中使用這些區塊。
Switch 可透過 VEXcode VR Premium 授權使用。 在此處了解有關 VEXcode VR 訂閱的更多資訊。
獲得許可證後, 了解如何使用本文中的資訊存取 Switch。
課堂切換
Austin 是一名學生,多年來一直使用區塊進行編碼。 雖然班上的一些學生仍然是新程式設計師,但 Austin 希望更多地了解 Python 以及如何使用文字對 VR 機器人進行編碼。 電腦科學老師 Hunter 女士注意到 Austin 已經準備好迎接額外的挑戰,並介紹了 Switch 來幫助 Austin 的學習並引入基於文字的編碼。 Hunter 女士示範了一些基礎知識,例如轉換區塊和開啟說明以了解有關每個區塊的 Switch Python 命令的更多資訊。
今天,Hunter 女士將 珊瑚礁清理活動 分配給全班。 她在編碼課程中使用 VEXcode VR,因為她知道她可以區分教學,並透過相同的活動吸引不同編碼程度的學生。 切換模式有助於促進像奧斯汀這樣的學生的差異化。 在珊瑚礁清理活動中,目標是在 VR 機器人的電池耗盡之前收集盡可能多的垃圾。 在了解挑戰以及如何編寫基本演算法後,Austin 創建了一個 VEXcode VR 項目,該項目使用下眼感測器來檢測遊樂場的邊界並倒車以避免傷害珊瑚。
將單一塊轉換為開關
轉換1塊
現在 Austin 已經有了一個已經測試並驗證有效的項目,下一步是將一個區塊轉換為 Switch,以便開始探索 Python。
透過長按或右鍵單擊區塊,然後選擇“轉換為開關塊”選項,可以將區塊轉換為開關,如此處的影片所示。
Austin 現在可以看到 [Drive for] 區塊變成了 Python 指令。 轉換後,奧斯汀運行該項目以確保其仍按預期工作。 轉換後,Austin 想要了解更多有關 命令的資訊。 透過開啟 [Drive for] 區塊的幫助,Austin 可以在該區塊的參數與 Python 命令之間建立連線。
使用幫助了解有關 Switch Python 命令的更多信息
打開幫助
為了查看幫助中的 Switch Python Command 訊息,Austin 打開幫助視窗並選擇 [Drive for] 區塊,然後滾動到底部,如影片中所示。
亨特女士檢查後發現奧斯汀正在了解更多有關 [Drive for] 區塊的資訊。 她要求他應用從轉換區塊和輸入新區塊中學到的知識。 她展示如何將 Switch 區塊拖入其中,並讓 Austin 嘗試在區塊中鍵入 Turn_for 命令。 Austin 打開該塊的幫助並記下該命令的結構。
在開關塊中鍵入
新增一個區塊
Austin 透過查看幫助了解了 Python 命令,因此想要直接在 Switch 區塊中鍵入內容。 Austin 從工具箱中拖曳出一個 [Switch Stack] 區塊,將其新增至 [Turn for] 區塊上方。
在區塊中輸入
然後 Austin 使用遊標選擇 Switch 區塊並開始輸入 Turn_for Python 指令,如下所示。
輸入新指令並確保參數與原始區塊相符後,即可刪除[Turn for]區塊。
亨特女士過來檢查奧斯汀的進展。 她看到 Switch 專案並要求查看它運行以確保命令輸入正確。 在驗證專案有效後,她示範了另一個功能—多行區塊。
複製及貼上
[Switch Stack] 區塊中可以輸入多行程式碼。 Austin 複製 Turn_for 文字並將其貼上到上面的區塊中,如此處影片所示。
Austin 發現,透過按下鍵盤上的“enter”或“return”,可以將其他行添加到區塊中,並繼續添加 Python 命令。
Austin 感覺自己就像是 Python 中的傳動系統命令大師,他列印出一份證書並保存該項目以供下次使用。
將堆疊轉換為交換機
在學年晚些時候,亨特女士重新審視珊瑚礁清理活動,並挑戰學生要么獲得更高的分數,要么使用基於文本的編碼。 雖然 Austin 一直在 Switch 區塊中使用 Drivetrain 命令,但此活動是了解更多關於 Python 中「C」區塊和布林值的等效內容的機會。
轉換包裝器
Austin 長按或右鍵單擊 [If then else] 區塊,然後選擇「將包裝器和內容轉換為切換區塊」。 這會將循環及其內容轉換為單一 Switch 區塊。
注意轉換完成後的縮排。 一個 Switch 區塊中的多個命令必須具有正確的縮排才能按預期工作。
附加開關塊
雖然 Austin 一直專門使用 [Switch Stack] 區塊,但還有其他可用的 Switch 區塊。 奧斯汀準備提交一個改進的珊瑚礁清理項目,但與亨特女士制定了一個計劃,在下一堂課中嘗試一種新型的開關塊,如下所列。
開關塊遵循與其他塊相同的形狀約定。 下表顯示了區塊形狀、其含義以及相同類型的 Switch 區塊之間的比較。
| 塊狀 | 描述 | 區塊範例 | 開關範例 |
|---|---|---|---|
| 帽子積木 | 開始一堆塊並調整其形狀以將塊附加在它們下面。 | ||
| 堆疊塊 | 執行主要命令。 它們的形狀適合附著在其他堆疊塊的上方或下方。 | ||
| 布爾塊 | 傳回一個條件為 true 或 false,並適合其他區塊的具有六邊形(六邊形)輸入的任何區塊。 | ||
| 記者區塊 | 以數字形式報告值,並適合任何區塊,其他區塊具有橢圓形輸入。 | ||
| C區塊 | 循環其中的區塊或檢查條件是真還是假。 它們的形狀可以將堆疊塊附著在其上方、下方或內部。 |
|
|
把它們放在一起
當 Hunter 女士觀看 Austin 測試在 Switch 區塊中輸入不同的 Python 指令時,她可以看到 Switch 如何幫助她的學生建立自己的學習框架。 她的學生在開始上課之前都有不同的編碼經歷,VEXcode VR 中的挑戰使他們能夠按照自己的水平進行編碼。 有些學生只使用 Blocks 進行編碼,有些則使用 Python,有些學生(例如 Austin)使用 Switch 過渡到 Python 編碼。 在接下來的幾個月裡,Austin 開始專門使用 Python 進行編碼,運用從 Switch 中學到的知識,使從區塊到文字的轉換變得更加容易和流暢。
VEXcode VR Switch 讓像 Hunter 女士這樣的教師成為學習的促進者,而所有不同編碼程度的學生都可以完成相同的挑戰。 一直以來,像 Austin 這樣的學生在使用 VEXcode VR Switch 從區塊過渡到文字時,都感到自己有能力嘗試解決編碼活動的新方法。