Игра "Жизнь" Конвея


Главная / ЭКВМ / Программы для ЭКВМ / БРП-4

 A 
789
456
123
 0 

Сотрудник Кембриджского университета Джон Хортон Конвей придумал игру "Жизнь" для ЭВМ. "Жизнь" - это живое сообщество "конвиков", населяющих Наветренные острова. Каждый остров состоит из 11 пронумерованных участков, как показано на рисунке (для нумерации использованы обозначения ячеек числовой памяти).

Участок может иметь хозяина - "конвика". С течением времени происходит смерть и рождение "конвиков", т.е. смена поколений. Новое поколение получается из предыдущего по следующим правилам:

1. Если у некоторого "конвика" нет соседей (живущих на соседних участках), то он погибает от одиночества. Если соседей больше двух, то погибает от тесноты.

2. Если рядом с пустым участком оказываются два соседа, то на этом участке появляется новый "конвик".

Смысл игры в том, чтобы, задавая начальное поколение "конвиков", исследовать эволюцию новых поколений.

Исходные данные (0 - пустой участок, 1 - участок, на котором есть "конвик") заносятся в ячейки памяти в соответствии с рисунком (цифры на рисунке соответствуют номерам ячеек памяти).

Результаты вычислений (новое поколение "конвиков") содержатся в тех же ячейках, а число "конвиков" С заносится в ячейку ПС и отображается на дисплее.

Примечание. Оригинальные правила игры Конвея были изменены в БРП-4 для использования на ПМК. Изложенные правила не соответствуют результатам работы нижеприведённой программы.

Инструкция по пользованию программой для МК-52 с БРП-4

  • 1. Наберите адрес 1212898 и введите программу, нажав клавиши А↑, ↑↓.
  • 2. Введите исходные данные.
  • 3. Включите счет, нажав клавиши В/0, С/П. Время вычисления около 100 с.
  • 4. Считайте результаты.
  • 5. Для продолжения игры каждый раз нажимайте клавишу С/П.

Инструкция по пользованию программой для ЭКВМ

  • 1. Загрузите программу с нулевого адреса.
  • 2. Введите исходные данные.
  • 3. Включите счет, нажав клавиши В/0, С/П.
  • 4. Считайте результаты.
  • 5. Для продолжения игры каждый раз нажимайте клавишу С/П.

Тестовый пример

Номер поколения A 9 8 7 6 5 4 3 2 1 0 C Изображение
0 0 1 0 1 0 1 1 1 1 0 0 6 БРП-4 игра жизнь поколение 0
1 1 1 0 0 0 0 0 1 1 0 1 5 БРП-4 игра жизнь поколение 1
2 1 1 1 1 1 0 0 0 1 1 1 8 БРП-4 игра жизнь поколение 2
3 0 1 1 1 1 0 1 0 1 0 1 7 БРП-4 игра жизнь поколение 3
4 0 1 1 1 1 0 1 0 1 0 1 7 БРП-4 игра жизнь поколение 4
(стабильная конфигурация)

Программа "Игра "Жизнь" Конвея"

Программа 44 из блока расширения памяти БРП-4, переключатель "1/2" блока в положении "2", адрес 1212898.

Файл brp4-44.mkp (КС 8765/87)

  0 1 2 3 4 5 6 7 8 9
00 Cx П C 1 0 П D 7 3 П B ИП 7 ИП 8
10 ИП 9 ПП 74 ИП A ИП 8 + ИП 6 K ПП B ИП A ИП 9
20 + ИП 7 K ПП B ИП A ИП 8 + ИП 4 K ПП B ИП 9 ИП 3
30 K ПП B ИП 7 ИП 8 + ИП 9 + ИП 1 + ИП 2 +
40 ИП 3 + ИП 4 ИП 6 ПП 74 ИП 7 ИП 1 K ПП B ИП 0
50 ИП 2 + ИП 6 K ПП B ИП 0 ИП 3 + ИП 1 K ПП B ИП 0
60 ИП 2 + ИП 4 K ПП B ИП 1 ИП 2 ИП 3 ПП 74 ИП C
70 С/П БП 00 ИП 5 + + F x≠0 88 2 -
80 F x≥0 89 F x=0 87 1 БП 88 Cx K П D ИП C
90 K ИП D + П C ИП D 1 - П D В/О    

Исходный текст для кросс-компилятора

Файл brp4-44.mkl

.CHARSET 1251

; БРП-4
; 44. Игра "Жизнь" Конвея (2 - 1212898)

.ORG 0

A0:	 ; с адреса 71
	CX
	M C
	10
	M D
	73
	M B
	RM 7
	RM 8
	RM 9
	GSB A74
	RM A
	RM 8
	+
	RM 6
	K GSB B
	RM A
	RM 9
	+
	RM 7
	K GSB B
	RM A
	RM 8
	+
	RM 4
	K GSB B
	RM 9
	RM 3
	K GSB B
	RM 7
	RM 8
	+
	RM 9
	+
	RM 1
	+
	RM 2
	+
	RM 3
	+
	RM 4
	RM 6
	GSB A74
	RM 7
	RM 1
	K GSB B
	RM 0
	RM 2
	+
	RM 6
	K GSB B
	RM 0
	RM 3
	+
	RM 1
	K GSB B
	RM 0
	RM 2
	+
	RM 4
	K GSB B
	RM 1
	RM 2
	RM 3
	GSB A74
	RM C
	R/S
	GOTO A0
	RM 5

A74:	 ; с адреса 11, 44, 67
	+
	+
	F X!=0 A88
	2 -
	F X>=0 A89
	F X=0 A87
	1
	GOTO A88

A87:	 ; с адреса 82
	CX

A88:	 ; с адреса 76, 85
	K M D

A89:	 ; с адреса 80
	RM C
	K RM D
	+
	M C
	RM D
	1 -
	M D
	RTN
.END 


НПП "СЕМИКО" (383) 271-01-25 (многоканальный)