Написання функції Void із параметрами у 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.

Буватимуть випадки, коли ви захочете надати певну інформацію функції. Це дозволить функції відповідним чином виконувати своє завдання на основі інформації, отриманої під час кожного виклику. Наступний приклад покаже, як це працює.


Приклад: Програма малює смайлик для відображення за допомогою параметрів

Наступний приклад також демонструє глобальні змінні, які використовуються належним чином.

Без використання користувацької функції:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

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

  //Обличчя
	Brain.Screen.drawCircle(centerX, centerY, 100);

  //Ліве око
  int space = 20; /*Це забезпечує відстань між оком та верхньою частиною екрана. Ви можете налаштувати це як завгодно.*/
  centerX = MaxX/2+пробіл;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //Праве око  
  /*...тут можна продовжити виконувати код для правого ока*/

  //Усміхнений рот
  /*...тут можна продовжити виконувати код для усміхненого рота
    ... тощо.
    Якщо ви хочете намалювати інший розмір, вам доведеться повторити весь набір кодів ще раз.
    */
}

З функцією, визначеною користувачем:

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

void drawFace(int size){
  /*...код для обличчя на основі параметра розміру з функції, що викликає.*/

}

//сторона == Ліва або Права
void drawEye(char side){
  /*...код для ока на основі параметра розміру з функції, що викликає.*/
}

//сторона == Ліва або Права
void drawMouth(bool smile, int size){
  /*...код для рота на основі параметра розміру з функції, що викликає. Це включає, чи посміхається він, чи хмуриться, а також ширину.*/
}

int main() { 
  vexcodeInit();

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

  //з цим справді можна розважитися...
  поки (true){
    drawMouth(true, 30);
    очікування(1000, мс);
    drawMouth(false, 30);
    очікування(1000, мс);
  }  
}

У відео нижче показано, як послідовність логіки випливає з функції-викликача main():

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

Last Updated: