Nederīgas funkcijas rakstīšana ar parametriem programmā 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.

Dažkārt vēlēsities funkcijai sniegt konkrētu informāciju. Tas ļaus funkcijai atbilstoši veikt savu uzdevumu, pamatojoties uz informāciju, kas saņemta katru reizi, kad tā tiek izsaukta. Nākamais paraugs parādīs, kā tas darbojas.


Piemērs: Programma, izmantojot parametrus, uzzīmē smaidošu seju

Nākamajā piemērā ir arī parādīti globālie mainīgie, kas tiek izmantoti pareizi.

Neizmantojot lietotāja definētu funkciju:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

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

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

  //Kreisā acs
  int space = 20; /*Tas nodrošina acs atstarpi attiecībā pret ekrāna augšdaļu. Varat to pielāgot, kā vien vēlaties.*/
  centerX = MaxX/2+space;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //Labā acs  
  /*...šeit varat turpināt rakstīt kodu labajai acij*/

  //Smaidošā mute
  /*...šeit varat turpināt rakstīt kodu smaidošajai mutei
    ... utt.
    Ja vēlaties zīmēt citu izmēru, viss kodu komplekts būs jāatkārto vēlreiz.
    */
}

Ar lietotāja definētu funkciju:

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

void drawFace(int size){
  /*...kods sejai, pamatojoties uz izsaucēja funkcijas izmēra parametru.*/

}

//side == Kreisā vai labā
void drawEye(char side){
  /*...kods acij, pamatojoties uz izsaucēja funkcijas izmēra parametru.*/
}

//side == Kreisā vai labā
void drawMouth(bool smile, int size){
  /*...kods mutei, pamatojoties uz izsaucēja funkcijas izmēra parametru. Tas ietver gan to, vai tas smaida vai sarauc pieri, gan arī platumu.*/
}

int main() { 
  vexcodeInit();

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

  //ar šo var tiešām izklaidēties...
  kamēr (true) {
    drawMouth(true, 30);
    gaidīt(1000, ms);
    drawMouth(false, 30);
    gaidīt(1000, ms);
  }  
}

Zemāk esošajā video ir parādīts, kā loģikas secība plūst no izsaucēja funkcijas main():

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

Last Updated: