colobot-data/help/P/tant2.txt

34 lines
2.4 KiB
Plaintext

\b;Zadanie
Przystosuj program \c;Spider2\n; do lotu na zadanej wysokości, w celu obrony przed atakującymi z każdej strony mrówkami.
\t;Program
Program niezbędny do wykonania tego zadania jest podobny do programu \c;Spider2\n;, który szuka najbliższego pająka, obraca się w jego kierunku i strzela:
\c;
\s;extern void object::Spider2()
\s;{
\s; object item;
\s;
\s; while (true)
\s; {
\s; item = radar(AlienSpider);
\s; turn(direction(item.position));
\s; fire(1);
\s; }
\s;}
\n;
Możesz go skopiować i wkleić do edytora oraz przystosować do nowego zadania. Zamień \c;radar(AlienSpider);\n; na \c;radar(AlienAnt);\n;, i napisz przed pętlą \c;while\n; inną pętlę uruchamiającą napęd odrzutowy \l;działa latającego\u object\botfj; do chwili osiągnięcia przez robota wysokości 20 metrów.
Instrukcja \c;\l;jet\u cbot\jet;()\n; kontroluje napęd odrzutowy robota latającego. Liczba w nawiasach musi się zawierać w przedziale od \c;-1\n; do \c;1\n;.\c; jet(1);\n; unosi robota do góry z maksymalną prędkością. \c; jet(-1);\n; opuszcza robota w dół z maksymalną prędkością, a \c;jet(0);\n; powoduje, że robot utrzymuje uzyskaną wysokość. Ponieważ robot musi osiągnąć dokładną wysokość, wzlatuj nim powoli używając instrukcji \c;jet(0.2);\n;, poczekaj aż osiągnie pożądaną wysokość i ustabilizuj wysokość instrukcją \c;jet(0);\n;.
Aby "czekać aż do osiągnięcia żądanej wysokości", konieczne jest użycie pętli warunkowej: instrukcje wewnątrz niej będą powtarzane tak długo, jak podany warunek jest prawdziwy. Wysokość robota jest podawana przez \c;position.z\n;. Jak już widzieliśmy, instrukcja \c;position\n; podaje pozycję robota. Jest ona określona przez trzy współrzędne x, y oraz z: oś x jest osią zachód-wschód, oś y jest osią południe-północ, a oś z jest osią pionową. Wobec tego należy poczekać tak długo jak \c;position.z\n; będzie mniejsze niż 20:
\c;
\s; while (position.z < 20)
\s; {
\s; wait(0.2);
\s; }
\n;
Po odczekaniu 0,2 sekundy, program sprawdzi czy wysokość jest wciąż mniejsza od 20 metrów. Jeśli tak, poczeka jeszcze chwilę, a jeśli nie, program będzie kontynuowany po pętli, tzn. po klamrze zamykającej \c;}\n;. Nie zapomnij po pętli ustabilizować wysokości instrukcją \c;jet(0);\n;.
\t;Zobacz również
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.