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.
Exemplo: Um programa de exemplo para um robô percorrer uma distância em linha reta
A função seguinte permitirá que o robô se mova para a frente durantetotalEncencoder. Ele usa a configuração V5 Clawbot.
Esta funçãospinToPositionnão irá retornar até que o movimento esteja completo. A isto se chama ação “sincronizada” – determinada pelo último parâmetroverdadeiro.
Sem utilizar uma função definida pelo utilizador:
int main() {
vexcodeInit();
LeftMotor.resetPosition();
LeftMotor. setVelocity(100.0, percent);
LeftMotor.spinToPosition(500.0, deg, true);
Brain.Screen.printAt(5,30, "secs rev deg" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
wait(1000, mseg);
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-100.0, percent);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5,100, "seg rev deg" );
Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
wait(1000, mseg);
}
A amostra pode apresentar o seguinte resultado:
segundos brutos rev deg
2,06 5445 3,12 1089
Observe que seu teste irá variar dentro de uma margem muito pequena nas casas decimais.
Com uma função definida pelo utilizador:
O exemplo a seguir mostra como capturar um conjunto de operações em uma única chamada de “função” reutilizável.
void reportMotionValues() {
Brain.Screen.printAt(5, 60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
}
int main() {
vexcodeInit();
LeftMotor.resetPosition();
LeftMotor.setVelocity(50.0, percent);
LeftMotor.spinToPosition(500.0, deg, true);
reportMotionValues();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-50.0, percent);
LeftMotor.spinToPosition(-500.0, deg, true);
reportMotionValues();
}
O vídeo abaixo mostra como a sequência lógica flui da função que chama a função main():