Een ongeldige functie schrijven met parameters in 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.

Er zullen momenten zijn waarop u specifieke informatie aan de functie wilt geven. Hierdoor kan de functie zijn taak dienovereenkomstig uitvoeren op basis van de informatie die wordt ontvangen telkens wanneer deze wordt opgeroepen. Het volgende voorbeeld laat zien hoe het werkt.


Voorbeeld: een programma tekent een smiley om weer te geven met behulp van parameters

Het volgende voorbeeld illustreert ook globale variabelen die op de juiste manier worden gebruikt.

Zonder een door de gebruiker gedefinieerde functie te gebruiken:

int MaxX = 484, MaxY = 278;

int hoofd() { 
  vexcodeInit();

  int middenX = MaxX/2, middenY = MaxY/2;

  //Het gezicht
	Brain.Screen.drawCircle(centerX, centerY, 100);

  //Het linkeroog
  int spatie = 20; /*Dit geeft de afstand voor het oog ten opzichte van de bovenkant van het scherm. Je kunt dit aanpassen zoals je wilt.*/
  centerX = MaxX/2+spatie;
  middenY = MaxY/2-30;
  Hersenen.Scherm.tekenCirkel(middenX, middenY, 20);

  //Het rechteroog  
  /*...je kunt hier doorgaan met het doen van de code voor het rechteroog*/

  //De smileymond
  /*...je kunt hier doorgaan met het doen van de code voor de smileymond
    ... etc.
    Als je een ander formaat wilt tekenen, moet je de hele set codes opnieuw herhalen.
    */
}

Met een door de gebruiker gedefinieerde functie:

int MaxX = 484, MaxY = 278;
const char Links=1, Rechts=2;

void drawFace(int size){
  /*...code voor het gezicht gebaseerd op de parameter size van de caller-functie.*/

}

//side == Links of Rechts
void drawEye(char side){
  /*...code voor het oog gebaseerd op de parameter size van de caller-functie.*/
}

//side == Links of rechts
void drawMouth(bool smile, int size){
  /*...code voor de mond op basis van de maatparameter van de beller. Dit omvat of er wordt gelachen of gefronst, evenals de breedte.*/
}

int main() { 
  vexcodeInit();

  tekenFace();
  trekoog (links);
  trekoog (rechts);

  //hier kun je echt plezier mee hebben...
  terwijl (waar){
    drawMouth(waar, 30);
    wacht(1000, msec);
    drawMouth(onwaar, 30);
    wacht(1000, msec);
  }  
}

Hier ziet u de volgorde van de logische stroom van de aanroepfunctie main():

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

Last Updated: