le plus petit snake...

C'est une sorte de petit concours...
En fait c'est en faisant mon 1er "bon" jeu sur ti 68k que je me suis demandé, comme il y a des millions de façons différentes de faire un programme, comment auriez vous fait, (sachant que vous êtes surement plus fort que moi
), pour faire le snake le plus rapide, et le plus petit. détaillez si besoin est, par exemple si telle fonction est plus rapide qu'une autre ou telle librairie est plus rapide que celle utilisée (flib).
Voici mon prog, donc pas très rapide, a modifier:
allez, prenez votre cerveau ou vos anciens progs à 2 mains, et bon courage!!
En fait c'est en faisant mon 1er "bon" jeu sur ti 68k que je me suis demandé, comme il y a des millions de façons différentes de faire un programme, comment auriez vous fait, (sachant que vous êtes surement plus fort que moi

Voici mon prog, donc pas très rapide, a modifier:
- Code: Select all
Prgm
{153}--lx:{78}--ly:9--x:10--y:5--vx:0--vy:0--v:0--p
rand(31)*5-1--rx:rand(18)*5--ry
ClrDraw
DispG
flib("fillrect:0,0,159,99","fillrect:2,3,156,92,0","font:0","drawstr:5,94,4,"string(p)" points","breakoff")
Loop
flib("pixtest: x, y")
If fl[1]=1 Then
If x=rx and y=ry Then
p+1--p
Lbl a
rand(31)*5-1--rx:rand(18)*5--ry
flib("pixtest: rx, ry")
If fl[1]=1
Goto a
flib("fillrect: rx-2, ry-2, rx+2, ry+2","drawstr:5,94,4,"string(p)" points")
Else
Exit
EndIf
EndIf
lx[dim(lx)]--dx:ly[dim(ly)]--dy
flib("keylow","fillrect: rx-2, ry-2, rx+2, ry+2","fillrect: x-2, y-2, x+2, y+2","fillrect: dx-2, dy-2, dx+2, dy+2,0")
augment({x},left(lx,p+2))--lx:augment({y},left(ly,p+2))--ly
If fl[1]"00000000" Then
5*expr(mid(fl[1],5,1))+5*expr(mid(fl[1],6,1))vx
5*expr(mid(fl[1],7,1))+5*expr(mid(fl[1],8,1))vy
EndIf
x+vx--x:y+vy--y
EndLoop
flib("msg:GAME OVER|"string(p)" points","slclr","slrcl","clrscr")
DispHome
EndPrgm
allez, prenez votre cerveau ou vos anciens progs à 2 mains, et bon courage!!
