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 または Right
void drawEye(char side){
/*...呼び出し元関数のサイズパラメータに基づいて目のコードを作成します。*/
}
//side == Left または 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() から始まる一連のロジックの流れを示しています。