Техника - молодёжи 1988-04, страница 47Добавим ci 63. вперед-вправо — на 64—69. если же ход невозможен, то фрагмент 70—76 начинает проверки сначала, но уже со следующей шашкой. Больше всего времени ПМК тратит на сопоставление новых координат с по- а необходимость рассчиты- то целую, то дробную части числа... Вот если бы можно было проверить координаты всех шашек сразу, одной провер- Именно такой принцип (с применением логических операций) взял на вооружение ленинградец Олег Баран. В его программе каждой темной клетке холящегося в регистрах 0 и I. Если оба бита не установлены — клетка пуста. Если бит установлен в числе из регистра 0, то соответствующее поле занято шашкой ПМК. а если в числе из регистра 1, то шашкой игрока. Способ-кодирования изображен на рисунке. Из схемы видно, что ПМК следит лишь за 28 клетками (в числе 7 информативных цифр, в каждой по четыре бита). Из них четыре находятся за пределами доски и в игре не участвуют, (правда, поля 1 и 28 считаются занятыми шашками игрока, поле 4 — ПМК). остаются 24. Остальные, как и в игре С. Чегодаева. находятся как бы в резерве. Каждая черная клетка имеет свой номер, они указаны на схеме. Вот программа О. Барана (слегка подредактированная в КЭИ): 72.1 80. Vo eu{«] ■ ШЛА 18. ИПО 56.ИП0 5Vxu 01.П5 19. ИШ 57.КПП6 55.КППС ИКЫ 20. К® 58-Fx.o 56.КИП5 05. (12 21. Км 59.66 57.FO 04.ИП7 22.ИП6 40.ИПА 58. ИЛА 05.КППС 25. КПП Ь 41.ИП0 58.КППВ 06.FL2 M.Fx.o 42.КППВ 60.F-»o 07.05 25.50 4i.Kx.oE 61.54 OS-КИПА 26.(16 44.КППД 62.W15 09.FL5 27.ИПС 45.Н1Е 65.ИП5 «.15 28./-/ 46.ИП9 64. * «.KV 29.<*i 47,- 65. tyn 85.x A1.K{XJ (2.К0 30.xv 48П9 66.КП1Щ 84.1 А2.»/о 15.К© 51.КПП9 49.FL2 В7.БП 85.П8 14.КПА 52.ПА 50.18 68.51 86. ВП 15.% 55.ИП1 Я.ИП7 Б9.ИПС 87. П8 16.2 М.КЛ 52.0 70. KV 88.-17.(12 55КПП9 55.П5 71.к{«] 89.1 В регис^ы заносятся счетные коэффициенты: llllllll KWHB П4 I.000I П6 5 ВП 8 Д/ П7 76 П9 (можно 69 П9) и 145 ПЕ 81 ПС 92 ПД. В регистр В засылается число — 0 (для косвенного перехода на адрес АО). Оно конструируется с помощью логических операций: можно, например, логически сложить 33 и 99 (или применить операцию «исклю- делить дробную часть, затем ВП 2 ПВ. Теперь необходимо поставить переклю- знакомЕсто 80000467). Игра начинается командой СхБП 16 С/П, через две с половиной минуты на индикаторе появляется 13 — это значит, что ПМК желает пойти шашкой, стоящей на клетке № 13, причем вправо, на клетку № 9 (на это указывает знак: при ходе влево число на индикаторе отрицательно). Желание ПМК для нас закон - начинаем преобразовывать шифрограмму позиции. Сначала снимем шашку с клетки № 13: В/О О ПП 13 /-/ С/П (0 - код шашек ПМК. оператор /-/ указывает, что поле освобождается). Через минуту на экране загорается шифрограмма позиции белых шашек с освободившейся клеткой (8.6730008). Продолжаем преобразовы-вание: ставим шашку на поле №9: В/0 0 ПП 9 С/П. Еще через минуту на ция белых (8.6730108). Теперь наша очередь (код черных шашек — единичка). Например. В/0 1 ПП 6 /-/ С/П (8.8008СС7) — снимаем шашку с поля 6 и ставим ее на поле 5: B/OI ПП5С/П (8.8008СГ7). Обе стороны сделали первый ход, можно продолжать партию: С/П. Тут же появляется число-81 -ПМК вводит в бой подкрепление из «резерва». Поскольку клетка 81 находится в игровом «подпространстве», то ее можно не освобождать, а сразу е 13: В/О.О ПП 13 С/П. алее. Если ПМК выказывает пойти в сторону поля, занятого черной шашкой, значит, следующая за ней клетка свободна и ПМК шашку забирает (она удаляется с доски и из памяти посредством обычной процедуры). Кратко поясним структуру и этой программы: блок 00—15 осуществляет перестановки шашек на доске (в регистрах 0 и 1); на участках 18—21 и —50 производится поиск пустых кле-(, комбинаций на «съедение», запо-ого хода и проверка альтернативного направления (с помощью изменения начального адреса подпрограммы КПП9). Фрагмент 22— 30 вызывает резерв с поля 81, если клетка 13 свободна, на участке 51—65 определяет лучший ход, расшифровывается номер клетки и выводится результат. Подпрограмма КПП9 в варианте 69—75 осуществляет сдвиг позиции цифр в числе, а в варианте 76—80 сдвигает установленные биты. Подпрограмма КППС (81—91) служит для получения последовательности кодов номеров, а КППД (92—А2) — для зада и направления ходов, о вторая программа тоже я быстродействием, причем е время тратится на манипуляции с шашками. В предвидении потока писем с жалобами (что это, мол, за игры, если ответного хода не дождешься?) администрация КЭИ предупреждает: это еще не игры, это только идеи. Мы рассмотрели две концепции построения шашечной игры, два направления для поиска. И тема нашего очередного задания — игра в шашки. Ждем ваших разработок. Вячеслав АЛЕКСЕЕВ Поправка. В №.2 во второй прог-
|