The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
有时你会想为函数给出一些特定的信息。 这将允许函数根据每次调用时收到的信息来相应地执行其任务。 下面的示例将展示它是如何工作的。
示例:一个程序画笑脸来显示使用参数
以下示例还举例说明了正确使用的全局变量。
不使用用户定义的函数:
int MaxX = 484, MaxY = 278; int main() { vexcodeInit(); int centerX = MaxX/2, centerY = MaxY/2; //笑脸 Brain.Screen.drawCircle(centerX, centerY, 100); //The left eye int space = 20; /*这提供了眼睛到屏幕顶部的相对空间。 你可以随意更改这里.*/ centerX = MaxX/2+space; centerY = MaxY/2-30; Brain.Screen.drawCircle(centerX, centerY, 20); //右眼 /*...你可以在此处继续右眼的代码*/ //微笑的嘴巴 /*...你可以在此处继续微笑的嘴巴的代码 ... 等等 如果你想画一个不同尺寸的, 你将需要再次重复整个代码段 */ }
使用用户定义的函数:
int MaxX = 484,MaxY = 278; const char Left=1, Right=2; void drawFace(int size){ /*...基于调用函数的尺寸参数的人脸代码.*/ } //side == Left or Right void drawEye(char side){ /*...基于调用函数的尺寸参数的眼睛代码。*/ } //side == Left or Right void drawMouth(bool smile, int size) { /*...基于调用函数的尺寸参数的嘴巴代码。 这包含了它是否微笑或者皱眉,以及宽度。*/ } int main() { vexcodeInit(); drawFace(); drawEye(Left); drawEye(Right); //你真的可以和它得到乐趣。。。 while (true){ drawMouth(true, 30); wait(1000, msec); drawMouth(false, 30); wait(1000, msec); } }
这里显示了来自调用函数 main() 的逻辑流序列: