Escribir una función nula con parámetros en VEXcode Pro V5

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.

Habrá ocasiones en las que le gustaría brindar información específica a la función. Esto permitirá que la función realice su tarea en consecuencia en función de la información recibida cada vez que se llame. El siguiente ejemplo mostrará cómo funciona.


Ejemplo: Un programa dibuja una carita sonriente para mostrar usando parámetros.

El siguiente ejemplo también ejemplifica variables globales que se utilizan correctamente.

Sin utilizar una función definida por el usuario:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

  int centerX = MaxX/2, centerY = MaxY/2;

  //La cara
	Brain.Screen.drawCircle(centerX, centerY, 100);

  //El ojo izquierdo
  int space = 20; /*Esto proporciona el espaciado para el ojo en relación con la parte superior de la pantalla. Puedes ajustarlo como quieras.*/
  centroX = MaxX/2+espacio;
  centroY = MaxY/2-30;
  Brain.Screen.drawCircle(centroX, centroY, 20);

  //El ojo derecho  
  /*...puedes continuar haciendo el código para el ojo derecho aquí*/

  //La boca sonriente
  /*...puedes continuar haciendo el código para la boca sonriente aquí
    ... etc.
    Si quieres dibujar un tamaño diferente, tendrás que repetir todo el conjunto de códigos de nuevo.
    */
}

Con una función definida por el usuario:

int MaxX = 484, MaxY = 278;
const char Left=1, Right=2;

void drawFace(int size){
  /*...código para la cara basado en el parámetro de tamaño de la función que llama.*/

}

//lado == Izquierda o Derecha
void drawEye(char side){
  /*...código para el ojo basado en el parámetro de tamaño de la función que llama.*/
}

//lado == Izquierda o Derecha
void drawMouth(bool smile, int size){
  /*...código para la boca basado en el parámetro de tamaño de la función que llama. Esto incluye si está sonriendo o frunciendo el ceño, así como el ancho.*/
}

int main() { 
  vexcodeInit();

  drawFace();
  drawEye(Left);
  drawEye(Right);

  //realmente puedes divertirte con esto...
  while (true){
    drawMouth(true, 30);
    wait(1000, msec);
    drawMouth(false, 30);
    wait(1000, msec);
  }  
}

El siguiente video muestra cómo fluye la secuencia lógica desde la función que realiza la llamada, main():

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

Last Updated: