控制#
介绍#
控制功能包括计时、程序流程、条件逻辑和项目终止等方法。这些控制功能允许您暂停执行、创建循环、定义逻辑路径以及结束程序。
以下是可用控件列表,包括方法和 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();
while (true) {
if (Brain.Screen.pressing()) {
// Display a message once the screen is pressed
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Screen pressed!");
break;
}
wait(5, msec);
}
}
如果/否则#
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();
while (true) {
if (Brain.Screen.pressing()) {
// Turn the screen green when pressed
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
}
}
如果/否则 如果/否则#
The if/else if/else structure selects which indented block of code runs based on conditions:
ifruns its block if the condition evaluates astrue.else ifchecks additional conditions only if all previous conditions evaluated asfalse. Multipleelse ifstatements can be used.elseruns 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();
while (true) {
// Turn screen blue if pressed on the left half
if (Brain.Screen.pressing() && Brain.Screen.xPosition() < 240) {
Brain.Screen.clearScreen(blue);
// Turn screen green if pressed on the right half
} else if (Brain.Screen.pressing() && Brain.Screen.xPosition() > 240) {
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
wait(20, msec);
}
}
尽管#
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();
while (true) {
if (Brain.Screen.pressing()) {
// Turn the screen green whenever it's pressed
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
}
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Wait until the screen is pressed to turn it green
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.clearScreen(green);
}
休息#
break exits a loop immediately.
Usage:
break;
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
while (true) {
// Press the screen to pause on a color
Brain.Screen.clearScreen(red);
wait(500, msec);
if (Brain.Screen.pressing()) {
break;
}
Brain.Screen.clearScreen(green);
wait(500, msec);
if (Brain.Screen.pressing()) {
break;
}
}
}
程序停止#
programStop ends a running project.
Usage:
Brain.programStop();
参数 |
描述 |
|---|---|
此方法没有参数。 |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
while (true) {
// Press the screen to stop the project
Brain.Screen.clearScreen(red);
wait(500, msec);
if (Brain.Screen.pressing()) {
Brain.programStop();
}
Brain.Screen.clearScreen(green);
wait(500, msec);
if (Brain.Screen.pressing()) {
Brain.programStop();
}
}
}