
Сообщение от
zst
Скорее всего будут некоторые уровни с большой картой. Для вывода части спрайта я прикинул, что один столбик спрайта можно будет вывести на экран с помощью индексной адресации. В IX или IY записать адрес начала спрайта. А командами LD A,(IX+N) загружать из спрайта нужные байты. Т.е. для неполных спрайтов будет отдельная подпрограмма, более медленная. Еще нужно написать отдельную подпрограмму для вывода спрайта при движении по-вертикали. Там в любом месте может встретиться граница клетки, а ее правильный переход при выводе спрайта занимает очень много времени...
наркоман чтоли? 
это делается так
вот есть вывод спрайта
шириной 3
Код:
слева направо
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc l
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc l
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc h
справа налево
pop de
ld a,(hl)
or e
xor d
ld (hl),a
dec l
pop de
ld a,(hl)
or e
xor d
ld (hl),a
dec l
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc h
значит теперь нам надо добавить вывод спрайта с игнорированием 1 и 2 столбцов справа и 1 и 2 столбцов слева
-1 слева
Код:
слева направо
pop de
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc l
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc h
справа налево
dup2
pop de
ld a,(hl)
or e
xor d
ld (hl),a
dec l
edup
pop de
-2 слева
Код:
слева направо
pop de
pop de
pop de
ld a,(hl)
or e
xor d
ld (hl),a
inc h
справа налево
pop de
ld a,(hl)
or e
xor d
ld (hl),a
pop de
pop de
inc h
для варианта с урезанием спрайта справа напишешь сам 
А где бы почитать про способы описания объектов на карте ?
А как вам скорость движения танка? На мой взгляд очень быстро - надо уменьшить раза в 2-4, особенно для мощных танков.
есть слово .w координата X и есть слово .w координата Y
потом ты по этим двум координатам привязанным к углу карты вычисляешь координаты на экране и выводишь
но у нас в слове вмещается 65536 значений а размер карты будет пусть 512 (2 полных экрана в ширину) тогда
вот наше слово
хххххххх хххххххх
из этого слова нас при выводе на экран интересуют только старшие 9 бит
где
з - смещение в знакоместах (0-63)
т - смещение в знакоместе (0-7) (фактически - величина скольжения спрайта)
д - дробная часть необходимая для задания скорости движения
зззззз тт т ддддддд
если ты делаешь add #0080 то спрайт движется со скоростью 1 точка в цикл
если add #0040 то 1 точка в 2 цикла
другие значения я думаю понятны 
Как правильно делить проект на несколько файлов, в которые можно было бы вынести громоздкие подпрограммы ?
include "имя файла"
тогда при компиляции файл "имя файла" будет подгружен