Повторение последовательности сигналов |
Главная / ЭКВМ / Программы для ЭКВМ / Игры |
Особенности игры для ЭКВМДля ЭКВМ в 2013 г. автором Pavabor была разработана усовершенствованная игра (см.: http://mk_152.livejournal.com/50486.html ), частично напоминающая указанную и отличающаяся от неё рядом особенностей.
Игра
ПрограммаТекст игровой программы "Simon" приведён ниже и снабжён комментариями. Файл программы simon3.mkp на ЯМК - 160 байт, КС 22229/19 .CHARSET1251 ; SIMON ; ----- ; ИГРА НА ПОВТОРЕНИЕ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ ; ПОСЛЕ ОСТАНОВА: Х - МАКСИМАЛЬНОЕ КОЛ-ВО ШАГОВ (НА 1 БОЛЬШЕ ПОВТОРЁННЫХ) ; ЗАПУСК И ПЕРЕЗАПУСК: В/О С/П ; УПРАВЛЕНИЕ КНОПКАМИ: - / + * ; ПРИОРИТЕТ ОТДАВАЛСЯ КОМПАКТНОСТИ КОДА В УЩЕРБ ИНТЕРФЕЙСУ ; И ВСЁ РАВНО 2 СТРАНИЦЫ :) ; PAVABOR .OPT 1 .ORG 0 SETXY .EQU 9000 ATTR .EQU 9001 FONT .EQU 9003 SCROLL .EQU 9007 GRINI .EQU 9010 POINT .EQU 9011 LINE .EQU 9012 FBOX .EQU 9013 BOX .EQU 9014 DRAW .EQU 9015 EMIT .EQU 9020 TYPE .EQU 9021 NPRINT .EQU 9023 KEY .EQU 9029 ADDR .EQU 9041 SOUND .EQU 9052 TIMER0 .EQU 9050 START: PGSB INI BOXES: GSB PREDRAW RM5 KPRGM KME ; E - EMIT KRM5 FL0 BOXES RMD 1 - MD ; В ДЕЛЬНЕЙШЕМ БУДЕМ РИСОВАТЬ ЗАКРАШЕННЫЕ КВАДРАТЫ 3 PPM ATTR ; ПО XOR-У MAIN: 0 GSB BEEP1 ; ПАУЗА-РАЗДЕЛИТЬЕЛЬ GSB WAIT PGSB RESRND ; ПЕРЕЗАПУСК ГСЧ И СЧЁТЧИКА SAY: ; ГОВОРИМ PGSB RND GSB SHOW FL1 SAY PGSB RESRND ; ПРЕЗАПУСК ГСЧ И СЧЁТЧИКА LISTEN: ; СЛУШАЕМ PPRM KEY KNOT FX!=0 LISTEN ; ИНВЕРТИРОВАННЫЙ НОМЕР КЛАВИШИ 1 + 3 KAND ; ПРЕОБРАЗОВАНИЕ ИНВЕРТИРОВАННОЙ КЛАВИШИ В НОМЕР ЧЕТВЕРТИ PGSB RND - FX=0 STOP GSB SHOW FL1 LISTEN KRM6 GOTO MAIN STOP: RM6 R/S SHOW: GSB PREDRAW GSB BEEP ; ПОКАЗЫВАЕМ И НАЧИНАЕМ ПИСК GSB DRAWB ; ЗАРАНЕЕ СТИРАЕМ НО НЕ ПОКАЗЫВАЕМ WAIT: PPRM SOUND ; ЖДЁМ ТИШИНЫ FX=0 WAIT K GRPH ; ПОКАЗЫВАЕМ СТЁРТОЕ RTN PREDRAW: GSB TOXY ; ВЫЧИСЛЕНИЕ И ЗАДАНИЕ НАЧАЛА КООРДИНАТ PPM SETXY DRAWB: RMA RMB ; РАЗМЕР ПРЯМОУГОЛЬНИКА ДЛЯ ОТРИСОВКИ KMD ; ВЫЗОВ ПОДПРОГРАММЫ ОТРИСОВКИ RTN TOXY: 1 GSB TOX ; 2 ; ХИТРОЕ ФОРМИРОВАНИЕ КООРДИНАТ R0 - МАСКА ЧЕТВЕРТИ ЭКРАНА *00 *01 *10 *11 TOX: RM0 KAND RMA * ; RTN ; BEEP: RM0 3 + RM9 * ; ПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ ЧАСТОТЫ ЗВУКА BEEP1: RMB ; ЗАДЕРЖКА PPM SOUND KGRPH ; ОБНОВЛЕНИЕ ЭКРАНА RTN RND: RM7 11 * FPI + KFRAC M7 ; КЛАССИЧЕСКИЙ (ДЛЯ МК) ГСЧ - НУЖЕН ДЛЯ ПОЛУЧЕНИЯ ПОВТОРЯЕМОЙ ПОСЛЕДОВАТЕЛЬНОСТИ 4 * KINT M0 RTN RESRND: RMC M7 RM6 M1 ; РЕСТАРТ ГСЧ И СЧЁТЧИКА ШАГОВ RTN INI: Cx ; ИНИЦИАЛИЗАЦИЯ: 1 M6 ; СЧЁТЧИК МАКСИМАЛЬНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ 2 PPM GRINI ; ДИСПЛЕЙ K RAN MC ; ГСЧ 9014 MD ; РЕГИСТР РИСОВАНИЯ РАМКИ/КВАДРАТА 6 + ME ; РЕГИСТР ВЫВОДА СИМВОЛА 32 MA ; БАЗОВЫЕ КООРДИНАТЫ 2 * MB .NUMT CHARS M5 ; УКАЗАТЕЛЬ НА СИМВОЛЫ ДЛЯ ВЫВОДА 110 M9 ; МНОЖИТЕЛЬ ЧАСТОТЫ НОТ 4 M0 ; КОЛ-ВЛ ЧЕТВЕРТЕЙ ДЛЯ ПЕРВОНАЧАЛЬНОЙ ОТРИСОВКИ RTN CHARS: .DB 45, 179, 176, 43 .END
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
НПП "СЕМИКО" (383) 271-01-25 (многоканальный) |