toinou91 le 29/09/2012 à 12:50
Bonjour,
Je voudrais savoir la signification et comment y accéder à plusieurs "commandes" :
- FonctNAff
- dim(Liste6
- ø
Voila, c'est tout je crois, merci
Au passage, je n'ai pas compris comment on était censé écrire le code de Doodle Jump que voila, si on pouvait m'expliquer aussi :
Code
#define TI83
.nolist
#include "ion.inc"
.list
#include "Ionsim.z80" ;Ionsim sert ici à définir les fonctions telles que Putsprite (c'est moi qui l'a créé!

)
dx = saferam1
dy = dx+1
px = saferam1+2
py = px+1
var = py+1
revar = var+1
score = var+2
gx = score+2
dir = gx+1
deadvar = dir+1
newplat = deadvar+1
varplat = newplat+1
decplat = varplat+1
maxvalue = decplat+1
#ifdef TI83P
.org progstart-2
.db $BB,$6D
#else
.org progstart
#endif
ret
jr nc,start_program
.db "Doodle Jump TI par Coco",0
start_program:
Defvar(decplat,10) ; variable qui va augmenter l'écart de 1 tout les xx plateformes
Defvar(varplat,5) ;écart entre els plateformes (variable)
Defvar(newplat,10) ; mise au même de newplat(constante)
Defvar(maxvalue,50) ;la valeur pour laquelle on se téléporte de côté
Defvar(dx,30)
Defvar(dy,2)
Defvar(py,15)
Defvar(px,30)
call putp
Defvar(gx,0)
Defvar(dir,1)
Defvar(var,1)
Defvar(deadvar,65)
ld hl,0
ld (score),hl
loop:
call putd
Flipbuf
call putd
ld a,(var) ;var vaut 0 : ne pas monter ni descendre
cp 0
jr z,noup
ld hl,dy ;montée, descente
ld a,(hl)
ld b,a
ld a,(g

cp 0
jr nz,goup
ld a,b
inc a
jr updownok
noup:
Defvar(var,2)
jr noup_deux
goup:
ld a,b
dec a
ld hl,gx
dec (hl)
updownok:
ld hl,dy
ld (hl),a
cp 56 ;si 56 arreter
jp z,stop
;le (normalement) pixel test
ld a,(g

cp 0
jr nz,noup_deux ;si le doodle va vers le haut, alors pas de pixel test
ld a,(dy)
add a,6
ld e,a
ld a,(d

add a,4
call ionGetPixel
ld a,(hl)
or a
call nz,bounce
noup_deux:
ld hl,var
dec (hl)
Getkey
cp gk_clear
jp z,stop_immediat
cp gk_left
call z,moveleft
cp gk_right
call z,moveright
ld a,(dy) ;test si t'es mort
cp 55
call z,scroll_dead
ld a,(deadvar)
cp 0
jp z,stop
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;scrolling up;;;;;;;;;;;;;;
ld a,(dy)
cp 5
call z,scroll_one
ld a,(varplat)
cp 0
call z,platform_new
ld a,(decplat)
cp 0
call z, decplatecart
;;;;;pour la téléportation d'un coté à un autre
ld a,(maxvalue)
inc a
inc a
ld b,a
ld hl,dx
ld a,(hl)
cp -2
jr z,tpmax
cp b
jr z,tpzero
jp loop
tpzero:
ld a,0
ld (hl),a
jp loop
tpmax:
ld a,(maxvalue)
ld (hl),a
jp loop
decplatecart:
Defvar(decplat,10)
ld hl,newplat
inc (hl)
ret
bounce:
Defvar(gx,45)
ret
moveleft:
Defvar(dir,0)
ld hl,dx
dec (hl)
dec (hl)
ret
moveright:
Defvar(dir,1)
ld hl,dx
inc (hl)
inc (hl)
ret
stop:
ld de,(30*256)+20
ld hl,str_youaredead
ld (pencol),de
bcall(_vputs)
Waitkey
Clear
ld de,(1*256)+2
ld hl,str_score
ld (currow),de
bcall(_puts)
bcall(_newline)
ld hl,(score)
bcall(_disphl)
bcall(_newline)
ld hl, (highscore)
ld de, (score)
bcall(_cphlde)
jp p,disphigh
bcall(_newline)
ld hl,str_newhigh
bcall(_puts)
ld hl,(score)
ld (highscore),hl
jr wait
disphigh:
ld hl,str_high ;"High score:"
bcall(_puts)
bcall(_newline)
ld hl,(highscore)
bcall(_disphl)
wait:
Waitkey
stop_immediat:
ret
scroll_dead:
ld hl,grbuf+12 ;
ld de,grbuf ;
ld bc,756 ;
ldir ;
ld h,d ;
ld l,e ;
inc e ;
ld (hl),b ;
ld c,11 ;
ldir ;
ld hl,dy
dec (hl)
ld hl,deadvar
dec (hl)
ret ;
scroll_one:
ld hl,grbuf+(62*12) ;
ld de,grbuf+(63*12) ;
ld bc,756 ;
lddr ;
ld h,d ;
ld l,e ;
inc e ;
ld (hl),b ;
ld c,11 ;
lddr ;
ld hl,dy
inc (hl)
ld hl,varplat
dec (hl)
ld hl,(score)
inc hl
ld (score),hl
ret ;
platform_new:
Random(50)
ld hl,px
ld (hl),a
Defvar(py,0)
call putp
ld hl,newplat
ld a,(hl)
inc hl
ld (hl),a
ld hl,decplat
dec (hl)
ret
putp:
Putsprite(px,sp_platform,3)
ret
putd:
ld a,(dir)
cp 1
jr z,putdright
Putsprite(dx,sp_doodle_left,7)
ret
putdright:
Putsprite(dx,sp_doodle,7)
ret
sp_doodle:
.db %01111000
.db %10001110
.db %10010110
.db %10000100
.db %10000100
.db %11111100
.db %10010100
sp_doodle_left:
.db %00011110
.db %01110001
.db %01101001
.db %00100001
.db %00100001
.db %00111111
.db %00101001
sp_platform:
.db %01111110
.db %10000001
.db %01111110
str_youaredead:
.db "Perdu!",0
str_score:
.db "Votre score:",0
str_high:
.db " High score:",0
str_newhigh:
.db " Nouveau High!",0
highscore:
.dw 0
.end
______________________________________________
Merci
