Исполнитель Путешественник (Voyager) I. Исполнитель и Среда исполнителя II. Система команд I. Исполнитель и Среда исполнителя Среда исполнителя - прямоугольная область (Поле), состоящая из W ячеек по горизонтали и H ячеек по вертикали. Каждая ячейка имеет свойство "Высота", которое выражается целым числом из диапазона [0..9]. Местоположение исполнителя на Поле в любой момент определяется парой целых чисел - номером столбца и номером строки на пересечении которых расположена ячейка, в которой находится исполнитель (координаты исполнителя). Исполнитель имеет свойство "Сила", которое определяется целым числом (начальное значение зависит от конкретной задачи). Исполнитель способен перемещаться в соседние ячейки, расположенные в одной вертикали или горизонтали. Переместиться можно только в ту ячейку, на которую смотрит исполнитель. Направление, в котором смотрит исполнитель определяется свойством "Взгляд", которое может принимать одно из четырех значений: Север (выше), Восток (правее), Юг (ниже), Запад (левее). Этим направлениям соответствуют числовые значения: 0 - Север, 1 - Восток, 2 - Юг, 3 - Запад. Исполнитель способен поворачиваться, меняя тем самым направление взгляда. Существует несколько особенностей при перемещении исполнителя: 1. Невозможно переместиться в ячейку, если разница высот больше 1. (слишком большая высота) 2. При перемещении в ячейку с высотой равной 0 (пропасть, яма) исполнитель "погибает" - прекращает выполнение дальнейших команд алгоритма. 3. При перемещении в ячейку с меньшей высотой, сила уменьшается на 1. При перемещении в ячейку с равной высотой, сила уменьшается на 2. При перемещении в ячейку с большей высотой, сила уменьшается на 3. Поворот в любом направлении не влияет на силу. 4. Если значение силы достигло 0, то выполнение алгоритма прекращается (исполнитель устал). Визуально Поле представляется как прямоугольная область с ячейками закрашенными оттенками белого цвета. Где белый цвет соответсвует максимальной высоте (высота = 9), а черный цвет - минимальной (высота = 0). II. Система команд Сила - свойство исполнителя, целое неотрицательное число. (начальное значение зависит от задачи). Шагнул - свойство исполнителя, которое равно: Истина - если исполнитель изменил свое местоположение Ложь - исполнитель не изменил свое местоположение (нельзя из-за большой высоты). Начальное значение - Ложь. Взгляд - свойство исполнителя, которое сообщает о том куда направлен его взгляд. Начальное значение зависит от задачи. Вперед; - перемещение в ячейку, расположенную в направлении взгляда исполнителя. При этом происходит изменение силы, даже если перемещение не произошло (силы потрачены впустую). Если перемещение не произошло, то об этом выводится сообщение (в журнал). Повернуться( Напр ); - повернуть исполнителя в направлении Напр. Допустимы следующие значения для Напр: Север, Восток, Юг, Запад, 0, 1, 2, 3. Можно_Вперед - вопрос, на который исполнитель сообщает: Истина - если в том направлении, куда смотрит исполнитель расположена ячейка, на которую можно переместиться (и это не пропасть, яма) Ложь - если в том направлении, куда смотрит исполнитель расположена ячейка, на которую нельзя переместиться (это может быть пропасть, яма).