92 lines
6.6 KiB
Plaintext
92 lines
6.6 KiB
Plaintext
\b;Язык программирования CBOT
|
||
Язык программирования CBOT по структуре и синтаксису очень напоминает C++ и Java. Он был приспособлен для специфических возможностей COLOBOT, и для эффективного метода обучения.
|
||
Этот язык состоит из инструкций (см. ниже), \l;блоков\u cbot\bloc;, \l;переменных\u cbot\var;, \l;выражений\u cbot\expr; и \l;условий\u cbot\cond;.
|
||
|
||
o \c;\token;Инструкции\norm;\n;
|
||
В редакторе программы инструкции языка программирования CBOT всегда отображены на оранжевом фоне. Если для инструкции не появляется оранжевый фон, это значит, что она неправильно написана. Имена инструкций должны всегда быть написаны в нижнем регистре.
|
||
|
||
o \c;\type;Тип\norm;\n;
|
||
\l;Тип\u cbot\type; переменной выводится на зеленом фоне.
|
||
|
||
o \c;\const;Константы\norm;\n;
|
||
Константы, например \l;категории\u cbot\category;, выводятся на красном фоне.
|
||
|
||
\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;for\u cbot\for; \n;Цикл с заданым значением и условием
|
||
\c;\l;while\u cbot\while; \n;Цикл с предусловием
|
||
\c;\l;do\u cbot\do; \n;Цикл с постусловием
|
||
\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;radar\u cbot\radar; \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;Возвращает абсолютное время
|
||
|
||
\t;Инструкции, относящиеся к топологии:
|
||
\c;\l;topo\u cbot\topo; \n;Возвращает высоту точки
|
||
\c;\l;flatground\u cbot\flatgrnd; \n;Возвращает радиус плоской поверхности
|
||
\c;\l;space\u cbot\space; \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;Угол наведения
|
||
|
||
\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;Объявить общедоступную функцию
|
||
\c;\l;private\u cbot\private; \n;Объявить защищенный член класса
|
||
\c;\l;static\u cbot\static; \n;Объявить статичный член класса
|
||
\c;\l;synchronized\u cbot\synchro; \n;Предотвращение одновременного выполнения
|
||
\c;\l;new\u cbot\new; \n;Создать новый экземпляр
|
||
\c;\l;this\u cbot\this; \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;См. также
|
||
\l;Типы\u cbot\type; и \l;категории\u cbot\category;.
|