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



         

Элементы углов рамки - часть 3


LD HL,UDG LD (23675),HL

Мы избавим вас от неблагодарной работы по составлению блока данных для печати рамки и приведем его в уже готовом виде:

RAMKA DEFB 22,4,0,16,5 DEFB 144,145,154,155,155,155,155,155 DEFB 155,155,158,154,155,155,155,155 DEFB 155,155,155,155,158,154,155,155 DEFB 155,155,155,155,155,158,144,145 DEFB 146,147,16,4,156,157,157,157,157,157 DEFB 157,157,159,156,157,157,157,157 DEFB 157,157,157,157,159,156,157,157 DEFB 157,157,157,157,157,159,16,5,146,147

DEFB 16,5,148,16,4,149,22,6,30,16,5,148,16,4,149 DEFB 16,5,152,16,4,153,22,7,30,16,5,152,16,4,153 DEFB 16,5,152,16,4,153,22,8,30,16,5,152,16,4,153 DEFB 16,5,150,16,4,151,22,9,30,16,5,150,16,4,151

DEFB 16,5,148,16,4,149,22,10,30,16,5,148,16,4,149 DEFB 16,5,152,16,4,153,22,11,30,16,5,152,16,4,153 DEFB 16,5,152,16,4,153,22,12,30,16,5,152,16,4,153 DEFB 16,5,150,16,4,151,22,13,30,16,5,150,16,4,151

DEFB 16,5 DEFB 144,145,154,155,155,155,155,155 DEFB 155,155,158,154,155,155,155,155 DEFB 155,155,155,155,158,154,155,155 DEFB 155,155,155,155,155,158,144,145 DEFB 146,147,16,4,156,157,157,157,157,157 DEFB 157,157,159,156,157,157,157,157 DEFB 157,157,157,157,159,156,157,157 DEFB 157,157,157,157,157,159,16,5,146,147

Вы можете заметить, что кроме кодов символов UDG в блок данных включены также и управляющие коды, изменяющие цвет и позицию печати.

Значительно проще составить блок данных для печати текста заставки. Он будет выглядеть примерно так:

TEXT DEFB 22,2,8,16,6 DEFM "*" DEFB 22,2,10,16,3 DEFM "F I G H T E R" DEFB 22,2,24,16,6 DEFM "*" DEFB 22,7,10,16,7 DEFM "Written by :" DEFB 22,9,7 DEFM "Kapultsevich···Igor" DEFB 22,12,5 DEFM "Saint-Petersburg··1994" DEFB 22,17,3,16,6 DEFM "Press any··key to continue"

Покончив с самой утомительной частью работы, нам остается вывести на экран подготовленные блоки данных. Вы уже знаете, как это можно сделать, но тем не менее позвольте дать небольшой совет. Все было очень просто, пока мы не сталкивались с блоками данных внушительных размеров. До сих пор мы ограничивались выводом десятка-другого символов. Но попробуйте-ка подсчитать, сколько байт занимает, например, блок под названием RAMKA. Думается, вас не очень вдохновит такая работа. А что если в текст заставки захочется внести какие-то изменения или дополнения? Снова пересчитывать его длину?




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