Техника - молодёжи 1987-08, страница 58

Техника - молодёжи 1987-08, страница 58

xjs

расстояние от точки попадания гарпуна до кита (точнее, до его центральной точки);

7 — рабочий регистр при вычислении координат кита;

9 — время маневра 573 с; время полета гарпуна.

Все эти регистры перед началом игры не заполняются, а вот в остальные нужно ввести соответствующие числа:

6 — счетчик ходов (перед началом игры Сх П6);

8 — скорость гарпуна в м/с (180 П8);

А — регистр хранения псевдослучайного числа (перед началом игры сюда вводится любое число из интервала 0—1);

В — сообщения «выстрел разрешен» и «попадание», а также косвенный переход на адрес 68 (10000068 К—ВП ПВ);

С — косвенный переход на адрес 73, время маневра, предельная дистанция сближения (573 ПС);

Д — косвенный переход на адрес 04 (4 ПД).

Краткое описание работы программы:

00—01 — запись в регистр 9 времени судна перед началом игры и восстановление его после промаха; 02—25 — формирование с помощью генератора псевдослучайных чисел (05—10) координат кита, скорости его движения и направления;

27—28 — перевод скорости судна в м/с;

29—32 — переход на подпрограмму (68), вызов в стек скорости и направление движения кита, переход на подпрограмму (73); 33—35 — контроль разрешения на выстрел;

36—38 — вызов в регистр X скорости гарпуна, переход на подпрограмму (68);

39—44 — проверка «попал — промазал»;

45—47 — отмена разрешения на выстрел при промахе; 48—49 — сообщение «подошел слишком близко» или «промах»;

50 — переход на начало программы;

Система координат, используемая в игре «На горизонте кит»: а — направление движения кита (угол в данном случае отрицательный ); р — направление движения судна (положительный угол); у — угол наведения гарпунной пушки (положительный). Заштрихо

вана зона на теле кита, куда надо попасть

51—55 — проверка, не подошло ли судно слишком близко; 56—58 — проверка права на выстрел;

59—62 — запись в регистр 9 времени, которое необходимо гарпуну для достижения цели; 63—66 — формирование сигнала «—Е0000068» или «Е0000068»;

67 — переход на адрес 04 после разрешения на выстрел; 68—96 — подпрограмма вычисления координат кита относительно судна или относительно точки по

падания гарпуна, а также соответствующих расстояний.

Надо отметить, что все углы задаются относительно положительного направления оси ОХ, против часовой стрелки. Направление движения кита задается в пределах от —90° до 90°, направление движения судна и угол наводки гарпунной пушки — от —180° до 180°. Переключатель Р—Г устанавливается в положение Г.

Борис ЛАБУТИН, г. Пермь

НОВОСТИ ЕГГОГОАОГИИ

В февральском выпуске КЭИ за этот год в письме Н. Шмидта из Ленинграда было высказано предположение, что команду с кодо'м «5—пусто» на БЗ—34, МК-54, МК-61 можно получить только при помощи «сумасшествия». Мысль очень правильная, можно сказать, пророческая. Код «5—пусто», а также все остальные коды «символ—пусто» получаются однотипно, с помощью пустышки, методом «на краю пропасти». Лучше всего начинать со включения ПМК — иначе придется очищать всю ПРГ-память; легче выключить-включить. Приступим: 0000000 Ч-ВП ПА /—/ ПА Сх КИПА ИПА /—/ ВП /—/ 6 ПА Сх (сформировано и записано в регистр А исходное число «9—пусто») . Теперь вводим в ПМК упрощенную программу синтеза видеосообщений: 00.ХУ 01.ХУ 02.ВП ОЗ.С/П. Формируем символ, который нужен в начале кода (допустим, 5), и заменяем им девятку: В/О ИПА С/П ПА Сх. Скомандуем

теперь КБПА. Начинается самое интересное: Ч- ВП FnPT (ждите ответа, примерно 10 с ожидания) О FABT Сх. Эту операцию пустышкой я и назвал «на краю пропасти». Теперь результаты. При просмотре памяти (FnPT ШГ вправо ШГ вправо и т. д.) обнаруживаем код «5—пусто» на адресе 68. Функционирует эта команда (впрочем, и другие с кодами «символ—пусто») точно так же, как и на МК-52. При помощи указанной процедуры коды «1—пусто», «2—пусто», «3—пусто», «4—пусто», «6—пусто» формируются на адресе 75, «9—пусто», «минус—пусто», «С—пусто», «Г— пусто», «Е—пусто» — на адресе 12, «7—пусто» — на 89, «8—пусто» — на 96 и «L—пусто» — на адресе 34. Если в указанных местах символов не будет, пошарьте по сусекам памяти — код всегда есть, но пустышка любит пошутить.

Сергей Банников, Москва

ISO-ISO

90'

У /

(Г X

wmmjwwibtoc uji