1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| affichage_aliens: ;routine d'affichage des aliens
mov cx, 6
;mov bx, tab_alien
;mov [add1],bx
mov dx, [ya1]
mov word [yall], dx
mov bx, tab_alienb_cte
colonne_tab:
push cx
mov cx,11
mov dx, [xa1]
mov word [xall], dx
ligne_tab:
push cx
mov dx, [yall]
mov word [y], dx
mov dx, [xall]
mov word [x], dx
mov dx, [ha1]
mov word [h], dx
mov dx, [la1]
mov word [l], dx
call compare
inc bx
push bx
call affiche_sprite
pop bx
mov dx, [la1]
add word [xall], dx
pop cx
loop ligne_tab
pop cx
mov dx, [ha1]
add [yall], dx
loop colonne_tab
ret
compare: ;probleme de selection de l'addresse
mov bl, [bx]
cmp bl, 0
je aff_mort
cmp bl, 5
je aff_alien1
cmp bl, 1
je aff_alien2
cmp bl, 3
je aff_alien3
ret
aff_mort:
cmp word [allure], 1
je mort1
jmp mort2
mort1:
mov word[add_sprite], mort
ret
mort2:
mov word[add_sprite], alien1b
ret
aff_alien1:
cmp word [allure], 1
je mort1a
jmp mort2a
mort1a:
mov word[add_sprite], alien1
ret
mort2a:
mov word[add_sprite], alien1b
ret
aff_alien2:
cmp word [allure], 1
je mort1b
jmp mort2b
mort1b:
mov word[add_sprite], alien2
ret
mort2b:
mov word[add_sprite], alien2b
ret
aff_alien3:
cmp word [allure], 1
je mort1c
jmp mort2c
mort1c:
mov word[add_sprite], alien3
ret
mort2c:
mov word[add_sprite], alien3b
ret |
Partager