Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Un petit snake fait pendant le weekend
sandro le 27/06/2011 à 17:32
Comme l'indique le titre, j'ai fait un petit snake ce weekend qui est plutôt fluide sauf lorsqu'on grandit, où il y a un moment de flotement dont la durée moyenne augmente avec la longueur du serpent.
Code
programme SNACK
Func
FnOff
PlotsOff
ClrDraw
GridOff
AxesOff
Line(Xmin,Ymin,Xmax,Ymin
Line(Xmin,Ymin,Xmin,Ymax
Line(Xmin,Ymax,Xmax,Ymax
Line(Xmax,Ymax,Xmax,Ymin
seq(2X,X,1,8 -> L1 //en français "seq" est "suite(" (menu liste ops)
seq(2,X,1,8 -> L2
8 -> [théta]
8 -> P
1 -> X
1 -> Y
2 -> S
DelVar T2randInt(1,30 -> O
2randInt(1,46 -> N
Pxl-On(O,N+1
Pxl-On(O+1,N
Pxl-On(O+1,N+1
Repeat pxl-Test(L2(P)+T,S+L1(P
If pxl-Test(T+1+L2(P),S+L1(P
prgmZSNAKE
P+1 -> P
If P=[théta]+1:1 -> P
Pxl-Off(L2(P),L1(P
Pxl-Off(1+L2(P),L1(P
Pxl-Off(L2(P),1+L1(P
Pxl-Off(1+L2(P),1+L1(P
S+L1(P-1+[théta](P=1 -> L1(P
T+L2(P-1+[théta](P=1 -> L2(P
Pxl-On(L2(P),L1(P
Pxl-On(1+L2(P),L1(P
Pxl-On(L2(P),1+L1(P
Pxl-On(1+L2(P),1+L1(P
getKey -> K
If K=24 and not(S:DelVar T-2 -> S
If K=25 and not(T:DelVar S-2 -> T
If K=26 and not(S:DelVar T2 -> S
If K=34 and not(T:DelVar S2 -> T
If K=45:Pause
End
ClrHome
Output(3,4,"GAME OVER! VOUS AVEZ POINTS
Output(4,11,[théta]-8
Code
Programme ZSNAKE
Lbl 1
L1 -> L4
L2 -> L5
L4(P -> L1(P+1
L5(P -> L2(P+1
For(A,P+1,dim(L4
L4(A -> L1(A+1
L5(A -> L2(A+1
End
[théta]+1 -> [théta]
P+1 -> P
2randInt(1,30 -> O
2randInt(1,46 -> N
If pxl-Test(O,N+1
Goto 1
Pxl-On(O,N+1
Pxl-On(O+1,N
Pxl-On(O+1,N+1
les liens de téléchargements :
SNAKE.83p et
ZSNAKE.83p
Sandro
snap le 27/06/2011 à 17:51
Le jeu est court mais un peu lent tout de même, surtout lorsqu'on mange 1 truc. Sa s'arrete pendant une seconde au moin. Mais sinon il est pas mal

sandro le 27/06/2011 à 17:55
la durée d'arret est plutôt aléatoire, ça dépend de l'emplacement du pointeur par raport à la fin de la liste (dont la longueur augmente avec la longueur du serpent).
Sandrolinkakro le 27/06/2011 à 18:22
Je suis bluffé par ta maîtrise innée de la méthode de défilement à pointeur.

BRAVO
( Il m'a fallut une année d'expérience et l'observation de plusieurs programmes pour rassembler chaque méthode de défilement. (que je synthétiserai) )
Je peux
envisager d'améliorer la gestion de l'allongement.
sandro le 27/06/2011 à 19:22
Si tu trouve mieux, n'ésite surtout pas, coute à la fin de devoir temporiser le snake (enfin, je ne croi pas que ça arriverra), ce qui permettrait de rajouter des niveaux.
SandroPersalteas le 28/06/2011 à 08:53
fiouuuuu... chapeau.

Gorman 14 le 03/09/2011 à 21:45
Le snake est beaucoup trop lent !
Il y a 1 problème avec l'apparition de l'aliment : il peut apparaître derrière la ligne qui nous fait perdre (il peut être collé au bord et on ne peut pas le prendre)sandro le 03/09/2011 à 21:58
Pour la lenteur, en basic, c'est TOUJOURS lent (6 Mégahertz et un interprétenr peu optimisé). Si tu veut plus rapide, il faut de l'assembleur.
Sinon, pour les points dehors, si c'est le cas, alors il faut modifier:
Code
DelVar T2randInt(1,30 -> O
2randInt(1,46 -> N
en remplaçant par:
Code
DelVar T2randInt(2,29 -> O
2randInt(2,45 -> N
Sandro
Gorman 14 le 03/09/2011 à 22:04
Il y a 1 autre snake en basic sur le forum, beaucoup + rapide mais qui ralentit au fur et à mesure qu'on ramasse les croix
Il faudrait préciser que pour
Code
If K=24 and not(S:DelVar T-2 -> S
If K=25 and not(T:DelVar S-2 -> T
Le - est le signe - négatif et pas celui de la soustraction
sandro le 03/09/2011 à 22:18
Désolé, souvent on les laisse identique vue que sauf pour une chaîne de carractères, on peut toujour savoir lequel utiliser en réfléchissant.
SandroProgramaths le 06/09/2011 à 01:18
Bonjour !
Je suis pas venu depuis longtemps,je programmais en C++
C'est la rentrée, même si notre lycée nous a offert des ordinateur portable je crois que je vais ressortir ma bonne vieille calculette ! hehe je vais essayé de m(y remettre, comme le forum de tout_82 n'est pas fréquenté je poste ce message ici ^^'
je vais peut-etre poste un vieux snake fluide que j'avais fais dans le passé.sandro le 07/09/2011 à 17:18
C'est une bonne idée de le poster, mais il vaut peut-être mieux commencer un nouveau sujet, histoire de bien délimiter les questions et les remarques celon le Snake.
Sandro
PS : je regardé en moyennne au moins une fois par jour durant les vacances, mais quand il n'y a personne qui deamande de l'aide, c'est sur qu'il n'y a pas grand chose a faire.Programaths le 07/09/2011 à 20:06
Ok pas de problème c'est mon dernier message hs
En tout cas j'aimerais bien que le forum du site du zero soit aussi bien que celui-ci ^^, je galère avec le c++ !
Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.