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 smileygezichtje met behulp van parameters.

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

Zonder gebruik te maken van een door de gebruiker gedefinieerde functie:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

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

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

  //Het linkeroog
  int space = 20; /*Dit geeft de afstand van het oog ten opzichte van de bovenkant van het scherm. Je kunt dit naar wens aanpassen.*/
  centerX = MaxX/2+spatie;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //Het rechteroog  
  /*...je kunt hier verdergaan met de code voor het rechteroog*/

  //De smileymond
  /*...je kunt hier verdergaan met de code voor de smileymond
    ... enz.
    Als je een andere grootte wilt tekenen, moet je de hele code herhalen.
    */
}

Met een door de gebruiker gedefinieerde functie:

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

void drawFace(int size){
  /*...code voor het gezicht op basis van de grootteparameter van de aanroepende functie.*/

}

//side == Links of Rechts
void drawEye(char side){
  /*...code voor het oog op basis van de grootteparameter van de aanroepende functie.*/
}

//side == Links of Rechts
void drawMouth(bool smile, int size){
  /*...code voor de mond op basis van de grootteparameter van de aanroepende functie. Dit omvat of het gezicht lacht of fronst, evenals de breedte.*/
}

int main() { 
  vexcodeInit();

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

  //Je kunt hier echt veel plezier mee beleven...
  while (true){
    drawMouth(true, 30);
    wait(1000, msec);
    drawMouth(false, 30);
    wait(1000, msec);
  }  
}

De onderstaande video laat zien hoe de logica verloopt vanaf de aanroepende functie main():

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

Last Updated: