Void-funktion kirjoittaminen parametreilla VEXcode Pro V5:ssä

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.

Joskus haluat antaa toiminnolle tiettyjä tietoja. Tämä antaa toiminnolle mahdollisuuden suorittaa tehtävänsä vastaavasti joka kerta, kun sitä kutsutaan, vastaanotettujen tietojen perusteella. Seuraava esimerkki näyttää, kuinka se toimii.


Esimerkki: Ohjelma piirtää hymiön parametreja käyttäen

Seuraava esimerkki kuvaa myös globaaleja muuttujia, joita käytetään oikein.

Ilman käyttäjän määrittämää funktiota:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

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

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

  //Vasen silmä
  int space = 20; /*Tämä antaa silmän välistyksen suhteessa näytön yläreunaan. Voit muokata tätä haluamallasi tavalla.*/
  centerX = MaxX/2+välilyönti;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //Oikea silmä  
  /*...voit jatkaa oikean silmän koodia tässä*/

  //Hymiömuotoinen suu
  /*...voit jatkaa hymyömuotoisen suun koodia tässä
    ... jne.
    Jos haluat piirtää eri kokoisen suukappaleen, sinun on toistettava koko koodisarja uudelleen.
    */
}

Käyttäjän määrittämän funktion avulla:

int MaxX = 484, MaxY = 278;
const char Vasen=1, Oikea=2;

void drawFace(int size){
  /*...kasvojen koodi kutsujan funktion kokoparametrin perusteella.*/

}

//sivu == Vasen tai Oikea
void drawEye(char side){
  /*...silmän koodi kutsujan funktion kokoparametrin perusteella.*/
}

//sivu == Vasen tai Oikea
void drawMouth(bool smile, int size){
  /*...suun koodi kutsujan funktion kokoparametrin perusteella. Tämä sisältää sen, hymyileekö vai irvistääkö se kulmiaan, sekä leveyden.*/
}

int main() { 
  vexcodeInit();

  drawFace();
  drawEye(Vasen);
  drawEye(Oikea);

  //tämän kanssa voi pitää todella hauskaa...
  while (true) {
    drawMouth(true, 30);
    wait(1000, millisekuntia);
    drawMouth(false, 30);
    wait(1000, millisekuntia);
  }  
}

Alla oleva video näyttää, miten kutsujafunktion main() logiikka etenee:

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

Last Updated: