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.
Kartais norėsite funkcijai suteikti konkrečios informacijos. Tai leis funkcijai atitinkamai atlikti savo užduotį pagal informaciją, gaunamą kiekvieną kartą, kai ji iškviečiama. Šis pavyzdys parodys, kaip tai veikia.
Pavyzdys: programa, naudodama parametrus, nupiešia besišypsantį veidelį
Toliau pateiktame pavyzdyje taip pat pateikiami tinkamai naudojami visuotiniai kintamieji.
Nenaudojant vartotojo apibrėžtos funkcijos:
int MaxX = 484, MaxY = 278;
int main() {
vexcodeInit();
int centerX = MaxX/2, centerY = MaxY/2;
//Veidas
Brain.Screen.drawCircle(centerX, centerY, 100);
//Kairė akis
int space = 20; /*Tai nurodo atstumą tarp akies ir ekrano viršaus. Galite tai koreguoti kaip norite.*/
centerX = MaxX/2+tarpas;
centerY = MaxY/2-30;
Brain.Screen.drawCircle(centerX, centerY, 20);
//Dešinė akis
/*...čia galite tęsti dešinės akies kodą*/
//Bešypsanti burna
/*...čia galite tęsti besišypsančios burnos kodą
... ir t. t.
Jei norite nupiešti kitokį dydį, turėsite pakartoti visą kodų rinkinį dar kartą.
*/
}
Su vartotojo apibrėžta funkcija:
int MaxX = 484, MaxY = 278;
const char Left=1, Right=2;
void drawFace(int size){
/*...veido kodas, pagrįstas iškvietėjo funkcijos dydžio parametru.*/
}
//side == Kairė arba dešinė
void drawEye(char side){
/*...akies kodas, pagrįstas iškvietėjo funkcijos dydžio parametru.*/
}
//side == Kairė arba dešinė
void drawMouth(bool smile, int size){
/*...burnos kodas, pagrįstas iškvietėjo funkcijos dydžio parametru. Tai apima ir šypseną, ir raukymąsi, ir plotį.*/
}
int main() {
vexcodeInit();
drawFace();
drawEye(Left);
drawEye(Right);
//su tuo tikrai galima smagiai praleisti laiką...
while (true) {
drawMouth(true, 30);
wait(1000, ms);
waitMouth(false, 30);
wait(1000, ms);
}
}
Žemiau esančiame vaizdo įraše parodyta, kaip logikos seka teka iš skambinamosios funkcijos main():