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.
Il y aura des moments où vous souhaiterez donner des informations spécifiques à la fonction. Cela permettra à la fonction d'effectuer sa tâche en conséquence sur la base des informations reçues à chaque appel. L'exemple suivant montrera comment cela fonctionne.
Exemple : Un programme dessine un visage souriant à afficher à l'aide de paramètres
L'exemple suivant illustre également les variables globales utilisées correctement.
Sans utiliser de fonction définie par l'utilisateur :
int MaxX = 484, MaxY = 278 ;
int main() {
vexcodeInit();
int centreX = MaxX/2, centreY = MaxY/2 ;
//Le visage
Brain.Screen.drawCircle(centerX, centerY, 100);
//L'œil gauche
int space = 20; /* Ceci fournit l'espacement de l'œil par rapport au haut de l'écran. Vous pouvez ajuster cela comme vous le souhaitez.*/
centerX = MaxX/2+space;
centreY = MaxY/2-30 ;
Brain.Screen.drawCircle(centerX, centerY, 20);
//L'œil droit
/*...vous pouvez continuer à faire le code de l'œil droit ici*/
//La bouche souriante
/*...vous pouvez continuer à faire le code de la bouche souriante ici
... etc.
Si vous souhaitez dessiner une taille différente, vous devrez répéter à nouveau l'ensemble des codes.
*/
}
Avec une fonction définie par l'utilisateur :
int MaxX = 484, MaxY = 278 ;
const char Gauche=1, Droite=2 ;
void drawFace(int size){
/*...code pour le visage basé sur le paramètre de taille de la fonction appelante.*/
}
//side == Left ou Right
void drawEye(char side){
/*...code pour l'œil basé sur le paramètre de taille de la fonction appelante.*/
}
//side == Left or Right
void drawMouth(bool smile, int size){
/*...code pour la bouche en fonction du paramètre de taille de l'appelant. Cela inclut s'il sourit ou fronce les sourcils, ainsi que la largeur.*/
}
int main() {
vexcodeInit();
drawFace();
drawEye(Gauche);
drawEye(Droite);
//on peut vraiment s'amuser avec ça...
while (true){
drawMouth(true, 30);
attendre (1 000, ms);
drawMouth(false, 30);
attendre (1 000, ms);
}
}
Voici la séquence du flux logique de la fonction appelante main() :