\b;Программирование - язык CBOT
Язык CBOT очень близок к по синтаксису к языкам C++ и Java. Он специально адаптирован для игровых целей и для эффективного практического педагогического применения.
Язык состоит из: инструкций (смотрите ниже), \l;блоков\u cbot\bloc;, \l;функций\u cbot\function;, \l;классов\u cbot\class;, \l;переменных\u cbot\var;, \l;массивов\u cbot\array;, \l;выражений\u cbot\expr; и \l;условий\u cbot\cond;.

\l;o\u cheats;  \c;\token;Инструкции\norm;\n;
Инструкции в редакторе кода языка CBOT всегда отображаются как: \token;инструкция\norm;. Если инструкция не подсвечена, это означает, что она напечатана с ошибками. Имена инструкций всегда пишутся прописными символами (в нижнем регистре).

o  \c;\type;Тип\norm;\n;
\l;Тип\u cbot\type; переменной выглядит следующим образом: \type;тип\norm;. 

o  \c;\const;Константы\norm;\n;
Константы такие как \l;категории\u cbot\category; отображаются следующим образом: \const;константа\norm;. 

\t;Основные инструкции языка CBOT:
\c;\l;extern\u cbot\extern;     \n;Определяет главную функцию
\c;\l;if\u cbot\if;         \n;Оператор сравнения
\c;\l;else\u cbot\if;       \n;Оператор иначе (альтернативный выбор)
\c;\l;switch\u cbot\switch;     \n;Оператор множественного выбора
\c;\l;case\u cbot\switch;       \n;Оператор определения варианта выбора
\c;\l;default\u cbot\switch;    \n;Оператор выбора по умолчанию 
\c;\l;for\u cbot\for;        \n;Оператор цикла for
\c;\l;while\u cbot\while;      \n;Оператор цикла while
\c;\l;do\u cbot\do;         \n;Оператор цикла do - while
\c;\l;break\u cbot\break;      \n;Оператор выхода из цикла
\c;\l;continue\u cbot\continue;   \n;Оператор начала новой итерации цикла
\c;\l;return\u cbot\return;     \n;Оператор выхода из функции
\c;\l;sizeof\u cbot\sizeof;     \n;Оператор определения размера массива

\t;Специальные инструкции для ботов:
\c;\l;detect\u cbot\detect;     \n;Простая проверка объекта на наличие
\c;\l;radar\u cbot\radar;      \n;Поиск объекта
\c;\l;radarall\u cbot\radarall;   \n;Поиск множества объектов
\c;\l;search\u cbot\search;     \n;Поиск объекта в определенной точке пространства
\c;\l;direction\u cbot\direct;  \n;Вычислить угол поворота
\c;\l;distance\u cbot\dist;   \n;Вычислить дистанцию
\c;\l;distance2d\u cbot\dist2d; \n;Вычислить дистанцию без учета высоты
\c;\l;wait\u cbot\wait;       \n;Ожидать
\c;\l;move\u cbot\move;       \n;Переместиться вперед или назад
\c;\l;turn\u cbot\turn;       \n;Вращение
\c;\l;goto\u cbot\goto;       \n;Перейти в указанную позицию
\c;\l;motor\u cbot\motor;      \n;Прямое управление моторами
\c;\l;jet\u cbot\jet;        \n;Прямое управление реактивным двигателем
\c;\l;message\u cbot\message;    \n;Вывести сообщение
\c;\l;retobject\u cbot\retobj;  \n;Возвращает объект по его индексу
\c;\l;errmode\u cbot\errmode;    \n;Управление обработкой ошибок
\c;\l;abstime\u cbot\abstime;    \n;Возвращает абсолютное время
\c;\l;pendown\u cbot\pendown;    \n;Начать рисование (Опустить кисть)
\c;\l;penup\u cbot\penup;      \n;Прекратить рисование (Поднять кисть)
\c;\l;pencolor\u cbot\pencolor;   \n;Установить цвет кисти
\c;\l;penwidth\u cbot\penwidth;   \n;Установить размер кисти
\c;\l;factory\u cbot\factory;    \n;Начать производство бота
\c;\l;research\u cbot\research;   \n;Начать исследование
\c;\l;takeoff\u cbot\takeoff;    \n;Запустить космический корабль
\c;\l;isbusy\u cbot\isbusy;     \n;Проверить объект на занятость
\c;\l;canresearch\u cbot\canresearch;\n;Проверить может ли технология быть исследована
\c;\l;researched\u cbot\researched; \n;Проверить исследована ли уже технология
\c;\l;canbuild\u cbot\canbuild;   \n;Проверить можно ли построить здание
\c;\l;buildingenabled\u cbot\buildingenabled; \n;Проверить доступно ли здание в текущей миссии

\t;Инструкции связанные с топологией:
\c;\l;space\u cbot\space;      \n;Вычисляет свободное пространство
\c;\l;flatspace\u cbot\flatspace;  \n;Вычисляет свободное, ровное пространство
\c;\l;topo\u cbot\topo;       \n;Возвращает высоту точки
\c;\l;flatground\u cbot\flatgrnd; \n;Возвращает радиус плоской области

\t;Специальные инструкции для некоторых ботов:
\c;\l;grab\u cbot\grab;       \n;Поднимает объект
\c;\l;drop\u cbot\drop;       \n;Ставит (кладёт) объект
\c;\l;sniff\u cbot\sniff;      \n;Ищет ресурс под землёй
\c;\l;thump\u cbot\thump;      \n;Переворачивает вражеских насекомых
\c;\l;recycle\u cbot\recycle;    \n;Перерабатывает заброшенного бота
\c;\l;shield\u cbot\shield;     \n;Достает или убирает щит
\c;\l;fire\u cbot\fire;       \n;Стреляет из пушки
\c;\l;aim\u cbot\aim;        \n;Поворачивает пушку
\c;\l;build\u cbot\build;      \n;Строит здание
\c;\l;flag\u cbot\flag;       \n;Устанавливает флаг
\c;\l;deflag\u cbot\deflag;     \n;Убирает установленный флаг

\t;Специальные инструкции для обмена сообщениями:
\c;\l;receive\u cbot\receive;    \n;Считать информацию
\c;\l;send\u cbot\send;       \n;Отправить новую информацию
\c;\l;testinfo\u cbot\testinfo;   \n;Проверить существует ли информация
\c;\l;deleteinfo\u cbot\delinfo; \n;Удалить уже существующую информацию


\t;Специальные инструкции для классов:
\c;\l;class\u cbot\class;      \n;Определяет класс
\c;\l;public\u cbot\public;     \n;Определяет публичный (public) член класса
\c;\l;private\u cbot\private;    \n;Определяет приватный (private) член класса
\c;\l;protected\u cbot\protected;  \n;Определяет защищенный (protected) член класса
\c;\l;static\u cbot\static;     \n;Определяет статический (static) член класса
\c;\l;synchronized\u cbot\synchro; \n;Предотвращает одновременное выполнение
\c;\l;new\u cbot\new;        \n;Создает новый экземпляр класса
\c;\l;this\u cbot\this;       \n;Указатель на текущий объект данного класса
\c;\l;extends\u cbot\extends;    \n;Расширение уже существующего класса
\c;\l;super\u cbot\super;      \n;Предоставляет доступ к родительскому классу

\t;Специальные инструкции для работы со строками:
\c;\l;strlen\u cbot\strlen;     \n;Определяет длину строки
\c;\l;strleft\u cbot\strleft;    \n;Извлекает левую часть строки
\c;\l;strright\u cbot\strright;   \n;Извлекает правую часть строки
\c;\l;strmid\u cbot\strmid;     \n;Извлекает центральную часть строки
\c;\l;strfind\u cbot\strfind;    \n;Осуществляет поиск текста в строке
\c;\l;strval\u cbot\strval;     \n;Преобразует строку в число
\c;\l;strupper\u cbot\strupper;   \n;Преобразует все буквы в верхний регистр
\c;\l;strlower\u cbot\strlower;   \n;Преобразует все буквы в нижний регистр

\t;Специальные инструкции для работы с файлами:
\c;\l;open\u cbot\open;       \n;Открыть файл
\c;\l;close\u cbot\close;      \n;Закрыть файл
\c;\l;writeln\u cbot\writeln;    \n;Записать строку в файл
\c;\l;readln\u cbot\readln;     \n;Прочитать строку из файла
\c;\l;eof\u cbot\eof;        \n;Проверить достигнут ли конец файла
\c;\l;deletefile\u cbot\deletef; \n;Удалить файл

\t;Математические функции:
\c;\l;rand\u cbot\rand;       \n;Возвращает случайное число
\c;\l;pow\u cbot\pow;        \n;Возвращает степень числа
\c;\l;sqrt\u cbot\sqrt;       \n;Возвращает квадратный корень
\c;\l;floor\u cbot\floor;      \n;Возвращает число округленное в большую сторону
\c;\l;ceil\u cbot\ceil;       \n;Возвращает число округленное в меньшую сторону
\c;\l;round\u cbot\round;      \n;Возвращает округленное число
\c;\l;trunc\u cbot\trunc;      \n;Возвращает целую часть числа без дробной части
\c;\l;sin\u cbot\sin;        \n;Возвращает синус
\c;\l;cos\u cbot\cos;        \n;Возвращает косинус
\c;\l;tan\u cbot\tan;        \n;Возвращает тангенс
\c;\l;asin\u cbot\asin;       \n;Возвращает арксинус
\c;\l;acos\u cbot\acos;       \n;Возвращает арккосинус
\c;\l;atan\u cbot\atan;       \n;Возвращает арктангенс
\c;\l;atan2\u cbot\atan2;      \n;Возвращает арктангенс, имеет два аргумента

\t;См. также
\l;Типы\u cbot\type; и \l;категории\u cbot\category;.
