41 lines
1.8 KiB
Plaintext
41 lines
1.8 KiB
Plaintext
\b;Instrukcje \c;if\n; i \c;else\n;
|
|
Używając instrukcji \c;if() {}\n; można uzależnić wykonanie zbioru instrukcji od spełnienia określonego warunku. Warunek należy zapisać w nawiasach \c;()\n;, a instrukcje w nawiasach klamrowych \c;{}\n;.
|
|
|
|
\b;Podstawowe użycie
|
|
Oto konkretny przykład: Robot będzie strzelał dopiero wtedy, gdy cel będzie bliżej niż 40 metrów:
|
|
\c;
|
|
\s; item = \l;radar\u cbot\radar;(AlienAnt);
|
|
\s; if (\l;distance\u cbot\dist;(position, item.position) < 40)
|
|
\s; {
|
|
\s; fire(1);
|
|
\s; }
|
|
\n;
|
|
Można też sprawdzić czy obiekt istnieje w ogóle. Jeśli instrukcja \c;\l;radar\u cbot\radar;();\n; nie znajdzie żądanego obiektu, zwraca wartość \c;null\n;. Można więc sprawdzić czy obiekt istnieje, warunkiem \c;(item != null)\n; lub czy nie istnieje \c;(item == null)\n;. Dwa znaki równości \c;==\n; sprawdzają równość, znak równości poprzedzony wykrzyknikiem \c;!=\n; sprawdza nierówność. Oto program testowy, który będzie ładował \l;ogniwa elektryczne\u object\power; tylko wtedy, gdy znajdzie \l;stację energetyczną\u object\station;:
|
|
\c;
|
|
\s; item = \l;radar\u cbot\radar;(PowerStation);
|
|
\s; if (item != null)
|
|
\s; {
|
|
\s; \l;goto\u cbot\goto;(item.position);
|
|
\s; \l;wait\u cbot\wait;(5);
|
|
\s; }
|
|
\n;
|
|
\b;Dla specjalistów
|
|
Składnia:
|
|
\s;\c;if ( warunek )
|
|
\s;{
|
|
\s; \n;Instrukcje A ...\c;
|
|
\s;}
|
|
\s;else
|
|
\s;{
|
|
\s; \n;Instrukcje B ...\c;
|
|
\s;}
|
|
\n;
|
|
Przy użyciu tej struktury warunkowej można wykonać \l;blok\u cbot\bloc; A lub \l;blok\u cbot\bloc; B w zależności od \l;warunku\u cbot\cond;. Jeśli warunek jest prawdziwy, wykonywany jest blok A. Jeśli warunek jest fałszywy, wykonywany jest blok B.
|
|
Część \c;else { }\n; nie jest obowiązkowa.
|
|
|
|
\t;Uwaga
|
|
Na końcu linii \c;if ( )\n; nie należy stawiać \l;średnika\u cbot\term;.
|
|
|
|
\t;Zobacz również
|
|
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.
|