Игра "Гонки на зимнем озере"


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

В этой игре могут участвовать несколько человек, имеющих свой калькулятор.

Программа моделирует движение аэросаней по ледяной дорожке, которая расчищена в снегу, покрывающем замерзшее озеро. Справа дует порывистый ветер, который относит сани к обочине. Компенсировать снос можно поворотом руля от 90 до минус 90°. Ширина дорожки равна 6 единицам, и в момент старта сани находятся на осевой линии. Длина дорожки составляет 20-50 единиц.

Задача гонщика - достичь финиша за наименьшее число ходов, заработав наименьшее число штрафных баллов. Одно такое очко начисляется каждый раз, когда резко увеличивается скорость и абсолютная величина приращения становится больше единицы. После получения на дисплее сообщения EГГOГ о начислении штрафного очка эту величину введите заново. Если сани пересекут левую или правую обочину, то их скорость упадет до нуля и будет начислено еще одно штрафное очко. После получения сообщения о начислении штрафного очка, движение начинайте с осевой линии.

Исходные данные заносятся в ячейки памяти: длина дистанции (L) - в ячейку П1, скорость (V) - в ячейку П0 (вводится перед расчетом каждого очередного хода). Приращение скорости саней ΔV и угол поворота руля φ набираются на клавиатуре при каждом ходе.

Результаты вычислений записываются в ячейки памяти: пройденный путь (S) - в ячейку П2, угол поворота руля (φ) - в ячейку П4, приращение скорости (ΔV) - в ячейку П4, время прохождения дистанции (t) - в ячейку П6, штрафные очки (n) - в ячейку П5, случайное число (o), используемое для расчета порывов ветра, - в ячейку П7, расстояние от саней до левой обочины (d) - в ячейку П8 и отображается на дисплее, скорость саней (V) - в ячейку П9, время прохождения дистанции - в ячейку П0.

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

  • 1. Наберите адрес 1232491 и введите программу, нажав клавиши А↑, ↑↓.
  • 2. Установите переключатель Р/ГРД/Г в положение Г.
  • 3. Введите исходное данное (длину дистанции).
  • 4. Включите счет, нажав клавиши В/0, С/П.
  • 5. Введите значение скорости.
  • 6. Введите приращение скорости, нажмите клавишу В↑ и введите угол поворота руля.
  • 7. Включите счет, нажав клавишу С/П. Время вычисления около 55 с. На дисплее отобразится расстояние от саней до левой обочины. Нажав клавишу ↔, можно узнать скорость саней. Повторяйте пп. 5-7, пока на дисплее не высветится длина дистанции. Это свидетельствует о том, что сани достигли финиша.

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

  • 1. Загрузите программу с нулевого адреса.
  • 2. Кнопкой Р-ГРД-Г установите размерность "Г" - градусы.
  • 3. Введите исходное данное (длину дистанции).
  • 4. Включите счет, нажав клавиши В/0, С/П.
  • 5. Введите значение скорости.
  • 6. Введите приращение скорости, нажмите клавишу В↑ и введите угол поворота руля.
  • 7. Включите счет, нажав клавишу С/П. На дисплее отобразится расстояние от саней до левой обочины. Нажав клавишу ↔, можно узнать скорость саней. Повторяйте пп. 5-7, пока на дисплее не высветится длина дистанции. Это свидетельствует о том, что сани достигли финиша.

Примечание

Если на дисплее появился сигнал "ЕГГОГ" (для ЭКВМ - "ERROR"), то нажмите клавишу С/П. Если после этого на дисплее высветится число р, значит слишком резко возросла скорость саней; если 0 – скорость упала до нуля, а если число меньше 0 или больше 6 - сани заехали на обочину. Для продолжения игры выполните приведенные выше рекомендации, а затем нажмите клавишу С/П.

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

d V ΔV φ Время счёта (приблизительно)
на микрокалькуляторе МК-52, с
3,0 0 1 0 55
2,8 1 1 3 55
1,7 2 1 45 55
2,0 3 1 20 66
0,5 4 1 70 80
1,2 5 1 80 95
1,0 6 1 85 110
0,75 7 1 87 69
"ЕГГОГ" ↔ 20 ↔ -0,01 (d<0)
С/П "-0,01" 2
С/П 2
3,0 0 1 0 30
2,86 1 1 5 60
1,9 2 1 10 40
0,5 3 1 15 30
"20" (дистанция пройдена)

Программа "Игра "Гонки на зимнем озере"

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

Файл brp4-45.mkp (КС 8062/188)

  0 1 2 3 4 5 6 7 8 9
00 П 1 3 П 8 Cx П 2 П 5 П 6 П 7 П 9 K ИП 6
10 ИП 9 ИП 8 С/П П 3 П 4 F π П D 1 ИП 4
20 F x2 - F x≥0 81 ИП 4 ИП 9 + П D F x≠0 81
30 П 9 П 0 ИП 1 ИП 2 ИП 3 F cos + П 2 - F x≥0
40 84 ИП 3 F sin ИП 8 + ИП 9 9 ÷ - ИП 7
50 1 1 × F π + П 7 K ИП 7 F O ИП 7 -
60 П 7 2 ÷ - П 8 П D F x≥0 77 6 ИП 8
70 - F x≥0 77 F L0 32 БП 09 Cx П 9 3
80 П 8 K ИП 5 ИП D K - ИП 1 С/П БП 09 0 0
90 0                  

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

Файл brp4-45.mkl

.CHARSET 1251

; БРП-4
; 45. Игра "Гонки на зимнем озере" (2 - 1232491)

.ORG 0
	M 1
	3
	M 8
	CX
	M 2
	M 5
	M 6
	M 7
	M 9

A9:	 ; с адреса 75, 86
	K RM 6
	RM 9
	RM 8
	R/S
	M 3
	<->
	M 4
	F PI
	M D
	1
	RM 4
	F X^2
	-
	F X>=0 A81
	RM 4
	RM 9
	+
	M D
	F X!=0 A81
	M 9
	M 0

A32:	 ; с адреса 73
	RM 1
	RM 2
	RM 3
	F COS
	+
	M 2
	-
	F X>=0 A84
	RM 3
	F SIN
	RM 8
	+
	RM 9
	9
	/
	-
	RM 7
	1
	1
	*
	F PI
	+
	M 7
	K RM 7
	F R
	RM 7
	-
	M 7
	2
	/
	-
	M 8
	M D
	F X>=0 A77
	6
	RM 8
	-
	F X>=0 A77
	F L0 A32
	GOTO A9

A77:	 ; с адреса 66, 71
	CX
	M 9
	3
	M 8

A81:	 ; с адреса 22, 28
	K RM 5
	RM D
	K -

A84:	 ; с адреса 39
	RM 1
	R/S
	GOTO A9
	000
.END 

Примечания.

1. Считывание программ из БРП в МК-52 производилось блоками по 7 байт. Неиспользуемые команды в конце программы оставлены для совместимости и используются при подсчёте контрольной суммы.

2. Существует версия игры длиной 94 байта: http://lordbss.narod.ru/pmk240.html


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