转变#

介绍#

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

#

Switch Stack 块用于执行在该块的空白区域内键入的 Switch Python 命令。

它们的形状设计成可以安装在其他动作模块的上方或下方。

VEXcode 交换机模块示例,展示了一个交换机堆栈模块。#
[] :: custom-switch

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

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

当开始
[arm.move_to(120, 120, 75)] :: custom-switch

C 块#

Switch C Block 块用于循环执行块内的所有块,直到满足块内空白处的条件为止。

它们的形状设计成可以连接堆叠或其他 C 型块,无论是在其上方、下方还是内部。

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

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

  • 尽管

  • 如果

  • 为了

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

VEXcode 代码块堆栈包含一个 if then 代码块和一个 end 代码块。#
当开始
永久循环
[Continuously check if the Arm can move before moving.]
if [if arm.can_arm_reach_inc(20, 0, 0):] :: custom-switch
[手臂 v] 位置递增x:[20] y:[0] z:[0] [毫米 v] ▶
结束
结束

C 可扩展#

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

它们的形状设计成可以连接堆叠和其他 C 型块,这些 C 型块可以位于它们的上方、下方或内部。

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

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

  • 尽管

  • 如果

  • 为了

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

VEXcode 代码块堆栈包含一个 if then 代码块和一个 end 代码块。#
当开始
永久循环
[Continuously check if the Arm can move before moving.]
if [if arm.can_arm_reach_inc(20, 0, 0):] :: custom-switch-expand
[手臂 v] 位置递增x:[20] y:[0] z:[0] [毫米 v] ▶
else [else:]
在控制台上打印 [Arm can no longer move +20 mm on the x axis.]▶

布尔值#

Switch Boolean 代码块用于返回 True 或 False 值来表示一个条件。这些条件由 Python 的 Switch 函数定义。

它们的形状适合安装在任何具有六边形(六面体)输入的模块中。

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

Switch Boolean 代码块可用于单行 Switch Python 函数,该函数将直接返回真或假的结果。

可以使用运算符在单个 Switch 布尔代码块中评估多个 Switch Python 函数。这包括:

  • 或者

  • 不是

这是一个 VEXcode 开关模块示例,其中包含一个布尔模块,该模块有一行 switch Python 函数。#
<[arm.is_done()] :: custom-switch>

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

  • 大于:>

  • 少于:

  • 等于:=

  • 还可以使用其他运算符,例如 <=、!= 和 >=

这是一个使用布尔块和比较运算符的 VEXcode 开关块示例。#
<[arm.get_x()> 100] :: custom-switch>

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

VEXcode 代码块堆栈包含一个 if then 代码块和一个 end 代码块。#
当开始
永久循环
[Continuously check if the Arm can move before moving.]
如果 <[arm.can_arm_reach_inc(20, 0, 0)] :: custom-switch> 那么
[手臂 v] 位置递增x:[20] y:[0] z:[0] [毫米 v] ▶
结束
结束

记者#

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

它们的形状设计成可以安装在任何带有圆形输入口的模块中。

VEXcode 开关模块示例,展示了一个开关报告器模块。#
([] :: custom-switch)

Switch Reporter 代码块可用于直接返回数值的单行 Switch Python 函数。

可以使用数学函数在Switch Reporter模块中计算值。这包括但不限于:

  • 补充:+

  • 减法:-

  • 分配: /

  • 乘法:*

这是一个 VEXcode 开关模块示例,展示了一个带有 Python 代码的开关报告器模块,该代码包含一个加法运算符。#
([arm.get_x() + 45] :: custom-switch)

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

aria-description 写在这里#
当开始 :: hat events
[Display the position after incrementing.]
[手臂 v] 位置递增x:[50] y:[0] z:[0] [毫米 v] ▶
在控制台上打印 ([arm.get_x()] :: custom-switch)▶

帽子#

Switch Hat 模块用于在调用函数时运行所连接的模块堆栈。

它们的形状设计成可以安装在其他动作模块的上方。

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

附加的模块堆栈构成一个函数。“开关帽”模块用于定义函数名称和任何可选参数。

参数应使用圆括号括起来,并在其后加冒号,如下所示。如果函数没有参数,则使用右圆括号:()。

这是一个 VEXcode 开关模块示例,展示了一个带有 Python 函数的开关帽模块,该函数有一个参数。#
[def function_name(parameter):] :: hat custom-switch

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

VEXcode 开关模块示例,展示了一个开关帽模块和一个前进驱动模块。#
[def increment_x_50():] :: hat custom-switch
[Create a function to move the arm.]
[手臂 v] 位置递增x:(50) y:(0) z:(0) [毫米 v] ▶
当开始 :: hat events
[increment_x_50()] :: custom-switch