控制#
介绍#
控件包括用于计时、程序流、条件逻辑和项目终止的方法。这些控件允许您暂停执行、创建循环、定义逻辑路径以及结束程序。以下是可用控件的列表,包括方法和 C++ 关键字:
wait
– Pauses execution for a given number of milliseconds or seconds.for
– Repeats code for each item in a sequence.if
– Executes code if a condition is true.if/else
– Runs different code depending on a condition.if/else if/else
– Checks multiple conditions in order.while
– Repeats code while a condition is true.break
– Exits a loop immediately.programStop
– Ends the running program.
等待#
wait
pauses for a specific amount of time before moving to the next method.
Usage:
wait(time, units);
参数 |
描述 |
---|---|
|
等待的时间量,以正整数表示。 |
|
The unit to represent the time:
|
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Stop driving after 1 second
Drivetrain.drive(forward)
wait(1, seconds)
Drivetrain.stop()
}
为了#
for
iterates over a code block for a set number of times.
使用量:
for (int i = 0; i <= count; i++) {
}
参数 |
描述 |
---|---|
|
代码块将被迭代的次数。 |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Drive in a square
for (int i = 0; i <= 4; i++) {
Drivetrain.driveFor(forward, 100, mm);
Drivetrain.turnFor(right, 90, degrees);
}
}
如果#
if
executes the indented block of code if the condition evaluates as true
.
用法:
if (condition) {
}
参数 |
描述 |
---|---|
|
An expression or variable that is evaluated when the statement runs. If it evaluates as |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Turn right when Check button pressed
while (true) {
if (Brain.buttonCheck.pressing()) {
Drivetrain.turnFor(right, 90, degrees);
}
}
}
如果/否则#
if
and else
determine which indented block of code runs based on whether the condition evaluates as true
or false
.
用法:
if (condition) {
}
else {
}
参数 |
描述 |
---|---|
|
An expression or variable that is evaluated when the statement runs. If it evaluates as |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Only turn right when the Check button is pressed
while (true) {
if (Brain.buttonCheck.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
}
}
如果/否则 如果/否则#
The if/else if/else
structure selects which indented block of code runs based on conditions:
if
runs its block if the condition evaluates astrue
.else if
checks additional conditions only if all previous conditions evaluated asfalse
. Multipleelse if
statements can be used.else
runs its block only if none of the previous conditions evaluated astrue
.
使用量:
if (condition) {
}
else if (condition) {
}
else {
}
参数 |
描述 |
---|---|
|
An expression or variable that is evaluated when the statement runs. The first condition that evaluates as |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Turn right or left depending on the button pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
}
else if (Brain.buttonLeft.pressing()) {
Drivetrain.turn(left);
}
else {
Drivetrain.stop();
}
}
}
尽管#
while
repeatedly runs methods as long as the condition is true
. It can also be used like a “Wait until” by adding !
before the condition, as shown in the example below.
用法:
while (condition) {
}
参数 |
描述 |
---|---|
|
An expression or variable that is evaluated before each iteration. If it evaluates as |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Keep the screen green while the robot is moving
Drivetrain.driveFor(forward, 200, mm, false);
wait(0.2, seconds);
while (Drivetrain.isMoving()) {
Brain.Screen.clearScreen(green);
wait(50, msec);
}
Brain.Screen.clearScreen(black);
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Move in a square pattern forever
while (true) {
Drivetrain.driveFor(forward, 150, mm);
Drivetrain.turnFor(right, 90, degrees);
wait(0.2, seconds);
}
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Wait until a button is pressed to stop driving
Drivetrain.drive(forward);
while (!Brain.buttonCheck.pressing()) {
wait(0.2, seconds);
}
Drivetrain.stop();
}
休息#
break
exits a loop immediately.
Usage:
break;
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Turn right until the check button is pressed
while (true) {
Drivetrain.turn(right);
if (Brain.buttonCheck.pressing()) {
break;
}
}
Drivetrain.stop();
Brain.Screen.print("Loop exited.");
}
程序停止#
programStop
ends a running project.
Usage:
Brain.programStop();
参数 |
描述 |
---|---|
该方法没有参数。 |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Stop the project when the check button is pressed
while (true) {
Drivetrain.turn(right);
if (Brain.buttonCheck.pressing()) {
brain.programStop();
}
}
Drivetrain.stop();
Brain.Screen.print("Loop exited.");
}