Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OPTION SCHIP10
- OPTION BINARY
- ALIGN OFF
- ;V0 - координата X invader'а
- ;V1 - координата Y invader'а
- ;V2 - координата X корабля
- ;V3 - координата Y корабля
- ;V4 - хранит временные значния
- ;V5 - направление движения invader'а (0 - влево, 1 - вправо)
- ;V6 - хранит номер нажатой клавиши
- high ;переходим в режим SCHIP
- ld v0,60
- ld v1,5
- call draw_invader
- ld v2,50
- ld v3,56
- call draw_warship
- call set_timer
- ld v5, 1 ;первоначально движемся вправо
- loop:
- ld v4, dt
- sne v4, 0 ;если таймер обнулён, то перерисовываем спрайт
- call move_invader
- ld v6, 4 ;проверяем нажатия клавиш
- sknp v6
- call left
- ld v6, 6
- sknp v6
- call right
- jp loop
- move_invader:
- call draw_invader ;стираем прежний спрайт
- sne v0, 116 ;если достигли края экрана
- ld v5, 0 ;изменить направление движения
- sne v0, 0
- ld v5, 1
- ld v4, 2
- se v5, 0 ;в зависимости от направления движения
- add v0, v4 ;передвигаем вправо на 2 пикселя
- se v5, 1
- sub v0, v4 ;либо влево
- call draw_invader ;рисуем на новом месте
- call set_timer
- ret
- set_timer:
- ld v4, 5
- ld dt, v4
- ret
- draw_invader:
- ld I,invader
- drw v0,v1,0
- ret
- draw_warship:
- ld I,warship
- drw v2,v3,8
- ret
- left:
- call draw_warship
- ld v4, 1
- sub v2, v4
- call draw_warship
- ret
- right:
- call draw_warship
- ld v4, 1
- add v2, v4
- call draw_warship
- ret
- invader: ;спрайт размером 16x16
- dw $..1.....1.......
- dw $...1...1........
- dw $..1111111.......
- dw $.11.111.11......
- dw $11111111111.....
- dw $1.1111111.1.....
- dw $1.1.....1.1.....
- dw $...11.11........
- dw $................
- dw $................
- dw $................
- dw $................
- dw $................
- dw $................
- dw $................
- dw $................
- warship: ;спрайт размером 8x8
- db $...11...
- db $...11...
- db $...11...
- db $..1111..
- db $..1..1..
- db $.111111.
- db $11.11.11
- db $1.1..1.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement