在 VEXcode Pro V5 中编写一个带参数的 Void 函数

有时你会想为函数给出一些特定的信息。 这将允许函数根据每次调用时收到的信息来相应地执行其任务。 下面的示例将展示它是如何工作的。


示例:一个程序画笑脸来显示使用参数

以下示例还举例说明了正确使用的全局变量。

不使用用户定义的函数:

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

For more information, help, and tips, check out the many resources at VEX Professional Development Plus