0,0 → 1,2174 |
|
WND_COLOR equ 0x02aa00FF |
|
use32 |
org 0x0 |
db 'MENUET01' |
dd 0x01 |
dd START |
dd I_END |
dd 0x300000 |
dd 0x27fff0 |
dd 0x0 |
dd 0x0 |
|
include 'lang.inc' |
include '..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
|
include 'ASCL.INC' |
include 'ASCGL.INC' |
|
|
|
gif_hash_offset = gif_hash_area |
COLOR_ORDER equ MENUETOS |
|
DELAY equ 2 ; ¤¥à¦ª ¯¥à¥¤ ¯¥à¥å®¤®¬ ª á«¥¤ãî饬㠪 ¤àã ¢ ¬á¥ª |
|
START: |
;**************** |
; âªàë¢ ¥¬ ä ¨« |
;**************** |
openfile: |
; and [entered],0 |
; mov ecx,499*3*4 ;at start |
xor ecx,ecx |
mov ecx,1 |
|
; Convert gif to animation format |
giftoani workarea,Image,ecx |
bmptoimg bullet_bmp, img_bullet |
bmptoimg level_bmp, img_level |
bmptoimg kirpich, img_area |
bmptoimg kirpich2, img_area2 |
bmptoimg kirpich3, img_area3 |
bmptoimg lest_bmp, img_lestniza |
bmptoimg water1_bmp, img_water1 |
bmptoimg water2_bmp, img_water2 |
bmptoimg door1_bmp, img_door1 |
bmptoimg door2_bmp, img_door2 |
|
|
red: |
call timer |
call draw_window |
; call load_level |
; delay 200 |
|
still: |
timeevent DELAY,no_event, red, key, button |
|
no_event: |
call draw_subimage |
jmp still |
|
key: |
; ¡«®ª ¤¢¨¦¥¨ï ¯¥àá® ¦ |
mov eax,2 |
int 0x40 |
cmp ah, 179 ; ¯à ¢® 4 |
je go_mov |
cmp ah, 176 ; «¥¢® 1 |
je go_mov |
cmp ah, 178 ; ¢¥àå 3 |
je go_mov |
cmp ah, 177 ; ¨§ 2 |
je go_mov |
cmp ah, 120 ; ¨§ 2 |
je go_fire |
cmp ah, 122 ; ¨§ 2 |
je go_fire |
cmp ah, 239 ; ¨§ 2 |
je go_fire_left |
cmp ah, 231 ; ¨§ 2 |
je go_fire |
|
|
jmp no_mov ; if not left, right, up, down, then go NO MOV |
|
go_mov: |
;mov ebx, [v_mov2] |
mov [v_mov2], ah |
sub word [v_mov2], 175 ; ®â¨¬ ¥¬ ®â ª®¤ ª« ¢¨è¨ 175 ¨ ®áâ ¥âáï 1,2,3 ¨«¨ 4 ᮮ⢥âá⢥® ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ |
jmp no_mov ; if not left, right, up, down, then go NO MOV |
|
go_fire_left: |
xor eax,eax |
mov ah, 122 |
call fire |
jmp no_mov |
go_fire: |
call fire |
no_mov: |
; ª®¥æ ¡«®ª ¤¢¨¦¥¨ï ¯¥àá® ¦ |
jmp still |
|
button: |
mov eax, 17 |
int 0x40 |
|
cmp ah,1 |
jne noclose |
_close: |
or eax,-1 |
int 0x40 |
noclose: |
jmp still |
|
; ********************************************* |
; *******
******* |
; ********************************************* |
|
draw_window: |
startwd |
|
mov eax,0 |
mov ebx,50*65536+522 |
mov ecx,50*65536+536 |
mov edx,WND_COLOR |
mov esi,0x8050FFd0 |
mov edi,0x005080d0 |
int 0x40 |
|
label 8,6,'
¤«ï ®«¨¡à¨ <<<RU095@YANDEX.RU>>> z/x áâ५ïâì',cl_White+font_Big |
|
mov eax,8 |
mov ebx,(500)*65536+12 |
mov ecx,5*65536+12 |
mov edx,1 |
mov esi,0x000000 |
int 0x40 |
|
xor ecx,ecx |
call draw_subimage |
cmp [imgcount],1 |
je .enddraw |
|
mov ecx,[img_index] |
|
call draw_subimage |
|
.enddraw: |
|
endwd |
|
|
ret |
|
;******************************************* |
; LABIRINT |
;******************************************* |
|
labirint: |
|
; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨â |
cycle: |
|
mov eax, [Lab] |
shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32 |
mov [perem1], eax |
mov eax, [Lab] |
shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢® |
shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256) |
mov [perem2], eax |
shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> -256*X |
sbb dword [perem1], eax; |
|
mov ebx, [Lab] |
sbb ebx, 1 |
mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ |
|
cmp ah, 1 ; |
je go_block |
|
cmp ah, 0 ; |
je back_block |
|
cmp ah, 12 ; § ªà áª ä® § «¬ §®¬ |
je back_block |
|
cmp ah, 3 ; |
je boom_block |
|
cmp ah, 16 ; |
je door_block |
|
cmp ah, 2 ; § ªà áª ä® § «¬ §®¬ |
je cool_block |
|
jmp end_block |
go_block: |
imgtoimg img_area,dword [perem1],dword [perem2],canvas |
jmp end_block |
|
cool_block: |
imgtoimg img_area3,dword [perem1],dword [perem2],canvas |
jmp end_block |
|
|
back_block: |
imgtoimg img_area2,dword [perem1],dword [perem2],canvas |
jmp end_block |
|
door_block: |
imgtoimg img_door1,dword [perem1],dword [perem2],canvas |
|
mov eax, [gold] |
cmp ax, 10 ; ¥á«¨ á®¡à ® ¡®«¥¥ 10 «¬ §®¢ ¤¢¥àì ®âªàëâ |
jna end_block |
imgtoimg img_door2,dword [perem1],dword [perem2],canvas |
jmp end_block |
|
|
boom_block: |
imgtoimg img_area,dword [perem1],dword [perem2],canvas |
mov ebp,18 ; ª ¤à |
mov eax, dword [perem1] |
mov dword [X_anime], eax |
mov eax, dword [perem2] |
mov dword [Y_anime], eax |
call animashka |
|
mov ecx, [timer1] ; |
and ecx, 15 |
cmp ecx, 0 |
jne end_block |
|
mov ebx, [Lab] |
mov byte [Dangeon + ebx], 0 ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ |
|
|
end_block: |
|
add word [Lab],1 |
mov eax, [Lab] |
|
cmp eax, 256 ; if eax == 0 |
je cycle_end ; jump to cycle_end: |
jmp cycle ; |
|
cycle_end: |
|
mov eax, 0 |
mov [Lab],eax |
|
ret ; END labirint |
|
|
;******************************************* |
;
|
;******************************************* |
lestniza: |
; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨â |
cycle2: |
|
mov eax, [Lab] |
shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32 |
mov [perem1], eax |
mov eax, [Lab] |
shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢® |
shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256) |
mov [perem2], eax |
shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> -256*X |
sbb dword [perem1], eax; |
|
|
mov ebx, [Lab] |
sbb ebx, 1 |
mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ |
|
cmp ah, 8 ; |
je go_lestniza |
|
jmp end_lestniza |
go_lestniza: |
|
imgtoimg img_lestniza,dword [perem1],dword [perem2],canvas |
end_lestniza: |
|
add word [Lab],1 |
mov eax, [Lab] |
|
cmp eax, 256 ; if eax == 0 |
je cycle2_end ; jump to cycle_end: |
jmp cycle2 ; |
|
cycle2_end: |
|
mov eax, 0 |
mov [Lab],eax |
|
|
ret ; END lestniza |
|
|
|
;******************************************* |
; ¨ |
;******************************************* |
water: |
|
; ¢ë¢®¤ ¢®¤ë « ¡¨à¨â |
cycle3: |
|
mov eax, [Lab] |
shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32 |
mov [perem1], eax |
mov eax, [Lab] |
shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢® |
shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256) |
mov [perem2], eax |
shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> -256*X |
sbb dword [perem1], eax; |
|
|
mov ebx, [Lab] |
sbb ebx, 1 |
mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ |
|
cmp ah, 4 ; |
je go_water |
|
cmp ah, 12 ; à¨á®¢ ¨¥ «¬ §®¢ |
je go_almaz |
|
jmp end_water |
go_water: |
mov eax,0 ; |
mov eax, [timer1]; |
and eax, 15 |
cmp eax, 7 ; |
jb go_water2 |
|
imgtoimg img_water1,dword [perem1],dword [perem2],canvas |
jmp end_water |
|
go_water2: |
imgtoimg img_water2,dword [perem1],dword [perem2],canvas |
|
jmp end_water |
go_almaz: |
|
mov eax,0 ; |
mov eax, [timer1]; |
and eax, 31 |
|
cmp eax, 10 |
ja almaz2 |
|
mov ebp,14 ; ª ¤à |
mov eax, dword [perem1] |
mov dword [X_anime], eax |
mov eax, dword [perem2] |
mov dword [Y_anime], eax |
call animashka |
jmp end_water |
|
almaz2: |
cmp eax, 20 |
ja almaz3 |
|
mov ebp,15 ; ª ¤à |
mov eax, dword [perem1] |
mov dword [X_anime], eax |
mov eax, dword [perem2] |
mov dword [Y_anime], eax |
call animashka |
jmp end_water |
|
almaz3: |
mov ebp,16 ; ª ¤à |
mov eax, dword [perem1] |
mov dword [X_anime], eax |
mov eax, dword [perem2] |
mov dword [Y_anime], eax |
call animashka |
|
|
end_water: |
|
add word [Lab],1 |
mov eax, [Lab] |
|
cmp eax, 256 ; if eax == 0 |
je cycle3_end ; jump to cycle_end: |
jmp cycle3 ; |
|
cycle3_end: |
|
mov eax, 0 |
mov [Lab],eax |
|
|
ret ; END water |
|
|
;******************************************* |
; 뢮¤¨¬ á«¥¤ãî騩 ª ¤à ¨§ ᯨ᪠ª à⨮ª |
;******************************************* |
draw_subimage: |
;aframetoimg Image,32, 32,canvas,0x00ffffff ;
, ¯à®§à çë©
|
|
call labirint |
call lestniza |
call enemy_mas |
call enemy_mov |
;------------------------------------------------------------------------------- |
mov ebx, [gold] |
cmp bx, 5 ;㢥«¨ç¥¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9 |
jna lov_velo |
call enemy_mas |
call enemy_mov |
lov_velo: |
;------------------------------------------------------------------------------- |
;------------------------------------------------------------------------------- |
mov ebx, [gold] |
cmp bx, 9 ;㢥«¨ç¥¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9 |
jna lov_velo2 |
call enemy_mas |
call enemy_mov |
lov_velo2: |
;------------------------------------------------------------------------------- |
; call enemy_mas |
; call enemy_mov |
call hiro |
call hiro_mov |
call water |
|
call bullet_mov |
call bullet_mov |
call bullet_mov |
call bullet_mas |
call bullet_mov |
call bullet_mov |
call bullet_mov |
call bullet_mas |
call proverka_gold |
call potop |
|
setimg 6,20,canvas |
|
call timer |
call tablo |
ret |
|
;@@@@@@@@@@@@@@@@@@ |
animashka: |
;!!! ¯¥à¥¤ ¢ë§®¢®¬ ¯à®æ¥¤ãàë ¤®«¦¥ ¡ëâì ãáâ ®¢«¥ ebx[®¬¥à ª ¤à ] ¨ x,y |
|
mov edi,coords |
mov esi, Image ; £¨ä ¨¬ èª ¢ ¯ ¬ï⨠|
; |
; mov ebp, dword [edi+8] ;ecx §¤¥áì ª®ªà¥âë© ®¬¥à ¢ë¢®¤¨¬®£® ª ¤à |
; inc ebp ; 㢥«¨ç¥¨¥ ª ¤à |
; cmp ebp,3 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ª ¤à®¢ !!!!!!! |
; jna ok_fr ; ¥á«¨ ¢ë¢®¤¨¬ë ª ¤à ¬¥ìè¥ ¬ ªá¨¬ «ì®£® ª®«¨ç¥á⢠ª ¤à®¢ |
;!!!!!!!!! mov ebp,2 ;®¡ã«¥¨¥ ª ¤à |
|
ok_fr: |
mov dword [edi+8], ebp ;®¬¥à ¢ë¢®¤¨¬®£® ª ¤à |
loo: |
cmp ebp,0 ; ¥á«¨ ª ¤à ã«¥¢®© â® áà §ã ¢ë¢®¤ ? |
je setpic |
movzx eax,word [esi+4] ; ¥á«¨ ¥â ⮠㢥«¨ç¨¢ ¥¬ å ã ? |
movzx ebx,word [esi+6] |
mul ebx ;dword [esi+4] 㬮¦ ¥â ebx eax ¨ १ã«ìâ â ¢ eax edx |
mov ebx,3 ; ª®«¨ç¥á⢮ ª ¤à®¢ ??? |
mul ebx |
add eax,8 |
add esi,eax |
dec ebp |
jmp loo |
setpic: |
|
pushad |
; aframetoimg esi,dword [edi], dword [edi+4],canvas,0x00ffffff ;
, ¯à®§à çë©
|
; aframetoimg esi,32, 32,canvas,0x00ffffff ;
, ¯à®§à çë©
|
aframetoimg esi,dword [X_anime],dword [Y_anime],canvas,0x00ffffff ;
, ¯à®§à çë©
|
;call enemy_mas |
popad |
ret |
;@@@@@@@@@@@@@@ |
|
|
;-------------- TIMER -------------- |
timer: |
mov eax,0 ; |
mov eax,[timer1] ; |
add eax, 1; |
mov [timer1], eax |
|
cmp eax, 64 ; â ©¬¥à ®â 0 ¤® 64 |
je nul_timer |
jmp timer_dalee |
nul_timer : |
mov [timer1], 0 |
timer_dalee: |
ret |
;-------------- TIMER -------------- |
|
|
|
|
|
;******************************************* |
; ENEMY |
;******************************************* |
|
enemy_mas: ; ¢ë¢®¤ ENEmy ENEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!! |
|
mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 |
|
cycle4: |
|
mov ebx, 0 |
mov ecx, 0 |
mov edx, 0 |
mov esi, 0 |
|
mov word bx, [Lab2] |
mov word ax,[Enemy+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ |
|
cmp ax, 1 ; ®¡ëçë© ¢à £ ®¬¥à 1 |
je go_enemy |
|
jmp end_enemy |
go_enemy: |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Enemy + bx] |
mov word [X_enemy], ax |
|
add word bx, 2 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Enemy + ebx] |
mov word [Y_enemy], ax |
|
add word bx, 2 ; ¯®«®¦¥¨¥ ¢ ¬ áᨢ¥ ¤ ®£® ¢à £ |
mov word ax, [Enemy + ebx] |
mov word [lab_enemy], ax |
|
add word bx, 2 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word ax, [Enemy + ebx] |
mov word [mov_enemy], ax |
|
add word bx, 2 ; enemy LIFE |
mov word ax, [Enemy + ebx] |
mov word [life_enemy], ax |
|
cmp ax, 499; ; § ¬®à®¦¥ë¥ ¢à £¨ |
ja enemy_dalee |
mov ebp,2 ; ª ¤à |
mov eax, dword [X_enemy] |
mov dword [X_anime], eax |
mov eax, dword [Y_enemy] |
mov dword [Y_anime], eax |
call animashka |
jmp enemy_bmp_end |
|
|
|
enemy_dalee: |
xor eax,eax ; |
mov eax, [X_enemy] ; |
and eax, 15 |
cmp ax, 7; |
ja enemy_1 |
|
jmp enemy_2 |
|
enemy_1: |
|
mov ebp,0 ; ª ¤à |
mov eax, dword [X_enemy] |
mov dword [X_anime], eax |
mov eax, dword [Y_enemy] |
mov dword [Y_anime], eax |
call animashka |
|
jmp enemy_bmp_end |
|
enemy_2: |
mov ebp,1 ; ª ¤à |
mov eax, dword [X_enemy] |
mov dword [X_anime], eax |
mov eax, dword [Y_enemy] |
mov dword [Y_anime], eax |
call animashka |
enemy_bmp_end: |
|
end_enemy: |
|
mov eax, 0 |
mov word ax, [Lab2] |
|
cmp ax, 96 ; if eax == 0 |
je cycle4_end ; jump to cycle_end: |
|
add word [Lab2],12 |
|
jmp cycle4 ; |
|
cycle4_end: |
|
ret ; END eNEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!! |
|
;$$$$$$$$$$$$$$$$$$$$$$$$$$ |
; ENEMY MOV |
;$$$$$$$$$$$$$$$$$$$$$$$$$$ |
enemy_mov: |
mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 |
|
cycle5: |
|
mov ebx, 0 |
mov ecx, 0 |
mov edx, 0 |
mov esi, 0 |
|
mov word bx, [Lab2] |
mov word ax,[Enemy+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ |
|
cmp ax, 1 ; ®¡ëçë© ¢à £ ®¬¥à 1 |
je go_mov_enemy |
|
jmp end_mov_enemy |
go_mov_enemy: |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Enemy + bx] |
mov word [X_enemy], ax |
|
add word bx, 2 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Enemy + ebx] |
mov word [Y_enemy], ax |
|
add word bx, 2 ; ¯®«®¦¥¨¥ ¢ ¬ áᨢ¥ ¤ ®£® ¢à £ |
mov word ax, [Enemy + ebx] |
mov word [lab_enemy], ax |
|
add word bx, 2 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word ax, [Enemy + ebx] |
mov word [mov_enemy], ax |
|
add word bx, 2 ; enemy LIFE |
mov word ax, [Enemy + ebx] |
mov word [life_enemy], ax |
|
cmp ax, 499; ; § ¬®à®¦¥ë¥ ¢à £¨ |
ja dalee_enemy_mov |
add ax, 1 |
|
mov word [Enemy + ebx], ax |
|
jmp end_mov_enemy |
|
dalee_enemy_mov: |
; ¡«®ª ¯®¥¤ ¨ï £¥à®ï |
mov ax, [Xpl] |
add ax, 23 |
cmp ax, [X_enemy] |
jna ne_em |
sbb ax, 45 |
cmp ax, [X_enemy] |
ja ne_em |
mov ax, [Ypl] |
add ax, 23 |
cmp ax, [Y_enemy] |
jna ne_em |
sbb ax, 45 |
cmp ax, [Y_enemy] |
ja ne_em |
call load_level ; DEAD HIRO |
delay 150 |
|
ne_em: |
;«®ª ¯®¯ ¤ ¨ï 1 ¯ã«¨ |
|
mov word bx, 0 |
mov word ax,[Bullet + ebx] |
cmp ax, 0 |
je no_bullet |
|
add word bx, 2 ; [Xpl] |
mov word cx, [Bullet + ebx] |
|
add word bx, 2 ; [Ypl] |
mov word dx, [Bullet + ebx] |
|
cmp dx, [Y_enemy] |
jna no_bullet |
sbb dx, 32 |
cmp dx, [Y_enemy] |
ja no_bullet |
cmp cx, [X_enemy] |
jna no_bullet |
sbb cx, 32 |
cmp cx, [X_enemy] |
ja no_bullet |
mov word bx, [Lab2] |
add word bx, 10 ; enemy LIFE |
mov word [Enemy + ebx],0 |
|
mov byte [Bullet], 0 ; |
|
no_bullet: |
|
|
;
|
mov word ax, [mov_enemy] ; |
cmp ax, 1 ; left ; |
jne next_2 ; |
sbb word [X_enemy], 1 ; |
mov word ax, [X_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
; |
next_2: ; |
cmp ax, 2 ; down ; |
jne next_3 ; |
add word [Y_enemy], 1 ; |
mov word ax, [Y_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
; |
next_3: ; |
cmp ax, 3 ; up ; |
jne next_4 ; |
sbb word [Y_enemy], 1 ; |
mov word ax, [Y_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
; |
next_4: ; |
cmp ax, 4 ; right ; |
jne next_end |
|
;à ¢¨â 樮 ï § ¯« ⪠«¥ç¨â âà ¡« - ª®£¤ ¢à £ ¤¢¨£ ¥âáï á«¥¢ ¯à ¢® â® ¯à®«¥â ¥â ®¤¨ ¯ãá⮩ ¡«®ª |
mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp bx, 0 ; |
jne n4_dalee ; |
mov bx,[lab_enemy] |
add bx,16 |
mov ax, [Dangeon + bx] |
and eax,15 |
cmp word ax, 0 |
je next_end |
cmp word ax, 4 |
je next_end |
;ª®¥æ § ¯« ⪨ |
|
n4_dalee: |
; |
add word [X_enemy], 1 ; |
mov word ax, [X_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
; |
next_end: |
;END
|
|
; |
|
; ¤®¬ë© ¢ë¡®à «¥á¨æ¥ |
mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp bx, 0 ; |
jne end_les ; |
mov word bx, [Y_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp bx, 0 ; |
jne end_les ; |
|
random 300, eax |
|
cmp eax, 150 |
ja les2 |
jmp end_up_or_down |
les2: |
|
mov eax, [Ypl] |
cmp eax, [Y_enemy] |
jna bolee |
mov word [mov_enemy],2 ; ¢¨§ |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
jmp end_les |
|
bolee: |
mov word [mov_enemy],3 ; up |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
jmp end_les |
|
end_up_or_down: |
|
random 300, eax |
cmp eax, 150 |
ja les22 |
jmp end_les |
les22: |
|
mov eax, [Xpl] |
cmp eax, [X_enemy] |
jna bolee2 |
mov word [mov_enemy],4 ; ¢¨§ |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
jmp end_les |
|
bolee2: |
mov word [mov_enemy],1 ; up |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
|
end_les: |
; end ¤®¬ë© ¢ë¡®à «¥á¨æ¥ |
|
;à ¢¨â æ¨ï |
mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp bx, 0 ; |
jne end_grava ; |
|
mov bx,[lab_enemy] |
add bx,16 |
mov ax, [Dangeon + bx] |
|
and eax,15 |
cmp word ax, 0 |
je grava |
cmp word ax, 4 |
je grava |
jmp end_grava |
grava: |
mov word [mov_enemy], 2 ; padenie |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
|
end_grava: |
;ª®¥æ £à ¢¨â 樨 |
|
;¡«®ª à áç¥â ¯®«®¦¥¨ï ¢à £ ¢ « ¡¨à¨â¥ |
mov eax, 0 ; |
mov eax, [Y_enemy] ; |
shr eax, 5 ; |
shl eax, 4 ; |
mov ebx, 0 ; |
mov ebx, [X_enemy] ; |
shr ebx, 5 ; |
add eax, ebx ; |
mov [lab_enemy], eax ; |
mov word bx, [Lab2] ; |
add word bx, 6 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
;¡«®ª à áç¥â ¯®«®¦¥¨ï ¢à £ ¢ « ¡¨à¨â¥ |
|
|
|
|
|
|
;
¨¦¥¨ï |
mov word bx, [Y_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and bx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp bx, 0 ; |
jne end_zapret ; |
mov word ax, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ax, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp ax, 0 ; |
jne end_zapret ; |
|
mov word ax, [mov_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
|
cmp ax, 0 |
jne duma1 |
; ¤®¬ë© ¢ë¡®à ¤¢¨¦¥¨ï |
mov eax, [timer1] |
and eax, 3 |
cmp eax, 0 |
jne dalee_duma1 |
add eax, 4 |
dalee_duma1: |
|
mov word [mov_enemy], ax ; |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
|
|
|
duma1: |
cmp ax, 4 |
jne duma2 ; ¯à¢¥àª á¯à ¢ |
mov bx,[lab_enemy] |
add bx,1 |
mov ax, [Dangeon + bx] |
and eax,3 |
cmp ax, 0 |
jne duma_stop |
jmp duma_end |
|
duma2: |
cmp ax, 1 |
jne duma3 ; á«¥¢ |
mov bx,[lab_enemy] |
sbb bx,1 |
mov ax, [Dangeon + bx] |
and eax,3 |
cmp ax, 0 |
jne duma_stop |
jmp duma_end |
|
duma3: |
cmp ax, 2 |
jne duma4 ; ᨧã |
mov bx,[lab_enemy] |
add bx,16 |
mov ax, [Dangeon + bx] |
and eax,3 |
cmp ax, 0 |
jne duma_stop |
jmp duma_end |
|
duma4: |
cmp ax, 3 |
jne duma_stop ; ᢥàåã |
|
mov bx,[lab_enemy] ; ¥á«¨ ª¨à¯¨ç ¤ £®«®¢®© |
sbb bx,16 |
mov ax, [Dangeon + bx] |
and eax,3 |
cmp ax, 0 ; ¥á«¨ ª¨à¯¨ç ¤ £®«®¢®© |
jne duma_stop |
|
mov bx,[lab_enemy] ; ¥á«¨ ¢à £ ¥ «¥á¨æ¥ |
mov ax, [Dangeon + bx] |
and eax,15 |
cmp ax, 8 |
jne duma_stop |
|
jmp duma_end |
|
duma_stop: |
|
mov word [mov_enemy], 0 ; |
mov word ax, [mov_enemy] ; |
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
|
duma_end: |
|
end_zapret: |
;ª®¥æ § ¯à¥â |
|
end_mov_enemy: |
|
mov eax, 0 |
mov word ax, [Lab2] |
|
cmp ax, 96 ; if eax == 0 |
je cycle5_end ; jump to cycle_end: |
|
add word [Lab2],12 |
|
jmp cycle5 ; |
|
cycle5_end: |
|
|
ret |
|
;***************************** |
; HIRO |
;***************************** |
|
hiro: |
|
mov ecx, [v_fire] ;áâà¥«ì¡ |
cmp ecx, 0 |
je next_anima |
cmp ecx, 1 |
je wprawo |
mov ebp,12 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
mov ecx, [timer1] ;áâà¥«ì¡ |
and ecx, 15 |
cmp ecx, 0 |
jne end_hiro |
mov dword [v_fire], 0 |
jmp end_hiro |
|
wprawo: |
mov ebp,11 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
mov ecx, [timer1] ;áâà¥«ì¡ |
and ecx, 15 |
cmp ecx, 0 |
jne end_hiro |
mov dword [v_fire], 0 |
jmp end_hiro |
|
;áâà¥«ì¡ |
jmp end_hiro |
|
next_anima: |
mov eax, [v_mov] |
cmp eax, 1 |
jne next_r |
mov eax,0 ; |
mov eax, [Xpl]; |
and eax, 15 |
cmp eax, 7 ; |
ja next_l1 |
|
mov ebp,3 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
jmp end_hiro |
|
next_l1: |
mov ebp,5 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
pusha |
mcall 55, eax, , , Music_mov ; §¢ãª ¢ëáâ५ |
popa |
|
jmp end_hiro |
|
next_r: |
cmp eax, 4 |
jne next_d |
|
mov eax,0 ; |
mov eax, [Xpl]; |
and eax, 15 |
cmp eax, 7 ; |
ja next_d1 |
|
mov ebp,4 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
|
pusha |
mcall 55, eax, , , Music_mov ; §¢ãª ¢ëáâ५ |
popa |
jmp end_hiro |
|
next_d1: |
mov ebp,6 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
|
jmp end_hiro |
|
next_d: |
cmp eax, 2 |
jne next_u |
mov ebp,13 ; ª ¤à |
mov eax, [temp2] |
cmp eax, 8 |
jne padaem |
mov ebp,10 ; ª ¤à |
padaem: |
mov eax, [temp5] |
cmp eax, 8 |
jne padaem2 |
mov ebp,10 ; ª ¤à |
padaem2: |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
jmp end_hiro |
|
next_u: |
cmp eax, 3 |
jne next_s |
mov eax,0 ; |
mov eax, [Ypl]; |
and eax, 15 |
cmp eax, 7 ; |
ja next_u1 |
|
mov ebp,10 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
jmp end_hiro |
|
next_u1: |
mov ebp,9 ; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
|
jmp end_hiro |
|
next_s: |
cmp eax, 0 |
jne next_s |
mov ebp,17; ª ¤à |
mov eax, dword [Xpl] |
mov dword [X_anime], eax |
mov eax, dword [Ypl] |
mov dword [Y_anime], eax |
call animashka |
jmp end_hiro |
|
end_hiro: |
|
ret ; END Hiro |
;************** |
; end HIRO |
;************** |
|
|
;**************** |
; Hiro MOV |
;**************** |
hiro_mov: |
|
;
|
|
; ¢ëç¨á«¥¨¥ á®á¥¤¨å ¡«®ª®¢ |
mov ebx, [hiro_lab] |
sbb ebx,2 |
mov eax,[Dangeon + bx] ; up |
mov [temp1], ah ; temp4 |
; |
add ebx,1 ; left hiro right |
mov eax,[Dangeon + bx] ; temp1 temp2 temp3 |
mov [temp2], ah ; |
|
;------------------------------------------------------------------------------- |
; ¡®à «¬ §®¢ |
;------------------------------------------------------------------------------- |
mov ecx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ecx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
|
mov edx, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and edx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
or edx,ecx ; ë ç¥âª® ᯮ§¨æ¨®¨à®¢ ë ¯® ¨ |
cmp edx, 0 |
jne no_almaz |
|
cmp ah, 12 |
jne no_almaz |
xor cx, cx |
add ebx,1 ; !!! ¡¥§ ¥¥ ¯®ç¥¬ãâ® ®¡ã«ï¥â ¥ «¬ §ë á®á¥¤¨¥ ¡«®ª¨ |
mov [Dangeon + bx], ch |
sbb ebx, 1 ; !!! |
mov ecx, [gold] |
add ecx, 1 |
mov [gold], ecx |
pusha |
mcall 55, eax, , , Music_almaz ; §¢ãª Almaz |
popa |
no_almaz: |
;------------------------------------------------------------------------------- |
; ¡®à «¬ §®¢ |
;------------------------------------------------------------------------------- |
; down |
add ebx,1 ; temp5 |
mov eax,[Dangeon + bx] ; |
mov [temp3], ah |
|
sbb ebx,16 ; !!!!!!!!!!!! |
mov eax,[Dangeon + bx] ; ¯à¨ ®âáãâá⢨¨ ¡¨¡«¨®â¥ª¨ MACROS.INC ebx=17 |
mov [temp4], ah |
|
add ebx,32 ; |
mov eax,[Dangeon + bx] ; |
mov [temp5], ah |
; ¢ëç¨á«¥¨¥ á®á¥¤¨å ¡«®ª®¢ |
|
|
|
|
|
;à §à¥è¥¨¥ ¤¢¨¦¥¨¥ |
mov eax,0 ; |
mov eax,[v_mov2] ; |
and eax,7 |
and eax,2 |
cmp eax, 2 |
je smena |
|
mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp ebx, 0 ; |
jne end_tamgna ; |
smena: |
|
mov eax,0 ; |
mov eax,[v_mov2] ; |
and eax,7 |
and eax,2 |
cmp eax, 0 |
je smena2 |
|
mov ebx, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp ebx, 0 ; |
jne end_tamgna ; |
|
smena2: |
mov eax, [v_mov2] |
and eax, 7 |
mov [v_mov], eax |
end_tamgna: |
;à §à¥è¥¨¥ ¤¢¨¦¥¨¥ |
|
|
;
|
mov ebx, [Ypl] ; |
and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp ebx, 0 ; |
jne end_stop ; |
mov eax, [Xpl] ; ¡¥§ ¬ ªà®á í⮣® ¡«®ª ¥ ¡ë«® ® ¡ë« ¢ãâਠ¡«®ª ã¯¨à ¨© |
and eax, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
cmp eax, 0 ; |
jne end_stop ; |
mov eax, [v_mov] |
|
cmp eax, 2 |
je stop_d |
jmp stop_u |
|
stop_d: |
mov ebx, [temp5] |
;§ ¯« ⪠2 à ¢® 1 ¥á«¨ ¡¥â® â® íâ® ª ª ª¨à¯¨ç, ¨ ç¥ £¥à®© ¯à®å®¤¨â ᪢®§ì ¡¥â® |
|
cmp ebx, 2 |
jne no_zaplat1 |
|
sbb ebx,1 |
|
no_zaplat1: |
|
and ebx,3 |
or eax, ebx |
|
cmp eax, 2 |
je end_stop |
mov ebx, 0 |
mov [v_mov], ebx |
|
stop_u: |
cmp eax, 3 |
jne stop_l |
|
mov ebx, [temp4] |
and ebx,3 |
and eax, ebx |
|
; mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
; and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
; cmp ebx, 0 ; |
; jne end_stop ; |
|
|
cmp eax, 0 |
je end_stop |
mov ebx, 0 |
mov [v_mov], ebx |
|
stop_l: |
cmp eax, 1 |
jne stop_r |
|
mov ebx, [temp1] |
and ebx,3 |
|
; mov eax, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
; and eax, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
; cmp eax, 0 ; |
; jne end_stop ; |
|
cmp ebx, 0 |
je end_stop |
mov ebx, 0 |
mov [v_mov], ebx |
|
stop_r: |
cmp eax, 4 |
jne end_stop |
|
mov ebx, [temp3] |
and ebx,3 |
|
cmp ebx, 0 |
je end_stop |
mov ebx, 0 |
mov [v_mov], ebx |
|
end_stop: |
;
|
|
|
;GRAVITACION |
mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
|
mov eax, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
and eax, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª |
or eax,ebx ; ë ç¥âª® ᯮ§¨æ¨®¨à®¢ ë ¯® ¨ |
cmp eax, 0 |
jne end_grav |
|
mov ebx, [temp2] ; |
cmp ebx, 0 ; § ¯à¥â ¯à릪¨ ¢¢¥àå |
jne end_grav ; |
mov ebx, [v_mov] ; |
cmp ebx, 3 ; |
jne dalee_gra ; |
mov ebx, 0 ; |
mov [v_mov],ebx ; |
mov ebx, 0 ; |
mov [v_mov2],ebx ; |
|
dalee_gra: |
add eax, [temp5] ; |
cmp eax, 0 ; ¯ ¤¥¨¥ ¢ ¯ãáâ®âã |
jne dalee_g ; |
mov eax, 2 ; |
mov [v_mov],eax ; |
mov eax, 0 ; |
mov [v_mov2],eax ; |
|
dalee_g: |
cmp eax, 4 ; |
jne dalee_g2 ; ¯ ¤¥¨¥ ¢ ¢®¤ã |
mov eax, 2 ; |
mov [v_mov],eax ; |
mov eax, 0 ; |
mov [v_mov2],eax ; |
|
dalee_g2: |
cmp eax, 12 ; |
jne end_grav ; ¯ ¤¥¨¥ «¬ § |
mov eax, 2 ; |
mov [v_mov],eax ; |
mov eax, 0 ; |
mov [v_mov2],eax ; |
|
end_grav: |
;end GRAVITACION |
|
|
|
|
;
|
mov eax,0 ; |
mov eax,[v_mov] ; |
cmp eax, 2 ; |
je h_down ; |
jmp proverka2 ; |
jmp hiro_mov_end ; |
h_down: ; |
mov ebx, [Ypl] ; |
add ebx, 2 ; 3 |
mov [Ypl], ebx ; 1 4 |
jmp hiro_mov_end ; |
; |
proverka2: ; |
cmp eax, 3 ; ; |
je h_up ; PRIROST X Y |
jmp proverka3 ; |
jmp hiro_mov_end ; |
h_up: ; |
mov ebx, [Ypl] ; |
sbb ebx, 2 ; |
mov [Ypl], ebx ; |
jmp hiro_mov_end ; |
; |
proverka3: ; |
cmp eax, 1 ; ; |
je h_left ; |
jmp proverka4 ; |
jmp hiro_mov_end ; |
h_left: ; |
mov ebx, [Xpl] ; |
sbb ebx, 2 ; |
mov [Xpl], ebx ; |
jmp hiro_mov_end ; |
; |
proverka4: ; |
cmp eax, 4 ; |
je h_right ; |
jmp hiro_mov_end ; |
jmp hiro_mov_end ; |
h_right: ; |
mov ebx, [Xpl] ; |
add ebx, 2 ; |
mov [Xpl], ebx ; |
jmp hiro_mov_end ;¯à¨à®áâ |
;
|
|
hiro_mov_end: |
|
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ £¥à®ï ¢ « ¡¨à¨â¥ |
mov eax, 0 ; |
mov dword eax, [Ypl] ; |
shr eax, 5 ; |
shl eax, 4 ; |
mov ebx, 0 ; |
mov dword ebx, [Xpl] ; |
shr ebx, 5 ; |
add eax, ebx ; |
mov [hiro_lab], eax ; |
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ £¥à®ï ¢ « ¡¨à¨â¥ |
ret |
;**************** |
; end Hiro mov |
;**************** |
|
|
;******************************************* |
; BULLET |
;******************************************* |
bullet_mas: |
mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 |
cycle7: |
mov word bx, [Lab3] |
mov word ax, [Bullet+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ |
|
cmp ax, 1 ; bullet ok |
je go_bullet |
|
jmp end_bullet |
go_bullet: |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Bullet + bx] |
mov word [X_bul], ax |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Bullet + bx] |
mov word [Y_bul], ax |
|
imgtoimg img_bullet, dword [X_bul], dword [Y_bul],canvas |
end_bullet: |
|
mov eax, 0 |
mov word ax, [Lab3] |
|
cmp ax, 36 ; if eax == 0 |
je cycle7_end ; jump to cycle_end: |
|
add word [Lab3],12 |
|
jmp cycle7 ; |
|
cycle7_end: |
ret ; end BULLET |
;------------------------------------------------------------------------------- |
|
|
;******************************************* |
; BULLET MOV |
;******************************************* |
bullet_mov: |
mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 |
|
cycle8: |
mov word bx, [Lab3] |
mov word ax, [Bullet+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ |
|
cmp ax, 1 ; bullet ok |
je go_bullet_mov |
|
jmp end_bullet_mov |
go_bullet_mov: |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Bullet + bx] |
mov word [X_bul], ax |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word ax, [Bullet + bx] |
mov word [Y_bul], ax |
|
add word bx, 2 ; |
mov word ax, [Bullet + bx] |
mov word [mov_bullet], ax |
|
cmp ax, 1 |
jne bul_muv_left |
mov word ax, [X_bul] |
sbb ax, 2 |
mov word bx, [Lab3] |
add word bx, 2 |
mov word [Bullet + bx], ax |
|
jmp end_bullet_mov |
bul_muv_left: |
mov word ax, [X_bul] |
add ax, 2 |
mov word bx, [Lab3] |
add word bx, 2 |
mov word [Bullet + bx], ax |
|
end_bullet_mov: |
|
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ BULLET ¢ « ¡¨à¨â¥ |
mov eax, 0 ; |
mov eax, [Y_bul] ; |
shr eax, 5 ; |
shl eax, 4 ; |
mov ebx, 0 ; |
mov ebx, [X_bul] ; |
shr ebx, 5 ; |
add eax, ebx ; |
mov [lab_bullet], ax ; |
; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ BULLET ¢ « ¡¨à¨â¥ |
|
mov word bx,[lab_bullet] |
mov dx, [Dangeon + bx] |
and edx,3 |
cmp dx, 0 |
je letit_dalee |
|
cmp dx, 2 |
je beton |
mov byte [Dangeon + bx], 3 ;
|
beton: |
mov bx, [Lab3] |
mov byte [Bullet + ebx], 0 ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ |
|
|
|
|
|
letit_dalee: |
mov eax, 0 |
mov word ax, [Lab3] |
|
cmp ax, 36 ; if eax == 0 |
je cycle8_end ; jump to cycle_end: |
|
add word [Lab3],12 |
|
jmp cycle8 ; |
|
cycle8_end: |
|
|
ret ; end BULLET |
;------------------------------------------------------------------------------- |
|
;------------------------------------------------------------------------------- |
; TABLO TABLO TABLO TABLO TABLO TABLO |
;***************************************** |
tablo: |
; WIWOD CIFR |
;; mov eax, 13 |
; mov ebx, 140*65536 + 18 |
; mov ecx, 10*65536 + 8 |
; mov edx, 0x00ffffff |
; int 0x40 |
; outcount [numer_level],140,10,0x224466,3*65536 |
|
; WIWOD CIFR |
; mov eax, 13 |
; mov ebx, 160*65536 + 18 |
; mov ecx, 10*65536 + 8 |
; mov edx, 0x00ffffff |
; int 0x40 |
; outcount [delta_level],160,10,0x224466,3*65536 |
|
; WIWOD CIFR |
; mov eax, 13 |
; mov ebx, 180*65536 + 18 |
; mov ecx, 10*65536 + 8 |
; mov edx, 0x00ffffff |
; int 0x40 |
; outcount [delta_level_end],180,10,0x224466,3*65536 |
|
ret |
;------------------------------------------------------------------------------- |
fire: |
sbb ah, 121 |
mov [v_fire], ah |
|
mov word bx, 0 |
mov cx, [Bullet + ebx] |
cmp cx, 0 |
jne end_fire |
pusha |
mcall 55, eax, , , Music_bah ; §¢ãª ¢ëáâ५ |
popa |
|
mov byte [Bullet + ebx], 1 |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov ax, [Xpl] |
add ax, 8 |
mov word [Bullet + ebx],ax |
|
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov ax, [Ypl] |
add ax, 16 |
mov word [Bullet + ebx],ax |
|
add word bx, 2 ; |
mov ax,[v_fire] |
mov word [Bullet + ebx],ax |
|
end_fire: |
ret |
;------------------------------------------------------------------------------- |
|
|
;------------------------ £à㧪 ã஢¥©--------------------------------------- |
load_level: |
imgtoimg img_level,32,32,canvas |
setimg 6,20,canvas |
|
xor eax,eax |
xor ebx,ebx |
xor edx,edx |
xor ecx,ecx |
mov dword [Bullet], eax |
mov dword [Bullet+2], eax |
mov dword [Bullet+4], eax |
mov dword [Bullet+6], eax |
mov dword [Bullet+8], eax |
mov dword [Bullet+10], eax |
mov byte [Lab], 1 |
mov [lab_bullet], eax |
mov [mov_bullet], eax |
mov [X_bul], eax |
mov [Y_bul], eax |
mov [gold], eax |
mov dword [Xpl], 32 |
mov dword [Ypl], 448 |
mov dword [hiro_lab],0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨â |
mov dword [v_mov], 0 |
mov dword [v_mov2], 0 |
mov dword [v_fire], 0 |
|
xor eax,eax |
mov eax, [numer_level] |
shl eax, 8 |
mov dword [delta_level], eax |
add eax, 256 |
mov dword [delta_level_end], eax |
|
cycleL: |
|
xor ebx, ebx |
mov ebx, [Lab] |
add ebx, [delta_level] |
mov ax,[Dangeon2 + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ |
|
sbb ebx, [delta_level] |
mov [Dangeon + ebx], ax ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ |
add word [Lab],1 |
mov eax, [Lab] |
|
|
cmp eax, [delta_level_end] ; if eax == 0 |
je cycleL_end ; jump to cycle_end: |
jmp cycleL ; |
cycleL_end: |
|
mov eax, 0 |
mov [Lab],eax |
|
call enemy_plaz |
|
ret |
;------------------------------------------------------------------------------- |
|
;************************************ |
;GOLD |
proverka_gold: |
mov eax, [gold] |
cmp ax, 10 |
jna net_deneg |
mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨ |
cmp ax, 16 |
jne net_deneg |
mov ax, [numer_level] ; 㢥«¨ç¥¨¥ «¥¢¥« |
|
add ax, 1 |
mov [numer_level], ax |
mov [demon_kolvo], ax ; |
|
call load_level |
delay 100 |
|
net_deneg: |
ret |
|
;------------------------------------------------------------------------------- |
; |
potop: |
mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨ |
cmp ax, 4 |
jne jiwoy |
mov dword [gold], 0 ; 㢥«¨ç¥¨¥ «¥¢¥« |
|
call load_level |
delay 100 |
jiwoy: |
ret |
|
;************************************ |
;¯®«®¦¥¨¥ ¢à £®¢ ®¢®¬ ã஢¥ |
enemy_plaz: |
mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 |
mov ax, [demon_kolvo] |
mov [demon], ax |
|
cycle55: |
mov ebx, 0 |
mov ecx, 0 |
mov edx, 0 |
mov esi, 0 |
|
mov cx, [demon] |
cmp cx, 0 |
je end_demon |
mov word bx, [Lab2] ; |
mov word [Enemy + bx], 1 ; |
sbb cx, 1 |
mov [demon], cx |
end_demon: |
|
random 14, eax |
add eax, 1 |
shl eax,5 |
mov word bx, [Lab2] ; |
add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
; |
random 12, eax |
add eax, 1 |
shl eax,5 |
mov word bx, [Lab2] ; |
add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ |
mov word [Enemy + bx], ax ; |
|
mov word bx, [Lab2] ; |
add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï |
mov word [Enemy + bx], 0 ; |
add word bx, 2 ; ¦¨§ì |
mov word [Enemy + bx], 500 ; |
|
|
mov eax, 0 |
mov word ax, [Lab2] |
|
cmp ax, 96 ; if eax == 0 |
je cycle55_end ; jump to cycle_end: |
|
add word [Lab2],12 |
|
jmp cycle55 ; |
|
cycle55_end: |
|
ret |
|
|
I_END: ; ª®¥æ ¯à®£à ¬¬ë |
|
|
|
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
Xpl: dd 32 ; ª®®à¤¨ âë £¥à®ï |
Ypl: dd 448 |
hiro_lab: dd 0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨â |
numer_level: dd 0 |
delta_level: dd 0 |
delta_level_end: dd 256 |
demon: dd 0 |
demon_kolvo: dd 1 |
|
gold: dd 0 |
|
X_enemy: dd 0 |
Y_enemy: dd 0 |
|
|
X_bul: dd 0 |
Y_bul: dd 0 |
|
X_anime: dd 0 |
Y_anime: dd 0 |
|
mov_bullet: dw 0 |
lab_bullet: dw 0 |
mov_enemy: dw 0 |
lab_enemy: dw 0 |
life_enemy: dw 0 |
|
anime : dd 0 ; ¯¥à¥¬¥ ï ¤«ï ¨¬ 樨 £¥à®ï ¨ ¯à |
anime2 : dd 0 ; ¯¥à¥¬¥ ï ¤«ï ¨¬ 樨 £¥à®ï ¨ ¯à |
|
temp1: dd 0 |
temp2: dd 0 |
temp3: dd 0 |
temp4: dd 0 |
temp5: dd 0 |
|
|
v_mov: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ |
v_mov2: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ |
v_fire: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ |
Lab: dd 0 |
Lab2: dw 0 |
Lab3: dw 0 |
perem1: dd 0 |
perem2: dd 0 |
|
timer1 dd 0 ; â ©¬¥à ¨á¯®«ì§ã¥¬ë© ¤«ï ¨¬ 樨 ¢®¤ë, ¢à £®¢ --- ¡¥£ ¥â ®â 0 ¤® 10 |
|
;------------------------------------------------------------------------------- |
;1 ®¡ëç ï á⥠, 2 ¥¯à®¡¨¢ ¥¬ ï, 4 ¢®¤ , 8 «¥á¨æ , 12 «¬ §, 0 ¯ãáâ®â 16 - exit |
;------------------------------------------------------------------------------- |
Dangeon: |
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 |
db 2,1,1,1,1,1,1,0,12,0,0,0,0,0,0,2 |
db 2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2 |
db 2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2 |
db 2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2 |
db 2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2 |
db 2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2 |
db 2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2 |
db 2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2 |
db 2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2 |
db 2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2 |
db 2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2 |
db 2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2 |
db 2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2 |
db 2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2 |
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 |
|
Dangeon2: |
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 |
db 2,1,1,0,1,1,1,0,12,0,0,0,0,0,0,2 |
db 2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2 |
db 2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2 |
db 2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2 ;0 |
db 2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2 |
db 2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2 |
db 2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2 |
db 2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2 |
db 2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2 |
db 2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2 |
db 2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2 |
db 2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2 |
db 2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2 |
db 2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2 |
db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 |
db 2,0,0,0,0,0,0,0,0,0,0,16,0,0,0,2 |
db 2,12,1,8,1,0,0,0,0,0,0,1,8,0,0,2 |
db 2,0,1,8,1,0,0,0,0,0,0,1,0,8,0,2 ;1 |
db 2,12,1,8,1,1,0,0,0,0,1,1,0,8,0,2 |
db 2,0,1,8,1,0,12,12,12,12,0,1,8,8,0,2 |
db 2,12,1,8,1,0,1,1,1,1,0,1,8,0,0,2 |
db 2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,2 |
db 2,0,1,1,1,1,8,1,8,1,1,1,1,1,8,2 |
db 2,0,0,0,12,0,8,0,8,0,0,0,12,0,8,2 |
db 2,0,1,1,1,1,1,0,1,8,1,1,8,1,1,2 |
db 2,0,0,0,0,0,0,0,0,8,1,0,8,0,0,2 |
db 2,0,1,1,1,1,1,8,1,1,1,1,1,1,8,2 |
db 2,0,0,12,0,0,0,8,0,0,12,0,0,0,8,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 |
db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 |
db 2,0,0,0,0,0,0,0,0,12,0,12,0,0,0,2 |
db 2,0,0,0,0,0,0,8,1,1,1,1,1,1,0,2 ;2 |
db 2,0,8,0,12,12,0,8,0,0,0,0,0,2,4,2 |
db 2,0,8,1,1,1,1,0,0,0,0,0,0,2,2,2 |
db 2,0,8,0,0,0,0,12,1,1,1,1,0,0,0,2 |
db 2,0,8,1,0,1,0,12,0,0,0,0,0,0,0,2 |
db 2,0,8,0,1,1,12,12,0,0,0,8,1,1,1,2 |
db 2,0,8,0,12,0,0,12,0,0,0,8,0,12,0,2 |
db 2,0,8,0,0,0,8,1,8,0,0,1,8,1,8,2 |
db 2,0,8,0,0,8,1,1,1,8,0,0,8,0,8,2 |
db 2,0,1,1,1,1,1,1,1,1,1,1,1,1,8,2 |
db 2,0,0,0,0,0,0,0,16,0,0,0,0,0,8,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,0,0,0,0,12,0,0,0,0,0,0,16,0,0,2 |
db 2,0,8,1,1,1,1,1,1,1,1,1,1,1,0,2 |
db 2,0,8,0,0,0,0,0,12,0,0,0,0,0,0,2 |
db 2,0,8,0,0,0,0,1,8,1,0,0,0,0,0,2 |
db 2,0,8,0,0,0,1,1,8,1,1,0,0,0,0,2 |
db 2,0,8,0,12,1,1,1,8,1,1,1,12,0,0,2 |
db 2,0,8,0,1,1,12,1,8,1,12,1,1,0,0,2 |
db 2,0,0,1,1,1,1,1,8,1,1,1,1,0,0,2 ;3 |
db 2,0,1,0,0,0,0,0,8,1,0,0,0,1,0,2 |
db 2,0,1,0,1,1,1,1,8,1,1,1,0,1,0,2 |
db 2,0,1,1,12,1,12,1,8,1,1,1,0,1,0,2 |
db 2,0,1,1,1,1,1,1,8,1,1,1,0,1,0,2 |
db 2,0,1,1,12,1,12,1,8,1,1,1,12,1,0,2 |
db 2,0,0,0,0,0,0,0,8,0,0,0,0,0,0,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,0,12,0,0,0,0,0,0,0,0,0,16,0,0,2 |
db 2,0,1,8,1,1,1,1,1,1,8,1,1,1,8,2 |
db 2,0,0,8,0,0,0,0,0,0,8,0,0,0,8,2 |
db 2,0,1,1,1,1,1,8,1,1,1,1,1,1,0,2 |
db 2,0,0,12,0,0,12,8,0,0,12,0,0,0,0,2 |
db 2,12,1,1,1,8,1,1,1,1,8,1,1,1,8,2 |
db 2,0,0,0,0,8,0,0,0,0,8,0,0,0,8,2 |
db 2,8,1,1,1,1,1,1,8,1,1,1,1,1,0,2 ;4 |
db 2,8,0,0,0,12,0,0,8,0,0,12,0,0,0,2 |
db 2,0,1,8,1,1,1,1,1,1,1,1,8,1,0,2 |
db 2,0,0,8,12,0,0,0,0,12,0,0,8,0,0,2 |
db 2,8,1,1,1,1,1,1,8,1,1,1,1,1,8,2 |
db 2,8,12,0,0,0,0,0,0,0,0,0,0,12,8,2 |
db 2,8,2,4,4,4,4,4,4,4,4,4,4,2,8,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,8,1,8,12,8,1,8,1,8,1,8,1,8,1,2 |
db 2,8,2,8,1,8,1,8,1,8,1,8,12,8,12,2 |
db 2,8,1,8,1,8,2,8,12,8,1,8,1,8,1,2 |
db 2,8,12,8,0,8,0,8,0,8,0,8,0,8,0,2 |
db 2,1,8,1,1,1,1,1,8,1,1,1,1,1,8,2 |
db 2,0,8,0,0,0,0,0,8,0,0,12,0,0,8,2 |
db 2,0,8,12,0,2,12,0,8,1,1,1,1,1,8,2 |
db 2,0,1,1,8,1,1,1,8,0,0,0,0,0,8,2 ;5 |
db 2,0,1,0,8,0,0,0,8,0,0,12,0,0,8,2 |
db 2,0,1,0,8,0,0,0,8,1,1,1,1,1,8,2 |
db 2,0,1,12,8,0,0,2,8,0,0,0,0,0,8,2 |
db 2,8,1,1,1,1,8,1,1,1,1,8,1,1,1,2 |
db 2,8,0,0,0,0,8,2,0,0,2,8,0,0,0,2 |
db 2,0,8,0,12,8,8,2,4,4,2,8,0,0,16,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,0,8,0,8,0,8,0,8,0,0,8,0,8,16,2 |
db 2,1,8,1,8,1,8,1,8,1,1,8,1,8,1,2 |
db 2,0,8,0,8,0,8,0,8,8,0,8,0,8,0,2 |
db 2,1,1,8,1,1,1,1,1,8,1,1,8,1,1,2 |
db 2,0,0,8,8,0,12,8,0,8,8,12,8,8,0,2 |
db 2,1,1,1,8,1,1,8,1,1,8,1,1,8,1,2 |
db 2,0,8,0,8,0,12,8,0,0,8,0,12,8,0,2 ;6 |
db 2,1,8,1,1,1,1,1,8,1,1,1,1,1,1,2 |
db 2,0,8,0,12,8,0,0,8,12,0,8,0,0,0,2 |
db 2,1,8,1,1,8,1,1,8,1,1,8,1,1,1,2 |
db 2,0,0,8,0,8,8,0,8,8,0,8,8,0,0,2 |
db 2,1,1,8,1,1,8,1,1,8,1,1,8,1,1,2 |
db 2,0,0,8,12,0,8,0,12,8,0,12,8,12,12,2 |
db 2,8,8,1,1,1,1,1,1,1,1,1,1,1,1,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,0,12,0,12,0,12,0,0,12,0,12,0,0,0,2 |
db 2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2 |
db 2,0,0,0,8,0,0,12,0,0,0,8,0,0,0,2 |
db 2,1,1,1,1,1,1,1,8,1,1,1,1,1,1,2 |
db 2,0,0,0,12,0,0,0,8,12,0,0,0,0,0,2 |
db 2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2 |
db 2,0,0,0,8,0,0,0,0,0,0,8,0,0,0,2 ; 7 |
db 2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,2 |
db 2,0,0,0,0,0,0,0,0,0,0,0,0,8,0,2 |
db 2,1,1,1,1,1,1,8,1,1,1,1,1,8,1,2 |
db 2,0,0,0,0,0,0,8,0,0,0,0,0,8,0,2 |
db 2,1,1,8,1,8,1,1,8,1,8,1,1,1,1,2 |
db 2,0,0,8,0,8,12,0,8,0,8,12,0,0,16,2 |
db 2,8,1,1,1,1,1,1,1,1,1,1,1,1,1,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 |
db 2,0,0,0,0,0,0,0,0,0,0,0,0,16,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,0,8,0,8,0,12,0,0,8,0,8,0,0,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,0,0,8,12,0,0,8,0,0,8,0,0,0,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,0,0,0,0,0,0,0,0,8,0,0,0,12,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,0,8,0,0,0,8,12,0,0,8,0,8,12,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,0,0,8,0,0,0,0,12,8,0,12,8,0,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,0,0,8,0,8,12,0,0,8,12,0,8,12,0,2 |
db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 |
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- |
|
|
;------------------------------------------------------------------------------- |
Bullet: dw 0,0,0,0,0,0 |
dw 0,0,0,0,0,0 |
dw 0,0,0,0,0,0 |
dw 0,0,0,0,0,0 |
;------------------------------------------------------------------------------- |
|
|
Enemy: dw 1,448,128,0,0,500 ;¢à £¨ ª« áá,,,¯®«®¦¥¨¥ ¢ « ¡¨à¨â¥, ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï,¦¨§ì |
dw 0,32,32,0,0,0 |
dw 0,64,32,0,0,0 |
dw 0,416,32,0,0,0 |
dw 0,256,256,0,0,0 |
dw 0,256,224,0,0,0 |
dw 0,320,192,0,0,0 |
dw 0,32,256,0,0,0 |
dw 0,448,448,0,0,0 |
|
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
bullet_bmp: |
file 'bullet.bmp' |
rb 1 |
|
level_bmp: |
file 'level2.bmp' |
rb 1 |
|
kirpich: |
file 'kirpich.bmp' |
rb 1 |
|
kirpich3: |
file 'kirpich2.bmp' |
rb 1 |
|
kirpich2: |
file 'oldkirpich.bmp' |
rb 1 |
|
lest_bmp: |
file 'lestnica.bmp' |
rb 1 |
|
water1_bmp: |
file 'water1.bmp' |
rb 1 |
|
water2_bmp: |
file 'water2.bmp' |
rb 1 |
|
door1_bmp: |
file 'door1.bmp' |
rb 1 |
|
door2_bmp: |
file 'door2.bmp' |
rb 1 |
|
|
img_level: |
rb 448*448*3+8 |
|
;img_ded1: |
;rb 448*448*3+8 |
|
img_area: |
rb 32*32*3+8 |
|
img_area2: |
rb 32*32*3+8 |
|
img_area3: |
rb 32*32*3+8 |
|
img_bullet: |
rb 4*8*3+8 |
|
img_lestniza: |
rb 32*32*3+8 |
|
img_water1: |
rb 32*32*3+8 |
|
img_water2: |
rb 32*32*3+8 |
|
img_door1: |
rb 32*32*3+8 |
|
img_door2: |
rb 32*32*3+8 |
|
img_enemy1: |
rb 32*32*3+8 |
|
img_enemy2: |
rb 32*32*3+8 |
|
|
Music_bah: |
db 0x0f, 0x09, 0 |
|
Music_mov: |
db 0x00, 0x00, 0 |
|
Music_almaz: |
db 0x09, 0x03, 0 |
|
entered rd 1 |
|
imgcount rd 1 ; ª®«-¢® ¢á¥£® ª ¤à®¢ ¢ ¨¬ 樨 |
img_index rd 1 ; ®¬¥à ⥪ã饣® ª ¤à |
|
;hashtable rd 4096 ; à ¡®ç ï ®¡« áâì ¤«ï ¥ ¤ ¯à®æ¥¤ãàë |
workarea: |
file 'aniall.gif' |
|
|
;temp rb 0x100000 ; ¬¥áâ® ¤«ï ä ¨« |
rb 10 |
|
canvas: |
xs dd 512 |
ys dd 512 |
rb 512*512*3 |
|
gif_hash_area: |
rd 4096+1 |
|
coords: |
rd 2 |
|
Image: |