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() 的逻辑流序列: