Rialú#
Réamhrá#
Áirítear leis an rialú feidhmeanna le haghaidh uainiú, sreabhadh cláir, loighic choinníollach, agus foirceannadh tionscadail. Ligeann na rialuithe seo duit forghníomhú a chur ar sos, lúba a chruthú, cosáin loighce a shainiú, agus clár a chríochnú.
Feidhmeanna agus Eochairfhocail#
Seo thíos liosta de na rialuithe atá ar fáil, lena n-áirítear feidhmeanna API agus eochairfhocail C++:
wait– Cuireann sé seo an tionscadal ar sos ar feadh tréimhse socraithe ama.for– Déantar bloc cóid a athdhéanamh líon socraithe uaireanta.if– Ritheann sé bloc cóid má tá coinníoll fíor.if/else– Ritheann bloc amháin cóid má tá coinníoll fíor, nó bloc difriúil má tá sé bréagach.if/else if/else– Seiceálann sé ilchoinníollacha in ord agus ritheann sé an chéad bhloc a bhfuil a choinníoll fíor.while– Déanann sé bloc cóid a athdhéanamh fad is a fhanann coinníoll fíor.break– Fágann sé an lúb reatha láithreach.programStop– Críochnaíonn sé an tionscadal láithreach.
wait#
Cuireann sé seo an tionscadal ar stad ar feadh tréimhse áirithe ama sula mbogann sé ar aghaidh go dtí an chéad líne eile den chód.
Available Functionsvoid wait(
double time,
timeUnits units );
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An méid ama le fanacht, mar |
|
|
An t-aonad chun an t-am a léiriú: |
Ní thugann an fheidhm seo luach ar ais.
Examples// Stop driving after 1 second
Drivetrain.drive(forward);
wait(1, seconds);
Drivetrain.stop();
for#
Déanann bloc cóid a athdhéanamh. Ritheann an fhoirm chomhairimh líon socraithe uaireanta; ritheann an fhoirm raonbhunaithe uair amháin do gach mír i mbailiúchán.
Syntax1 — Lúb comhairimh — ritheann sé líon socraithe uaireanta.
for (int i = 0; i < count; i++) { // code block }
Parameters2 — Lúb bunaithe ar raon — ritheann sé uair amháin do gach mír i mbailiúchán.
for (type element : collection) { // code block }
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
An líon uaireanta a dhéanfar an bloc cóid a athdhéanamh. |
|
Ainm an Chineáil |
Cineál sonraí gach míre sa bhailiúchán (m.sh. |
|
|
Ainm na hathróige a choinneoidh luach na míre reatha den lúb. |
|
|
An tEagar (nó veicteoir) ina bhfuil na míreanna a lúbfar tríd. |
Ní thugann an struchtúr rialaithe seo luach ar ais.
Examples// Drive in a square
for (int i = 0; i < 4; i++) {
Drivetrain.driveFor(forward, 100, mm);
Drivetrain.turnFor(right, 90, degrees);
}
// Drive forward different distances
int distances[] = {100, 150, 200};
for (int d : distances) {
Drivetrain.driveFor(forward, d, mm);
wait(0.5, seconds);
}
if#
Rithfidh sé an bloc cóid atá faoi iamh má tá an coinníoll true.
if (condition) {
// code block
}
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
Slonn nó athróg a mheastar nuair a ritheann an ráiteas. Más |
Ní thugann an struchtúr rialaithe seo luach ar ais.
Exampleswhile (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/else#
Cinneann sé cé acu bloc cóid faoi iamh a ritheann bunaithe ar cibé an bhfuil an coinníoll true nó false.
if (condition) {
// code block if true
}
else {
// code block if false
}
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
Slonn nó athróg a mheasúnaítear nuair a ritheann an ráiteas. Más |
Ní thugann an struchtúr rialaithe seo luach ar ais.
Exampleswhile (true) {
if (Brain.Screen.pressing()) {
// Turn the screen green when pressed
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
}
if/else if/else#
Roghnaíonn sé seo cé acu bloc cóid faoi iamh a ritheann bunaithe ar ilchoinníollacha.
Syntaxif (condition) {
// code block if first condition is true
}
else if (condition) {
// code block if second condition is true
}
else {
// code block if no conditions are true
}
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
Slonn nó athróg a mheasúnaítear nuair a ritheann an ráiteas. Is é an chéad choinníoll, arb ionann é agus |
Ní thugann an struchtúr rialaithe seo luach ar ais.
Notesifa bhloc má tá an coinníolltrue.else ifcoinníollacha breise ach amháin má tá na coinníollacha roimhe seo go léirelse ifIolraighfalsea úsáid.elsea bhloc ach amháin mura bhfuil aon cheann de na coinníollacha roimhe seo fíortrue.
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#
Ritheann cód arís agus arís eile chomh fada agus atá an coinníoll true.
while (condition) {
// code block
}
Paraiméadar |
Cineál |
Cur síos |
|---|---|---|
|
|
Slonn nó athróg a mheastar roimh gach athrá. Má tá sé |
Ní thugann an struchtúr rialaithe seo luach ar ais.
NotesIs féidir é a úsáid freisin cosúil le “Fan go dtí” trí
!a chur roimh an gcoinníoll, mar a thaispeántar sna samplaí thíos.
while (true) {
if (Brain.Screen.pressing()) {
// Turn the screen green whenever it's pressed
Brain.Screen.clearScreen(green);
} else {
Brain.Screen.clearScreen();
}
}
// Wait until the screen is pressed to turn it green
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.clearScreen(green);
break#
Fágann sé an lúb reatha láithreach. Más i lúb neadaithe atá sé, fágann break an lúb is istigh.
break;
Ní ghlacann an ráiteas seo le haon pharaiméadair.
Return ValuesNí thugann an ráiteas seo luach ar ais.
Exampleswhile (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#
Críochnaíonn tionscadal láithreach.
SyntaxBrain.programStop();
Ní ghlacann an ráiteas seo le haon pharaiméadair.
Return ValuesNí thugann an ráiteas seo luach ar ais.
Exampleswhile (true) {
// Press the screen to end 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();
}
}