TRD кто-нибудь выложит? :v2_dizzy_hello:
Вид для печати
TRD кто-нибудь выложит? :v2_dizzy_hello:
а готовый результат не можете выложить ?
И убираем инициализацию b, -1. Спорные места еще есть с виду.Код:in a, (0xfe)
rra
rra
jr c, $+4
ld c, 0xe0
rra
jr c, $+4
ld c, 0x20
rra
jr c, $+4
ld c, 0x01
rra
jr c, $+3
ld c, e
ld a, c
rla
sbc a, a
ld b, a
Вообще показательный тред, все это не о чем, ценности не имеет, половина народа даже не запускала, но спасибки понаставила, деградация в чистом виде. Просто заставляет лишний раз задуматься, нафига стараться, если даже последним реально срать.
А ну конечно, еще убрать ненужный ex и вместо него проинициализировать hl. Еще -1
- - - Добавлено - - -
Еще можно начать с ld h, 0x5b, тогда немного загадится буфер принтера и в 128 не заработает, но это вроде как и не требуется. Короче 90 без проблем получается.
Вообщем суммарно
Скрытый текст
Код:device zxspectrum48
org #8000
begin
ld h, #5b
rabbit1
ld (hl), e
ld a, r
cp l
jr z, rabbit2
inc (hl)
rabbit2
dec hl
bit 3, h
jr nz, rabbit1
ld c, l
ld hl, 0x598f
;---
l1
ld (hl), 0x21
ld d, 0x5a
move1
ld a, (de)
dec a
cp 0xfe
jr nc, move2
ld (de), a
move2
jr nz, move3
dec (hl)
move3
dec de
bit 3, d
jr nz, move1
;---
xor a
out (0xfe), a
clr
ld (de), a
dec de
bit 6, d
jr nz, clr
;---
in a, (0xfe)
rra
rra
jr c, $+4
ld c, 0xe0
rra
jr c, $+4
ld c, 0x20
rra
jr c, $+4
ld c, 0x01
rra
jr c, $+3
ld c, e
ld a, c
rla
sbc a, a
ld b, a
;---
ld a, (hl)
and 00100000b
add hl, bc
or (hl)
inc a
cp 7
jr nc, begin
ld a, h
inc a
and 00000011b
jr z, begin
; bit 0, c
; jr z, l1
; ld a, l
; sub c
; xor l
; and 0xe0
; jr nz, begin
jr l1
display /A,$-0x8000
savesna "snake.sna", 0x8000
[свернуть]
84 байта, с небольшим уменьшением скорости, при этом мне стало комфортнее играть.
Скрытый текст
Код:device zxspectrum48
org #8000
begin
ld h, #5b
rabbit1
ld a, r
ld (hl), e
cp l
jr z, rabbit2
inc (hl)
rabbit2
dec hl
bit 3, h
jr nz, rabbit1
ld c, l
ld hl, 0x598f
;---
l1
ld (hl), 0x21
ld d, 0x5a
move1
ld a, (de)
dec a
cp 0xfe
jr nc, move2
ld (de), a
move2
jr nz, move3
dec (hl)
move3
dec de
bit 6, d
jr nz, move1
;---
xor a
out (0xfe), a
in a, (0xfe)
rra
rra
jr c, $+4
ld c, 0xe0
rra
jr c, $+4
ld c, 0x20
rra
jr c, $+4
ld c, 0x01
rra
jr c, $+3
ld c, e
ld a, c
rla
sbc a, a
ld b, a
;---
ld a, (hl)
and 00100000b
add hl, bc
or (hl)
inc a
cp 7
jr nc, begin
ld a, h
inc a
and 00000011b
jr z, begin
jr l1
display /A,$-0x8000
savesna "snake.sna", 0x8000
[свернуть]
Завтра еще гляну, вроде еще можно подужать, жаль что все игроки в "оптимизацию" молчат.
Играть неинтересно, всё съел, и дальше делать нечего.
В классическом Питоне, когда один кролик на поле, но после его съедения увеличивается длина питона и появляется следующий кролик, интереснее.
upd. К тому же ГСЧ на регистре R слабоват, если выдавать сразу пачку кроликов (виден паттерн расстановки), а вот по одному - было бы ок.
а почему нет столкновения с боковыми стенками ?
Ну всё равно, если бы появлялся один кролик за другим, и длина питона увеличивалась от минимума до упора, было бы интереснее, по-моему. Может, займусь на досуге, переделаю.
- - - Добавлено - - -
Но что мне в этой змейке нравится - что она радужная) Ну и длина кода впечатляет, конечно.