Техника - молодёжи 1986-08, страница 49LQ 92 цифры, данные в скобках. Координаты «волков» в таком варианте хранятся в регистрах 1—4, «козлика»—в регистре 5 Надо сказать, что из-за малого объема программной памяти калькулятор просматривает ситуацию максимум на два хода вперед, поэтому иногда действует «не очень логично». Но тем не менее даже я сам у него не выиграл ни разу. (Очевидно, в варианте 3:1; с четырьмя «волками» выиграть нетрудно.— М. П.) Программа работает следующим образом: сделано так, что белая шашка стремится быть всегда у осевой линии поля (между 4-й и 5-й вертикалями). Сначала определяется, на какой половине поля находится «козлик» (адреса 01—06). Если слева— управление передается на участок программы с начальным адресом 07, если справа—с адресом 19. Да, до этого в регистр 8 автоматически записывается четверка, в регистр 9 — единица с минусом (адреса 00, 92—97). Для производства ходов вправо-вперед, влево-вперед, вправо-назад и влево-назад служат подпрограммы ППА, ППВ, ППС и ППД соответственно (в регистрах А, В, С и Д хранятся адреса их первых команд). В приведенном примере первой срабатывает ППА: калькулятор «мысленно» делает ход вправо-вперед и заносит результат в регистр 5. Начиная с адреса 42, производится опрос координат «волков» и «козлика» (регистры 4 — 1). Если позиция одного из них совпадает с содержимым регистра 5, то такой ход невозможен, сработает В/О, и калькулятор с помощью следующей подпрограммы примется за обдумывание другого хода. Если же путь свободен, то про- Консультант раздела — Герои Советского Союза, летчик-космонавт СССР Ю. Н. ГЛАЗКОВ Прыжок М. Коршунова и облет станции «ЮГ» с ранцевым двигателем (рисунки Е. Катышева по эскизам участника перелета В. Ладохина). 12 3 4 5 6 7 8 изоидет перекодировка регистра 8 и 9 (фрагмент 54—59), затем произойдет переход на адрес 01. Теперь «Электроника» начинает думать дальше: а не идет ли она в ловушку? Для этого производится проверка — есть ли хотя бы один выход из того положения, в которое она попадет, если сделает намеченный ход. Происходит это по тому же алгоритму. Если найдется хоть одна соседняя пустая клетка, куда «козлик» мог бы в случае чего выскользнуть, то ПМК пойдет на поле, координаты которого записаны в регистре 5 (фрагмент 56—59 и 60— 64). Теперь, кстати, ясно, зачем проверяются координаты самого «козлика» — ведь одну из возможных клеток после второго хода занимает он сам. Если же пустой клетки не окажется, то в регистры 8 и 9 снова занесутся исходные числа, и калькулятор примется за другую клетку. В программе есть ограничивающие (не знаю, как их еще назвать) «участки» по адресам 08—13 и 20—25, которые следят, чтобы «козлик» не вышел за правую и левую границы поля. Если ПМК не может пойти вперед, то наступает очередь подпрограмм ППС (начальный адрес 74) и ППД (86). Теперь «Электроника» пойдет в клетку сразу же, если только та пуста. Это обеспечивает фрагмент 77—85 Время работы 35—150 е.». Программа Д. Кайкова (играть КЛУБ ЭЛЕКТРОННЫХ ИГР
|