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 Functions
void wait(
  double time,
  timeUnits units );

Parameters

Paraiméadar

Cineál

Cur síos

time

double

An méid ama le fanacht, mar double.

units

timeUnits

An t-aonad chun an t-am a léiriú: msec (réamhshocraithe) – Mileasoicindí nó seconds

Return Values

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.

Syntax

1 — Lúb comhairimh — ritheann sé líon socraithe uaireanta.

for (int i = 0; i < count; i++) {
   // code block
}

2 — Lúb bunaithe ar raon — ritheann sé uair amháin do gach mír i mbailiúchán.

for (type element : collection) {
   // code block
}

Parameters

Paraiméadar

Cineál

Cur síos

count

int

An líon uaireanta a dhéanfar an bloc cóid a athdhéanamh.

type

Ainm an Chineáil

Cineál sonraí gach míre sa bhailiúchán (m.sh. int, double).

element

variable

Ainm na hathróige a choinneoidh luach na míre reatha den lúb.

collection

array

An tEagar (nó veicteoir) ina bhfuil na míreanna a lúbfar tríd.

Return Values

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.

Syntax
if (condition) {
  // code block
}

Parameters

Paraiméadar

Cineál

Cur síos

condition

bool

Slonn nó athróg a mheastar nuair a ritheann an ráiteas. Más trueé, ritheann an cód taobh istigh den bhloc if é; má falseé, scipeáiltear an bloc.

Return Values

Ní thugann an struchtúr rialaithe seo luach ar ais.

Examples
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/else#

Cinneann sé cé acu bloc cóid faoi iamh a ritheann bunaithe ar cibé an bhfuil an coinníoll true nó false.

Syntax
if (condition) {
  // code block if true
}
else {
  // code block if false
}

Parameters

Paraiméadar

Cineál

Cur síos

condition

bool

Slonn nó athróg a mheasúnaítear nuair a ritheann an ráiteas. Más trueé, ritheann an cód taobh istigh den bhloc if ann; más falseé, ritheann an cód taobh istigh den bhloc else ina ionad.

Return Values

Ní thugann an struchtúr rialaithe seo luach ar ais.

Examples
while (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.

Syntax
if (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
}

Parameters

Paraiméadar

Cineál

Cur síos

condition

bool

Slonn nó athróg a mheasúnaítear nuair a ritheann an ráiteas. Is é an chéad choinníoll, arb ionann é agus true a chinneann cé acu bloc a ritheann; mura bhfuil aon cheann true, ritheann an bloc else eile.

Return Values

Ní thugann an struchtúr rialaithe seo luach ar ais.

Notes
  • if a bhloc má tá an coinníoll true.

  • else if coinníollacha breise ach amháin má tá na coinníollacha roimhe seo go léir else ifIolraigh false a úsáid.

  • else a bhloc ach amháin mura bhfuil aon cheann de na coinníollacha roimhe seo fíor true.

Examples
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.

Syntax
while (condition) {
  // code block
}

Parameters

Paraiméadar

Cineál

Cur síos

condition

bool

Slonn nó athróg a mheastar roimh gach athrá. Má tá sé true, leanann an lúb ar aghaidh; má tá sé false, stopann an lúb.

Return Values

Ní thugann an struchtúr rialaithe seo luach ar ais.

Notes
  • Is 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.

Examples
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.

Syntax
break;

Parameters

Ní ghlacann an ráiteas seo le haon pharaiméadair.

Return Values

Ní thugann an ráiteas seo luach ar ais.

Examples
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#

Críochnaíonn tionscadal láithreach.

Syntax
Brain.programStop();

Parameters

Ní ghlacann an ráiteas seo le haon pharaiméadair.

Return Values

Ní thugann an ráiteas seo luach ar ais.

Examples
while (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();
  }
}