Zapisywanie funkcji pustej z parametrami w 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.

Może się zdarzyć, że będziesz chciał podać danej funkcji określone informacje. Dzięki temu funkcja będzie mogła odpowiednio wykonać swoje zadanie w oparciu o informacje otrzymywane za każdym razem, gdy zostanie wywołana. Poniższy przykład pokaże, jak to działa.


Przykład: Program rysuje uśmiechniętą buźkę, aby pokazać ją za pomocą parametrów

Poniższy przykład ilustruje również prawidłowe użycie zmiennych globalnych.

Bez użycia funkcji zdefiniowanej przez użytkownika:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

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

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

  //Lewe oko
  int space = 20; /*Zapewnia odstęp oka względem górnej krawędzi ekranu. Możesz to dostosować w dowolny sposób.*/
  centerX = MaxX/2+space;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //Prawe oko  
  /*...możesz kontynuować kodowanie dla prawego oka tutaj*/

  //Uśmiechnięta buźka
  /*...możesz kontynuować kodowanie dla uśmiechniętej buźki tutaj
    ... itd.
    Jeśli chcesz narysować inny rozmiar, musisz powtórzyć cały zestaw kodów jeszcze raz.
    */
}

Z funkcją zdefiniowaną przez użytkownika:

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

void drawFace(int size){
  /*...kod dla twarzy na podstawie parametru rozmiaru z funkcji wywołującej.*/

}

//strona == Lewa lub Prawa
void drawEye(char side){
  /*...kod dla oka na podstawie parametru rozmiaru z funkcji wywołującej.*/
}

//strona == Lewa lub Prawa
void drawMouth(bool smile, int size){
  /*...kod dla ust na podstawie parametru rozmiaru z funkcji wywołującej. Obejmuje to, czy obiekt się uśmiecha, czy marszczy brwi, a także jego szerokość.*/
}

int main() { 
  vexcodeInit();

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

  //naprawdę można się przy tym dobrze bawić...
  podczas gdy (prawda) {
    drawMouth(prawda, 30);
    czekaj(1000, ms);
    drawMouth(fałsz, 30);
    czekaj(1000, ms);
  }  
}

Poniższy film pokazuje, w jaki sposób przepływa sekwencja logiczna z funkcji wywołującej main():

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

Last Updated: