虽然初学者程序员更倾向于使用基于块的界面,但更高级的学生可能有兴趣使用基于文本的编程语言(例如 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 从块过渡到文本时,都感到自己有能力尝试解决编码活动的新方法。