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+space;
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){
/*...код для лица на основе параметра размера из вызывающей функции.*/
}
//side == Left or Right
void drawEye(char side){
/*...код для глаза на основе параметра размера из вызывающей функции.*/
}
//side == Left or Right
void drawMouth(bool smile, int size){
/*...код для рта на основе параметра размера из вызывающей функции. Это включает в себя улыбку или хмурое выражение лица, а также ширину.*/
}
int main() {
vexcodeInit();
drawFace();
drawEye(Left);
drawEye(Right);
//с этим можно по-настоящему повеселиться...
while (true){
drawMouth(true, 30);
wait(1000, msec);
drawMouth(false, 30);
wait(1000, msec);
}
}
В видео ниже показана последовательность логических операций, исходящих из вызывающей функции main():