Schreiben einer Void-Funktion mit Parametern 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.

Es kann vorkommen, dass Sie der Funktion spezifische Informationen geben möchten. Dadurch kann die Funktion ihre Aufgabe basierend auf den bei jedem Aufruf empfangenen Informationen entsprechend ausführen. Das folgende Beispiel zeigt, wie es funktioniert.


Beispiel: Ein Programm zeichnet ein Smiley-Gesicht, das mithilfe von Parametern angezeigt werden soll.

Das folgende Beispiel veranschaulicht auch globale Variablen, die ordnungsgemäß verwendet werden.

Ohne Verwendung einer benutzerdefinierten Funktion:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

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

  //Das Gesicht
	Brain.Screen.drawCircle(centerX, centerY, 100);

  //Das linke Auge
  int space = 20; /*Dies gibt den Abstand des Auges relativ zum oberen Bildschirmrand an. Sie können dies nach Belieben anpassen.*/
  centerX = MaxX/2+space;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //Das rechte Auge  
  /*...hier können Sie den Code für das rechte Auge fortsetzen*/

  //Der Smiley-Mund
  /*...hier können Sie den Code für den Smiley-Mund fortsetzen
    ... usw.
    Wenn Sie eine andere Größe zeichnen möchten, müssen Sie den gesamten Code erneut ausführen.
    */
}

Mit einer benutzerdefinierten Funktion:

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

void drawFace(int size){
  /*...Code für das Gesicht basierend auf dem Größenparameter der aufrufenden Funktion.*/

}

//Seite == Links oder Rechts
void drawEye(char side){
  /*...Code für das Auge basierend auf dem Größenparameter der aufrufenden Funktion.*/
}

//Seite == Links oder Rechts
void drawMouth(bool smile, int size){
  /*...Code für den Mund basierend auf dem Größenparameter der aufrufenden Funktion. Dies beinhaltet, ob es lächelt oder die Stirn runzelt, sowie die Breite.*/
}

int main() { 
  vexcodeInit();

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

  //Hier kann man wirklich viel Spaß haben...
  while (true){
    drawMouth(true, 30);
    wait(1000, ms);
    drawMouth(false, 30);
    wait(1000, ms);
  }  
}

Das folgende Video zeigt den logischen Ablauf der aufrufenden Funktion main():

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

Last Updated: