Компьютерные исполнители


ВВЕДЕНИЕ * ЧЕРТЁЖНИК * РОБОТ * РИСОВАЛЬЩИК * АБОРИГЕН * КЛАДОИСКАТЕЛЬ * ПОКУПАТЕЛЬ * ХОДОК * ССЫЛКИ * КАРТА


    Ходок

    Среда исполнителя

    Среда "Улица на лужайке" , в которой функционирует исполнитель Ходок, представляет собой прямоугольное поле, засаженное одуванчиками. Поле разбито на квадраты вертикальными и горизонтальными линиями. Условные прямоугольные клетки, образованные линиями, назовем клетками поля, или просто клетками. Размер поля определяется количеством клеток, размещенных вдоль горизонтальной и вдоль вертикальной сторон поля. Сетка может выводиться пунктирными пиниями или быть скрытой.
    Вертикальные и горизонтальные размеры поля, наличие разметки определяются указанием необходимых значений в диалоговом окне, вызываемом из меню Опции командой Свойства среды.
Среда исполнителя Покупатель     Окно среды "Улица на лужайке" может быть растянуто или сжато по горизонтали и по вертикали. В этом случае изменение количества клеток на поле не происходит, масштабируются имеющиеся клетки.
    Исполнитель Ходок располагается в клетках и имеет в текущий момент времени одну из четырех ориентации: на север - к верхней стороне поля, на юг - к нижней стороне поля, на запад - к левой стороне поля, на восток - к правой стороне поля.
    Исполнитель Ходок изображается в виде отпечатков пары башмаков. Отпечатки направлены в одну из четырех сторон (вверх, вниз, влево или вправо} и для- неактивных исполнителей рисуются одним из четырех цветов: синим, серым, фиолетовым или коричневым. Если исполнитель активен, то его пятки имеют красный цвет, если исполнитель находится под отладкой, то пятки рисуются белым цветом. Ходок считается непрозрачным исполнителем (в одной клетке одновременно не может находиться более одного исполнителя).
    Ходок может передвигаться в ближайшую по направлению его ориентации клетку, причем возможно передвижение с оставлением следа или без оставления его. След, который оставляет исполнитель в центре покинутой клетки, изображается в виде черных отпечатков.
    Ходок, оставаясь на месте, может делать повороты, т.е. сменять ориентацию. Повороты могут осуществляться как программно, так и визуально (чтобы повернуть Ходока на 90 градусов по ходу часовой стрелки, нужно щелкнуть на нем правой кнопкой "мыши").
    Для среды "Улица на лужайке" определены следующие объекты:

  • вертикальная и горизонтальная улица,
  • вертикальный и горизонтальный переход;
  • блоки для постройки Дoма;
  • деревья.

.     Горизонтальная улица представляют собой линию толщиной в четыре клетки, которая соединяет левый и правый края поля среды. Соответственно вертикальная улица соединяет верхний и нижний края поля среды. Ступить на улицу Ходок не может. Одновременно на поле среды могут быть поставлены по одной вертикальной и горизонтальной улице.
    Горизонтальный переход-представляет-собой "зебру" толщиной в две клетки и длиной в четыре клетки, «огаряя ставится поперек вертикальной улицы. Соответственно вертикальный переход ставится поперек горизонтальной улицы. Перейти любую улицу Ходок может только по переходу.
    Блоки для постройки дома представляют собой бирюзовые клетки, которые можно ставить рядом друг с другом, образуя различные конфигурации. Ступить на клетку, занятую блоком,-Ходок не может.
    Деревья занимают одну клетку, ступить на которую Ходок также не может.
    На одну клетку нельзя поставить два блока, два дерева или блок и дерево.
    Все объекты могут быть поставлены на поле среды только визуально с помощью команды Добавить объекты из меню Расстановка.
    После выполнения команды Удалить объекты из меню Расстановка с поля среды удаляются все имеющиеся на нем улицы, переходы, дома и деревья, а также следы, оставленные Ходоком.

    Система команд исполнителя

Шаг

Шаг

  Ходок делает один шаг в текущем направлении.

Повернуть_Налево

Повернуть_Налево

  Ходок поворачивает налево относительно текущего направления.

Повернуть_Направо

Повернуть_Направо

  Ходок поворачивает направо относительно текущего направления.

Встать_На_Цыпочки

Встать_На_Цыпочки

 После выполнения этой команды при своём передвижении Ходок не будет оставлять следы.

Опустить_Пятки

Опустить_Пятки

  После выполнения этой команды при своём передвижении Ходок будет оставлять следы.

    Команды-вопросы исполнителя

Впереди_Край

Впереди_Край

  Ходок проверяет находится ли впереди край.

Впереди_Свободная_Клетка

Впереди_Свободная_Клетка

  Ходок проверяет, находится ли впереди свободная клетка.

    

Пример алгоритма для изучения
среды исполнителя Ходок

     Программа Ежик_В_Тумане_2 Поход туда и обратно
Описание
       Сделано_Шагов: Целый
       Счетчик_Цикла: Целый
    Конец_Описания
       Сделано_Шагов:=0
       Повторять_Пока Не ( Впереди_Край )
        Если Впереди_Свободная_Клетка
          То
        Шаг
        Сделано_Шагов:=Сделано_Шагов+1
        Новая_Строка
        Вывод('Шаг',Сделано_Шагов)
         Иначе
        Обойти_Дерево
        Сделано_Шагов:=Сделано_Шагов+1
        Новая_Строка
        Вывод('Ой, дерево!')
        Вывод('Шаг',Сделано_шагов)
        Конец_Если
      Завершить
      {Отметим успешное завершение миссии}
      Новая_Строка
      Вывод('Ура! Мишка, я здесь! Ау-у-у!')
      Танец_радости
      Новая_Строка
      Вывод('А варенье-то забыл! Пойдем обратно...')
      Повернуть_Направо
      Повернуть_Направо
      Повторять_Для Счетчик_Цикла
        От 1 До Сделано_Шагов
        Если Впереди_Свободная_Клетка
        То Шаг
        Новая_Строка
        Вывод('Шаг',Счетчик_Цикла)
        Иначе
        Обойти_Дерево
        Новая_Строка
        Вывод('Ой, дерево!')
        Вывод('Шаг',Счетчик_Цикла)
        Конец_Если
      Завершить
      Новая_Строка
      Вывод('Вот она, баночка моя!')
    Конец_Программы

    Программа Обойти_дерево

      Повернуть_Направо
      Шаг
      Повернуть_Налево
      Шаг
      Шаг
      Повернуть_Налево
      Шаг
      Повернуть_Направо
    Конец_Программы

   Программа Танец_радости

        Встать_На_Цыпочки
        Повернуть_Направо
        Опустить_Пятки
        Повернуть_Налево
    Конец_Программы
 

   


ВВЕДЕНИЕ * ЧЕРТЁЖНИК * РОБОТ * РИСОВАЛЬЩИК * АБОРИГЕН * КЛАДОИСКАТЕЛЬ * ПОКУПАТЕЛЬ * ХОДОК * ССЫЛКИ * КАРТА *


   А.А.Синица saassl@tut.by

Назад

Далее