\b;Programowanie - język CBOT Język CBOT jest zbliżony strukturą i składnią do takich języków programowania jak C++ i Java. Został on przystosowany do specyficznych zadań gry COLOBOT, przy uwzględnieniu aspektu pedagogicznego. Składa się on z instrukcji (zobacz poniżej), \l;bloków\u cbot\bloc;, \l;funkcji\u cbot\function;, \l;klas\u cbot\class;, \l;zmiennych\u cbot\var;, \l;tablic\u cbot\array;, \l;wyrażeń\u cbot\expr; i \l;warunków\u cbot\cond;. o \c;\token;Instrukcje\norm;\n; W edytorze programu, instrukcje języka CBOT są zawsze wyświetlane na pomarańczowym tle. Jeśli jest inaczej, oznacza to literówkę w nazwie instrukcji. Nazwy instrukcji są zawsze pisane małymi literami. o \c;\type;Typy\norm;\n; \l;Typ\u cbot\type; zmiennej wyświetlany jest na zielonym tle. o \c;\const;Stałe\norm;\n; Stałe, podobnie jak \l;kategorie\u cbot\category;, wyświetlane są na czerwonym tle. \t;Instrukcje w języku CBOT: \c;\l;extern\u cbot\extern; \n;Oznacza główną funkcję \c;\l;if\u cbot\if; \n;Struktura wyboru \c;\l;else\u cbot\if; \n;Struktura wyboru alternatywy \c;\l;for\u cbot\for; \n;Struktura pętli \c;\l;while\u cbot\while; \n;Struktura kontroli \c;\l;do\u cbot\do; \n;Struktura kontroli \c;\l;break\u cbot\break; \n;Wychodzi z pętli \c;\l;continue\u cbot\continue; \n;Kontynuuje pętlę \c;\l;return\u cbot\return; \n;Wychodzi z funkcji \c;\l;sizeof\u cbot\sizeof; \n;Rozmiar tablicy \t;Instrukcje specyficzne dla robotów: \c;\l;radar\u cbot\radar; \n;Wykrywa obiekty \c;\l;direction\u cbot\direct; \n;Oblicza kąt obrotu \c;\l;distance\u cbot\dist; \n;Oblicza odległość \c;\l;distance2d\u cbot\dist2d; \n;Oblicza odległość \c;\l;wait\u cbot\wait; \n;Czeka \c;\l;move\u cbot\move; \n;Przesuwa naprzód lub wstecz \c;\l;turn\u cbot\turn; \n;Obraca \c;\l;goto\u cbot\goto; \n;Przemieszcza się do zadanej pozycji \c;\l;motor\u cbot\motor; \n;Bezpośrednia kontrola nad silnikiem \c;\l;jet\u cbot\jet; \n;Bezpośrednia kontrola nad odrzutem \c;\l;message\u cbot\message; \n;Wyświetla komunikat \c;\l;retobject\u cbot\retobj; \n;Zwraca obiekt z funkcji \c;\l;errmode\u cbot\errmode; \n;Sposób traktowania błędów \c;\l;abstime\u cbot\abstime; \n;Zwraca czas absolutny \t;Instrukcje związane z topologią terenu: \c;\l;space\u cbot\space; \n;Znajduje wolne miejsce \c;\l;topo\u cbot\topo; \n;Zwraca wysokość punktu \c;\l;flatground\u cbot\flatgrnd; \n;Zwraca promień płaskiego obszaru \t;Instrukcje specyficzne dla niektórych robotów: \c;\l;grab\u cbot\grab; \n;Podnosi przedmiot \c;\l;drop\u cbot\drop; \n;Upuszcza przedmiot \c;\l;sniff\u cbot\sniff; \n;Nasłuchuje podglebie \c;\l;thump\u cbot\thump; \n;Przewraca obce organizmy \c;\l;recycle\u cbot\recycle; \n;Odzyskuje tytan z pozostałości robota \c;\l;shield\u cbot\shield; \n;Rozszerza lub wyłącza osłonę \c;\l;fire\u cbot\fire; \n;Strzela z działa \c;\l;aim\u cbot\aim; \n;Ustawia kąt lufy w pionie \t;Instrukcje specyficzne dla stacji przekaźnikowych: \c;\l;receive\u cbot\receive; \n;Odbiera informację \c;\l;send\u cbot\send; \n;Wysyła nową informację \c;\l;testinfo\u cbot\testinfo; \n;Sprawdza czy istnieje informacja \c;\l;deleteinfo\u cbot\delinfo; \n;Usuwa istniejącą informację \t;Instrukcje specyficzne dla klas: \c;\l;class\u cbot\class; \n;Deklaracja klasy \c;\l;public\u cbot\public; \n;Deklaracja funkcji publicznej \c;\l;private\u cbot\private; \n;Deklaracja prywatnego elementu klasy \c;\l;static\u cbot\static; \n;Deklaracja statycznego elementu klasy \c;\l;synchronized\u cbot\synchro; \n;Zapobiega jednoczesnemu wykonywaniu \c;\l;new\u cbot\new; \n;Tworzy nową instancję \c;\l;this\u cbot\this; \n;Odwołanie do bieżącej instancji \t;Instrukcje specyficzne dla łańcuchów: \c;\l;strlen\u cbot\strlen; \n;Podaje długość łańcucha \c;\l;strleft\u cbot\strleft; \n;Wyodrębnia lewą część \c;\l;strright\u cbot\strright; \n;Wyodrębnia prawą część \c;\l;strmid\u cbot\strmid; \n;Wyodrębnia środkową część \c;\l;strfind\u cbot\strfind; \n;Znajduje podłańcuch. \c;\l;strval\u cbot\strval; \n;Zamienia łańcuch na liczbę \c;\l;strupper\u cbot\strupper; \n;Zamienia litery na wielkie \c;\l;strlower\u cbot\strlower; \n;Zamienia litery na małe \t;Instrukcje specyficzne dla plików: \c;\l;open\u cbot\open; \n;Otwiera plik \c;\l;close\u cbot\close; \n;Zamyka plik \c;\l;writeln\u cbot\writeln; \n;Zapisuje wiersz do pliku \c;\l;readln\u cbot\readln; \n;Wczytuje wiersz z pliku \c;\l;eof\u cbot\eof; \n;Sprawdza czy jest już koniec pliku \c;\l;deletefile\u cbot\deletef; \n;Usuwa plik \t;Zobacz również \l;Typy\u cbot\type; i \l;kategorie\u cbot\category;.