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():