Мат конём и слоном

Шахматный эндшпиль: человек, играя белыми королём, конём и слоном, пытается поставить мат чёрному королю под управлением ПМК — за ограниченное число ходов.

Распределение регистров

Данные пользователя:

Служебные (используются для нужд самой программы):

Примечание: в файле .pmk для эмулятора регистры #9, #ae уже заполнены.

Игровой процесс

Переключатель Р–ГРД–Г должен находиться в положении Г.

Каждая партия начинается со следующих действий:

ПМК выдаёт начальные координаты чёрного короля. Игрок набирает номер своей фигуры (4 — король, 5 — конь, 6 — слон) ПП координаты клетки, куда ею ходит С/П. ПМК отвечает новыми координатами чёрного короля и так далее.

Правильность ввода человека не проверяется, поэтому он должен следить за ней сам.

Партия заканчивается появлением одного из сообщений:

Более сложные нюансы (вроде троекратного повторения одной и той же позиции) программа не учитывает, но человек может при желании контролировать их сам.

По вполне очевидным причинам калькулятор победить не может, однако оказывает человеку упорное сопротивление и зачастую тем или иным способом добивается ничьей.

Пример игры

Предварительные действия: 1 0 /−/ X→П 8 CX X→П 3;

Белые:

Кр c1 — 3 1 X→П 4;

К e1 — 5 1 X→П 5;

С g1 — 7 1 X→П 6.

Чёрные:

Кр e8 — 5 8 X→П 1.

На партию отводится 50 ходов — 5 0 X→П 0

В/О С/П — 58

Нажимаемые клавиши Ход ПМК Объяснение
1 6 ПП 3 5 С/П 47 С с5 — Кр d7
2 5 ПП 4 3 С/П 36 К d3 — Кр c6
3 4 ПП 3 2 С/П 25 Кр с2 — Кр b5

Исходный код

Из двух опубликованных в источнике вариантов взят более совершенный — от администрации «Клуба электронных игр», в него внесены предложенные авторами усовершенствования для МК-61/МК-52 и добавлены косметические изменения (регистры #0 и #3 обменялись функциями; микрооптимизации в отдельных местах).

00. FL0		01. 03		02. К−		03. П→X5	04. П→X1	05. −		06. П→X3	07. FВx		08. −		09. ×
10. ÷		11. .		12. X→П3	13. С/П		14. X→П7	15. КX→П7	16. КП→X1	17. КППb	18. КППa	19. КППb
20. 1		21. КППc	22. П→X8	23. В↑		24. +		25. /−/		26. КППc	27. 1		28. КППc	29. КППb
30. КППb	31. КП→X1	32. КППa	33. П→X9	34. П→X8	35. /−/		36. X→П8	37. П→X8	38. П→X1	39. +
40. В↑		41. X→П1	42. ВП		43. X→П2	44. Кx≠09	45. 9		46. −		47. Kx≠09	48. П→X1	49. Кx≠09
50. Fcos	51. Kx≥09	52. П→X4	53. КППd	54. +		55. ÷		56. FВx		57. 3		58. −		59. Kx≥09
60. П→X5	61. КППd	62. +		63. 5		64. −		65. Кx≠09	66. П→X6	67. КППd	68. F√		69. X→П2
70. .		71. −		72. Кx=0e	73. П→X7	74. +		75. X→П7	76. П→X4	77. −		78. Кx≠0e	79. П→X7
80. П→X5	81. −		82. Кx≠0e	83. П→X1	84. П→X7	85. −		86. П→X2	87. ÷		88. FL2		89. 73
90. В/О		91. X→П7	92. ВП		93. П→X2	94. −		95. Fx²		96. FВx		97. П→X7	98. −		99. П→X1
A0. +		A1. П→X8	A2. ÷		A3. Fx²		A4. В/О

Пояснения:

Источник: журнал «Техника — молодёжи», № 12 / 1986, стр. 48…51.

Авторы: редакция «Клуба электронных игр».

Немного доработал, перевёл в формат эмулятора и составил эту инструкцию: Адам Лаврик — 2026-04-22.