colobot-data/help/P/texch2.txt

37 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

\b;Ćwiczenie
W tym ćwiczeniu \l;stacje przekaźnikowe\u object\exchange; wzdłuż drogi zawierają kierunek i odległość do następnej stacji. Nie jest znana liczba stacji przekaźnikowych koniecznych do dotarcia do celu.
\b;Ogólny algorytm
Powtarzaj w nieskończoność:
o Pobierz kierunek ze \l;stacji przekaźnikowej\u object\exchange;.
o Pobierz odległość ze \l;stacji przekaźnikowej\u object\exchange;.
o Jeśli nie ma żadnych informacji, zatrzymaj program.
o Wykonaj obrót.
o Idź do następnej stacji.
Do nieskończonego powtarzania użyj pętli \c;\l;while\u cbot\while; (true)\n;. Instrukcje pomiędzy klamrami \c;{ }\n; będą powtarzane w nieskończoność lub do czasu wykonania instrukcji \c;\l;break\u cbot\break;\n;.
\s;\c; while ( true )
\n;
Tym razem potrzebne będą dwie \l;zmienne\u cbot\var;, jedna dla kąta obrotu, druga dla odległości, na przykład \c;dir\n; i \c;len\n;:
\s;\c; float dir, len;
\n;
Następnie można pobrać informacje:
\s;\c; dir = receive("Direction");
\s;\c; len = receive("Length");
\n;
Zmienna \l;typu\u cbot\type; \c;\l;float\u cbot\float;\n; może również przyjmować specjalną wartość zwaną \c;\l;nan\u cbot\nan;\n;. Oznacza ona, że zmienna nie zawiera liczby (Not A Number).
Jeśli w pobliżu nie ma \l;stacji przekaźnikowej\u object\exchange; z powodu osiągnięcia przez robota celu, bądź zgubienia drogi, dwie zmienne \c;dir\n; i \c;len\n; zawierają wartość \c;\l;nan\u cbot\nan;\n;. Możesz to sprawdzić instrukcją \c;\l;if\u cbot\if;\n; i jeśli to konieczne zatrzymać program instrukcją \c;\l;break\u cbot\break;\n;:
\s;\c; if ( dir == nan ) break;
\n;
Jeśli pomyślnie pobrano informacje ze \l;stacji przekaźnikowej\u object\exchange; wykonaj obrót:
\s;\c; turn(dir);
\n;
I idź naprzód:
\s;\c; move(len);
\n;
\t;Uwaga
Możesz kliknąć na \l;stacji przekaźnikowej informacji\u object\exchange; aby przeczytać zawarte w niej informacje. W tym ćwiczeniu, każda stacja przekaźnikowa zawiera dwie wartości \c;"Direction"\n; (kierunek) i \c;"Length"\n; (odległość).
\t;Zobacz również
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.