Супер! Теперь сетевую через zx.net))))
Вид для печати
Супер! Теперь сетевую через zx.net))))
Есть такая мысль - выложить исподники позже: пусть каждый модифицирует, как хочет. А так: не могу, у меня лапки.
Новый эвфемизм:
"Выложить исходники" - автор больше не планирует поддержку продукта:)
вспоминается рассказ Рэя Бредбери про марсианина.
да, кому надоть, - тот ещщо и из первой версии - себе с мышой да всеми управлениями на любой вкус одновременно ужо сделал :D
кстате, как по 7 байт данных на уровень паковать, - воть, сделано навскидку, раз уж речь зашла: :)
Код:
ifdef LEVPACK
;упаковка
ld hl,lev_dat
xor a
lp_lp0:
inc a
push af
push hl
ld l,a
ld h,#00
ADD HL,HL
LD DE,LEV_TBL
ADD HL,DE
LD A,(HL)
INC HL
LD D,(HL)
LD E,A
pop hl
ld a,(de)
and #07
ld c,a
inc de
ld a,(de)
and #07
add a,a
add a,a
add a,a
or c
ld c,a
inc de
ld a,(de)
rra
jr nc,$+4
set 7,c
ld (hl),c
inc hl
ld b,#06
lp_lp1:
ld (hl),#01
lp_lp2:
inc de
ld a,(de)
rra
rl (hl)
jr nc,lp_lp2
inc hl
djnz lp_lp1
pop af
cp LEV_MAX
jr nz,lp_lp0
endif
.....
GET_LEV:
LD A,(LEVEL_X)
LD L,A
LD H,#00
ifdef LEVPACK
;распаковка
ld c,l
ld b,h
add hl,hl
add hl,hl
add hl,hl
sbc hl,bc ;hl*8-hl=hl*7
ld bc,lev_dat-7
add hl,bc
ld a,(hl)
and #07
LD (L_6137),A
LD (L_6291),A
OR MAP_BUF/256
LD D,A
LD E,#00
LD A,#88
LD (DE),A
ld a,(hl)
rra
rra
rra
and #07
OR MAP_BUF/256
LD D,A
LD E,#08
LD A,#02
LD (DE),A
LD DE,MAP_BUF+1
ld b,#01
lp_dp1
ld c,(hl)
lp_dp2
xor a
rlc c
rla
ld (de),a
inc e
ld a,e
and #07
jr nz,go_dp1
inc d
ld e,#01
ld a,d
cp MAP_BUF/256+7
ret z
go_dp1:
djnz lp_dp2
inc hl
ld b,#08
jr lp_dp1
else
ADD HL,HL
LD DE,LEV_TBL
ADD HL,DE
LD A,(HL)
INC HL
LD H,(HL)
LD L,A
;
LD A,(HL)
INC HL
LD (L_6137),A
LD (L_6291),A
OR MAP_BUF/256
LD D,A
LD E,#00
LD A,#88
LD (DE),A
LD A,(HL)
INC HL
OR MAP_BUF/256
LD D,A
LD E,#08
LD A,#02
LD (DE),A
LD DE,MAP_BUF+1
LD A,#07
L_641C PUSH DE
LD BC,#0007
LDIR
POP DE
INC D
DEC A
JR NZ,L_641C
RET
endif
Да, была такая мысль - сжать уровень. только надо ли?
Можно сделать, как в оригинале - время прохождения ограничено 3-5 минутами. Но я отказался от такой идеи, потому что уровень 1 не все сразу прошли.
350 байт на всю пачку всяко лучше, чем 2550
а если уровней не 50, а 250... :D
больше нет пока. я ссылался на оригинал.
Дошёл до 36-го уровня, и заподозрил что-то знакомое. Проверил - не отличается от 34-го.