Как написать игру для ZX Spectrum на ассемблере

Подъемные гаражные ворота складные складные ворота подъемные.        

Раскрытие ворот замка скроллингом окон



Рисунок 6.7. Раскрытие ворот замка скроллингом окон

Раскрытие ворот замка скроллингом окон

А теперь перейдем непосредственно к программе.

ORG 60000 ENT $ ; Подготовка экрана LD A,7 LD (23693),A XOR A CALL 8859 CALL 3435 LD A,2 CALL 5633 ; Назначение нового адреса символов UDG LD HL,UDG LD (23675),HL ; Вывод на экран изображения крепостной стены с воротами CALL SCRN LD BC,0 CALL 7997 ; Основная часть программы, в которой створки ворот ; со стуком разъезжаются в разные стороны LD B,64 MAIN PUSH BC CALL SCR_LF LD A,0 OUT (254),A CALL SCR_RT LD A,16 OUT (254),A LD BC,6 CALL 7997 POP BC DJNZ MAIN RET ; Формирование изображения крепостной стены с воротами: ; Изображение стены SCRN LD DE,D_WALL LD BC,7 CALL 8252 LD BC,384 SCRN1 LD A,147 RST 16 DEC BC LD A,B OR C JR NZ,SCRN1 ; Зеленая трава LD DE,D_GRAS LD BC,5 CALL 8252 LD B,32 SCRN2 LD A," " RST 16 DJNZ SCRN2 ; Зубцы на стене LD BC,#400 ;AT 4,0 CALL PR_AT LD B,16 SCRN3 LD DE,D_BATT PUSH BC LD BC,10 CALL 8252 POP BC DJNZ SCRN3 ; Ворота LD BC,#908 ;AT 9,8 CALL PR_AT LD B,16 SCRN4 LD A," " RST 16 DJNZ SCRN4 ; Бойницы LD H,4 SCRN5 LD A,H ADD A,7 LD B,A LD C,4 CALL PR_AT LD A," " RST 16 LD C,27 CALL PR_AT LD A," " RST 16 DEC H JR NZ,SCRN5 ; Штыри решетки LD A,16 RST 16 LD A,5 RST 16 LD B,10 ;Y LD H,8 SCRN6 LD L,16 LD C,8 ;X SCRN7 CALL PR_AT LD A,145 RST 16 INC C DEC L JR NZ,SCRN7 INC B DEC H JR NZ,SCRN6 ; Пики решетки LD BC,#A08 ;AT 10,8 CALL PR_AT LD B,16 SCRN8 LD A,144 RST 16 DJNZ SCRN8 ; Узор решетки LD L,2 LD B,13 SCRN9 LD C,8 CALL PR_AT LD B,16 SCRN10 LD A,146 RST 16 DJNZ SCRN10 LD B,16 DEC L JR NZ,SCRN9 RET ; Подпрограмма позиционирования вывода спрайтов PR_AT LD A,22 RST 16 LD A,B RST 16 LD A,C RST 16 RET ; Подпрограммы скроллинга окон

; Данные для левого окна COL DEFB 8 ROW DEFB 10 HGT DEFB 8 LEN DEFB 8 ; Данные для правого окна COL1 DEFB 16 ROW1 DEFB 10 LEN1 DEFB 8 HGT1 DEFB 8 ; Данные для рисования крепостной стены и решетки UDG DEFB 34,34,34,119,34,34,34,34 ;пики (144) DEFB 34,34,34,34,34,34,34,34 ;штыри (145) DEFB 54,42,170,255,170,42,54,34 ;узор (146) DEFB 255,2,2,2,255,32,32,32 ;кирпич (147) ; Данные позиционирования печати D_BATT DEFB 17,2,16,7,147,147,17,0,32,32 D_WALL DEFB 22,6,0,17,2,16,7 D_GRAS DEFB 22,18,0,17,4



Содержание раздела