Merci
Seulement je commence a peine la prog en Z80, c'est pour ca que si tu me dit ca comme ca ca veut pas dire beaucoup de chose pour moi, un exemple un peu plus concret seurait le bien venu!
C pour ca que je pose la question...
#define x_sprite saferam1
#define y_sprite saferam1+1
<<tu met ton header normal>>
ld a,10 'tu met
ld (x_sprite),a 'tes variables
ld (y_sprite),a 'au point que tu veux, ici 10
directinput:
ld hl,plotsscreen 'routine qui
ld (hl),0 ' efface le
ld de,plotsscreen+1 'plotscreen, c'est -a-dire
ld bc,12*64-1 ' le graphbuffer
ldir '
ld b,4 '
ld a,(y_balle) ' affiche ton sprite
ld l,a '
ld a,(x_balle) '
ld ix,balle '
call ionputsprite '
ld a,$FF '
out (1),a '
ld a,$FE '
out (1),a 'routine de directinput, tu choisis les touches que tu veux scanner, j'ai pris
in a,(1) ' haut et bas pour bouger le sprite de bas en haut , j'ai pas mis gauche droite expres
bit 0,a ' pour que tu le fasse, par contre, la touche gauche permet de quitter le jeu pour l'instant
call z,bas '
bit 1,a '
call z,quitter '
bit 3,a '
call z,haut '
jp directinput
bas:
push af ' met a dans la pile pour pouvoir continuer a faire marcher le directinput
ld a,(y_sprite)
inc a
ld (y_sprite),a
pop af 'retire la valeur de la pile et la stoque dans a
ret
haut:
push af
ld a,(y_sprite)
dec a
ld (y_sprite),a
pop af
ret
quitter:
pop a
ret
balle:
.db %01100000
.db %11110000
.db %11110000
.db %01100000
OUah Ca sent super bon tt ca! Merci, je vais essayer de me debrouiller avec ca!
en gros, ici, c'est une zone de mémoire où l'écran est écrit en bit.Tu peux te réprésenter ça comme un tebaleu de 0 et de 1, 0=éteint, 1=allumé.
