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


         

Мультипликационная заставка



Рисунок 5.7. Мультипликационная заставка

Начнем, как и раньше, с составления блоков данных. Самое простое - это формирование блока, содержащего тексты, без которых не обходится ни одна заставка, будь она статическая или динамическая:

TEXT DEFB 22,2,9,16,6 DEFM "Welcome to the" DEFB 22,5,7,16,7 DEFM "L·I·T·T·L·E··M·A·N" DEFB 22,8,9,16,4 DEFM "0. START GAME" DEFB 22,10,9 DEFM "1. KEYBOARD" DEFB 22,12,9 DEFM "2. KEMPSTON" DEFB 22,14,9 DEFM "3. INSTRUCTIONS" DEFB 22,16,9 DEFM "4. DEFINE KEYS" DEFB 22,19,8,16,3 DEFM "Press key 0 to 4"

Поскольку с выводом текстов мы уже неоднократно сталкивались и подробно их комментировали, то не будем лишний раз заострять на этом внимание и сразу перейдем к следующему блоку. Для кодирования отдельных элементов подвижных изображений вновь воспользуемся символами UDG, определяющими отдельные фрагменты будущих спрайтов.

UDG DEFB 3,3,15,3,6,7,2,1 ; A (144) DEFB 224,224,248,224,176,240,32,19 ; B (145) DEFB 13,29,53,37,7,6,14,0 ; C (146) DEFB 208,216,200,208,240,112,48,56 ; D (147) DEFB 7,7,31,7,13,15,4,3 ; E (148) DEFB 192,192,240,192,96,224,64,128 ; F (149) DEFB 11,27,19,11,15,14,12,28 ; G (150) DEFB 176,184,172,164,224,96,112,0 ; H (151) DEFB 3,3,15,0,4,4,0,1 ; I (152) DEFB 224,224,248,0,16,16,0,192 ; J (153) DEFB 6,27,27,27,7,6,14,0 ; K (154) DEFB 176,120,248,240,240,112,48,56 ; L (155) DEFB 7,7,31,0,8,8,0,3 ; M (156) DEFB 192,192,240,0,32,32,0,128 ; N (157) DEFB 13,30,31,15,15,14,12,28 ; O (158) DEFB 96,216,216,216,224,96,112,0 ; P (159) DEFB 0,28,38,79,95,127,62,28 ; Q (160) DEFB 16,16,16,127,16,16,16,16 ; R (161) DEFB 8,8,8,254,8,8,8,8 ; S (162)

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

SPR1 DEFB 4,0,0,7,144,0,1,7,145,1,0,4,146,1,1,4,147 SPR2 DEFB 4,0,0,7,148,0,1,7,149,1,0,4,150,1,1,4,151 SPR3 DEFB 4,0,0,7,152,0,1,7,153,1,0,4,154,1,1,4,155 SPR4 DEFB 4,0,0,7,156,0,1,7,157,1,0,4,158,1,1,4,159 SPR5 DEFB 2,0,0,6,161,0,1,6,162



Содержание  Назад  Вперед