转变#

介绍#

Switch 模块使学生能够直接在基于模块的环境中编写 Python 代码。这种方法有助于弥合基于模块和基于文本的编程之间的差距。通过让用户了解模块命令如何转换为 Python,Switch 模块使在熟悉的界面中学习基于文本的编码技术变得更加容易。使用 Switch 模块可以简化高级逻辑、计算和函数调用,同时仍然使用常规模块。

#

Switch Stack 块用于执行在块的空白处输入的 Switch Python 命令。

它们的形状适合附着在其他动作块的上方或下方。

VEXcode 开关块示例,展示开关堆栈块#
[] :: custom-switch

Switch Stack 块可用于单行或多行 Switch Python 命令。

为了使 Switch Stack 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。

VEXcode 开关块示例,展示了一个带有开关 Python 命令的开关堆栈块,用于向前行驶 400 毫米#
当开始
[Land after 1 second.]
[drone.take_off(500)] :: custom-switch
等待 [1] 秒
土地 ▶

C 区#

Switch C Block 块用于循环内部的块,直到满足块的空白处的条件。

它们的形状适合在其上方、下方或内部连接堆栈或其他 C 块。

VEXcode 开关块示例,显示开关 C 块#
if [] :: custom-switch
结束

一些可与 Switch C 块一起使用的 Switch Python 命令包括:

  • 如果

为了使 Switch C 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。

VEXcode 开关块示例,其中开关 c 块内有文本,打印块显示“保险杠已按下”#
当开始
[Move with controller until button 7 is pressed.]
起飞至 [500] [毫米 v] ▶
if [while not controller.button7.pressing():] :: custom-switch
使用遥控器移动
结束
土地 ▶
结束

C 可扩展#

Switch C Expandable 模块用于在满足模块空白处的条件时,循环执行特定分支内的模块。可以通过扩展模块来添加其他分支。

它们的形状适合将堆栈和其他 C 块连接到其上方、下方或内部。

VEXcode 开关块示例,展示了一个开关 C 可扩展块#
if [] :: custom-switch-expand
结束

一些可与 Switch C Expandable 块一起使用的 Switch Python 命令包括:

  • 如果

为了使 Switch C Expandable 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。

当开始
[Climb up or down with buttons 5 and 6.]
起飞至 [500] [毫米 v] ▶
永久循环
if [if controller.button5.pressing():] :: custom-switch-expand
爬升 [向上 v]
else [elif controller.button6.pressing():] :: custom-switch-expand
爬升 [向下 v]
else [else:] :: custom-switch-expand
徘徊
结束
结束

布尔值#

Switch Boolean 块用于返回条件,即 TrueFalse。这些条件由 Switch Python 函数定义。

它们的形状适合放入任何具有六角形(六面)输入的块内。

VEXcode 开关布尔块#
<[] :: custom-switch>

Switch Boolean 块可用于单行 Switch Python 函数,直接报告真或假条件。

运算符可用于在单个 Switch Boolean 块中评估多个 Switch Python 函数。其中包括:

  • 不是

<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>

Switch Boolean 块还可以将 Switch Python 函数与比较运算符结合起来,使用以下运算符来评估报告的值与给定数字的比较情况:

  • 大于:

  • 小于: <

  • 等于: =

  • 可以使用 其他运算符包括 <=!==

<[drone.inertial.get_heading()> 100] :: custom-switch>

为了使Switch Boolean块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。

VEXcode 开关块示例,其中开关 c 块内有文本,打印块显示“保险杠已按下”#
当开始
[Move with controller until button 7 is pressed.]
起飞至 [500] [毫米 v] ▶
重复直到 <[controller.button7.pressing()] :: custom-switch>
使用遥控器移动
结束
土地 ▶

记者#

Switch Reporter 模块用于返回数值。这些条件由 Switch Python 函数定义。

它们的形状适合放入任何带有圆形输入的块中。

VEXcode 开关块示例,展示开关报告块#
([] :: custom-switch)

Switch Reporter 块可用于直接报告数值的单行 Switch Python 函数。

数学函数可用于计算Switch Reporter块中的值。包括但不限于:

  • 加法:+

  • 减法:-

  • 除法:/

  • 乘法:*

([drone.get_altitude() + 45] :: custom-switch)

为了使Switch Reporter块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。

当开始
[Display the altitude after climbing for 3 seconds.]
起飞至 [500] [毫米 v] ▶
爬升 [向上 v]
等待 [3] 秒
在屏幕上打印 ([drone.get_altitude()] :: custom-switch)▶
土地 ▶

帽子#

当调用该函数时,Switch Hat 块用于运行附加的块堆栈。

它们的形状适合附着在其他动作块上方。

VEXcode 开关块示例,展示了开关帽块#
[] :: hat custom-switch

附加的块堆栈是一个函数。Switch Hat 块用于定义函数的名称和任何可选参数。

参数应括在括号中,后跟冒号,如下所示。如果函数没有参数,请使用闭合括号: ()

VEXcode Switch Blocks 示例展示了一个带有 Python 函数的 Switch hat 块,该函数有一个参数#
[def function_name(parameter):] :: hat custom-switch

为了使 Switch Hat 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。

[def take_off_500():] :: hat custom-switch
[Define a custom function using Switch Hat Blocks.]
起飞至 [500] [毫米 v] ▶

当开始
[take_off_500()] :: custom-switch