ЗАДАНИЕ XII

Тема: Конструирование пульта управления моделью объекта
Цель: Построение модели, управляющей движением двухмерного объекта

Перед началом работы необходимо:

владение основными приемами работы в MS Windows;
владение основными приемами работы в Stratum 2000.

Задание 1

    Постройте схему, управляющей движением графического объекта (машинки), вперед/назад и поворот вправо/влево. Проверьте работоспособность схемы.

  1. Создайте новый проект. Поместите на главную схему имидж LGSpace из системной библиотеки UNIT.LIB..
  2. Создайте на схеме графический объект, который будет объектом движения (например небольшой прямоугольник). Посмотрите его размеры, (правая кнопка мышки на объекте – Свойстваположение), определите примерный центр объекта. Установите имя объекту.
  3. Создайте новый имидж (например Auto) с текстом:

x := x + hx * f1 - hx * f2
y := y + hy * f1 - hy * f2

hy := v * sin(a)
hx := v * cos(a)
a := a + (f3 - f4) * av
x0 := x + hc
y0 := y + wc

,где:
x,y
– текущие координаты объекта
f1,f2
– флаги направления движения
f3,f4
– флаги поворота
hx,hy
– скорость по X и Y
hc,wc
– координаты центра графического объекта относительно его левой верхней точки.
v
– скорость движения
av
– скорость поворота в радианах за шаг
a
– текущий угол поворота в радианах
x0,y0
– текущие координаты цента поворота.

lab012.gif (8289 bytes)

  1. Задайте в переменной v скорость движения объекта (например 0.1), в переменную av скорость поворота (например 0.001), в переменные hc и wc примерные координаты центра объекта (например 5,10).
  2. Установите на схему два имиджа BUTTON из системной библиотеки СONTROLS.LIB.
    Создайте связи к имиджу Auto. Соедините переменные pressed каждого из них с переменными f3, f4 соответственно.
  3. Установите на схему два имиджа BUTTON из системной библиотеки СONTROLS.LIB.
    Создайте связи к имиджу Auto. Соедините переменные pressed каждого из них с переменными f1, f2 соответственно. Установите переменные Type в 1, обеспечив тем самым работу кнопок в виде переключателя.
  4. Установите на схему имиджа Object2d из системной библиотеки Graph2d.LIB.
    Создайте связь к имиджу Auto. Соедините переменные x, y, x0, y0 соответственно, и переменную а с angle. Задайте в переменной ObjectName имя графического объекта, которым будем управлять.
  5. Оформите пульт управления, сделав соответствующе надписи рядом с кнопками.

Запустите проект на выполнение. Проверьте его работоспособность.

Задание 2

    Добавьте управление от клавиатуры. Для этого вставьте на схему четыре имиджа VKeyState. Соедините их переменные Pressed с такими же переменными в имиджах BUTTON. Задайте значения кодов клавиш в переменных KeyCode.

Стрелка Вправо 39
Стрелка Влево 37
Стрелка Вверх 38
Стрелка Вниз 40

 

Дополнительное задание

Постройте траекторию движения машинки.