[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
+3
persalteas
sandro
Polymorph
7 participants
Page 1 sur 1
[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Bonjour bonjour
Je viens vous présenter ma version de Snake, en graphique, dotée actuellement de 5 niveaux, d'un menu pause, d'une sauvegarde et d'un launcher stylisé. Ceux que je connais de Tout82 ont eu l'occasion de voir les versions précédentes et de m'aider à l'améliorer, et je les en remercie. Les autres, il ne vous reste qu'à tester!
Snake!
Preview :
[Vous devez être inscrit et connecté pour voir cette image]
Je viens vous présenter ma version de Snake, en graphique, dotée actuellement de 5 niveaux, d'un menu pause, d'une sauvegarde et d'un launcher stylisé. Ceux que je connais de Tout82 ont eu l'occasion de voir les versions précédentes et de m'aider à l'améliorer, et je les en remercie. Les autres, il ne vous reste qu'à tester!
- Code:
:StoreGDB 1
:0→Xmin:94→Xmax
:‾62→Ymin:0→Ymax
:FnOff
:AxesOff
:ClrDraw
:RecallPic 0
:Text(30,17,"JOUER
:Text(30,46,"QUITTER
:Text(50,22,"BY POLYMORPH
:Text(40,35,"V 1.9
:prgmSELECTOR
:If L3(1):Then
:¦ ClrDraw
:¦ RecallPic 2
:¦ 69!:69!:69!:69!
:¦ Goto J0:End
:DelVar L
:Lbl D
:L+1→L
:ClrDraw
:prgmZDECORS
:Lbl A
:DelVar A1→B:5→N
:‾1→Q:0→R
:48→W:‾30→Z
:ClrListL1,L2
:Repeat not(pxl-Test(‾V,U
:¦ 3randInt(1,29→U
:¦ ‾3randInt(1,18→V
:End
:Lbl J0
:Pt-On(U,V,2
:Pt-Off(U,V,3
:Pt-On(U,V
:Lbl J
:Repeat A=105
:¦ Repeat A
:¦ ¦ W→L1(B
:¦ ¦ Z→L2(B
:¦ ¦ If W=U and Z=V
:¦ ¦ Then:Pxl-Off(‾V,U
:¦ ¦ ¦ Repeat not(pxl-Test(1-V,1+U
:¦ ¦ ¦ ¦ 3randInt(1,18→U
:¦ ¦ ¦ ¦ ‾3randInt(1,17→V
:¦ ¦ ¦ End
:¦ ¦ ¦ N+1→N
:¦ ¦ ¦ If N=20:Goto D
:¦ ¦ ¦ Pt-On(U,V,2
:¦ ¦ ¦ Pt-Off(U,V,3
:¦ ¦ ¦ Pt-On(U,V
:¦ ¦ End
:¦ ¦ Pt-On(W,Z,2
:¦ ¦ B+1→B
:¦ ¦ If B>N
:¦ ¦ Pt-Off(L1(B-N),L2(B-N),2
:¦ ¦ W+3R→W
:¦ ¦ Z+3Q→Z
:¦ ¦ If pxl-Test(Q-Z,W-R
:¦ ¦ Goto 0
:¦ ¦ getKey→A
:¦ End
:¦ If A≥24 and A≤26 or A=34
:¦ Then
:¦ ¦ (A=25)-(A=34→Q
:¦ ¦ (A=26)-(A=24→R
:¦ End:End
:StorePic 2
:ClrDraw
:RecallPic 1
:Text(10,39,"PAUSE
:Text(25,31,"REPRENDRE
:Text(33,36,"SAUVER
:Text(41,35,"QUITTER
:25→I
:Text(I,26,">
:Repeat K=105
:¦ getKey→K
:¦ If K=25 and I>25
:¦ Then:Text(I,26," "
:¦ ¦ I-8→I
:¦ ¦ Text(I,26,">
:¦ End
:¦ If K=34 and I<41
:¦ Then:Text(I,26," "
:¦ ¦ I+8→I
:¦ ¦ Text(I,26,">
:¦ End
:End
:ClrDraw
:If I=25:Then
:¦ RecallPic 2
:¦ DelVar Pic2
:¦ 69!:69!:69!
:¦ Goto J:End
:If I=33:Then
:¦ 9→dim(L3
:¦ {1,W,Z,U,V,L,N,D,B→L3
:¦ Text(28,25,"SAUVERGARDE
:¦ For(F,23,66
:¦ ¦ For(G,28,34
:¦ ¦ ¦ Pxl-Change(G,F
:¦ ¦ End
:¦ End
:¦ 69!:69!
:¦ Text(36,29,"TERMINEE!
:¦ For(F,1,6
:¦ ¦ 69!:End
:¦ ClrHome
:¦ ClrDraw
:¦ Output(1,1,"
:¦ Stop:End
:If I=41:Then
:¦ DelVar Pic2
:¦ ClrHome
:¦ Output(1,1,"
:¦ RecallGDB 1
:¦ ClrListL1,L2
:¦ Stop:End
:Lbl 0
:For(F,31,0,‾1
:¦ Horizontal ‾31-F
:¦ Horizontal F-31
:End
:ClrDraw:ClrHome
:Output(3,4,"GAME OVER
:Output(6,5,"SCORE
:Output(6,11,N-20+15L
:ClrListL1,L2
:RecallGDB 1
- Code:
//SELECTOR
:12→C
:Repeat K=105
:¦ Line(C,‾28,C+30,‾28
:¦ Line(C+30,‾28,C+30,‾37
:¦ Line(C+30,‾37,C,‾37
:¦ Line(C,‾37,C,‾28
:¦ getKey→K
:¦ If (C<32 and K=26) or (C>12 and K=24)
:¦ Then
:¦ ¦ Line(C,‾28,C+30,‾28,0
:¦ ¦ Line(C+30,‾28,C+30,‾37,0
:¦ ¦ Line(C+30,‾37,C,‾37,0
:¦ ¦ Line(C,‾37,C,‾28,0
:¦ ¦ C+32(K=26)-32(K=24)→C
:¦ End
:End
:If C=12:Return
:If C=44
:Then
:¦ ClrDraw
:¦ ClrHome
:¦ Output(1,1,"
:¦ Stop:End
:If L3(1):Then
:¦ L3(2→W
:¦ L3(3→Z
:¦ L3(4→U
:¦ L3(5→V
:¦ L3(6→L
:¦ L3(7→N
:¦ L3(8→D
:¦ L3(9→B
:¦ {0→L3
- Code:
//ZDECORS
:Line(3,0,93,0
:Line(4,‾1,92,‾1
:Line(3,0,3,‾60
:Line(4,‾1,4,‾59
:Line(93,0,93,‾60
:Line(92,‾1,92,‾59
:Line(3,‾60,93,‾60
:Line(4,‾59,92,‾59
:If L≥2:Then
:¦ Line(17,‾11,79,‾11
:¦ Line(17,‾12,79,‾12
:¦ Line(17,‾13,79,‾13
:¦ Line(17,‾47,79,‾47
:¦ Line(17,‾48,79,‾48
:¦ Line(17,‾49,79,‾49
:End
:If L≥3:Then
:¦ Line(38,‾23,38,‾37
:¦ Line(39,‾23,39,‾37
:¦ Line(40,‾23,40,‾37
:¦ Line(56,‾23,56,‾37
:¦ Line(57,‾23,57,‾37
:¦ Line(58,‾23,58,‾37
:End
:If L≥4:Then
:¦ Line(14,‾25,14,‾5
:¦ Line(15,‾25,15,‾5
:¦ Line(16,‾25,16,‾5
:¦ Line(14,‾35,14,‾55
:¦ Line(15,‾35,15,‾55
:¦ Line(16,‾35,16,‾55
:¦ Line(80,‾25,80,‾5
:¦ Line(81,‾25,81,‾5
:¦ Line(82,‾25,82,‾5
:¦ Line(80,‾35,80,‾55
:¦ Line(81,‾35,81,‾55
:¦ Line(82,‾35,82,‾55
:End
:If L≥5:Then
:¦ Line(17,‾35,79,‾35
:¦ Line(17,‾36,79,‾36
:¦ Line(17,‾37,79,‾37
:¦ Line(17,‾23,79,‾23
:¦ Line(17,‾24,79,‾24
:¦ Line(17,‾25,79,‾25
:¦ Pt-Off(48,‾36,2
:¦ Pxl-Off(36,48
:¦ Pt-Off(48,‾24,2
:¦ Pxl-Off(24,48
:¦ Pt-Off(27,‾36,2
:¦ Pxl-Off(36,27
:¦ Pt-Off(27,‾24,2
:¦ Pxl-Off(24,27
:¦ Pt-Off(69,‾36,2
:¦ Pxl-Off(36,69
:¦ Pt-Off(69,‾24,2
:¦ Pxl-Off(24,69
Snake!
Preview :
[Vous devez être inscrit et connecté pour voir cette image]
Dernière édition par Polymorph le Sam 14 Jan - 15:30, édité 1 fois
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Bon, je connais déjà, mais pourrais-tu remplacer les carractères spéciaux s'il te plais, et si possible poster les fichiers codes (.83p ou .8xp) : je suppose que tu doit bien les avoir quelque part, sinon tu n'aurais pas tous ces caractères spéciaux.
Sandro
PS : Sinon, pour poster des codes sources, je te conseille de faire un copier coller depuis [Vous devez être inscrit et connecté pour voir ce lien] : il permet ne ne presque pas avoir de caractères spéciaux à remplacer manuellement.
Sandro
PS : Sinon, pour poster des codes sources, je te conseille de faire un copier coller depuis [Vous devez être inscrit et connecté pour voir ce lien] : il permet ne ne presque pas avoir de caractères spéciaux à remplacer manuellement.
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
et accessoirement de fournir le programme en 8xp.
Sinon, je sens que vais bien aimer les titres de topics avec toi.
Sinon, je sens que vais bien aimer les titres de topics avec toi.
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Ben, le fait de laisser comme ça, ça permettait quand même de faire un
Contrôle A Contrôle C et Contrôle V dans Ti Programm Editor et c'était réglé quoi x)
En fait à vrai dire, j'ai posté à l'arrache parce que j'avais pas le temps. Je vous fais la mise en page stylée tout de suite avec le lien et toussa toussa.
J'y peux rien si les titres peuvent pas faire moins de 10 caractères! [Vous devez être inscrit et connecté pour voir cette image]
Contrôle A Contrôle C et Contrôle V dans Ti Programm Editor et c'était réglé quoi x)
En fait à vrai dire, j'ai posté à l'arrache parce que j'avais pas le temps. Je vous fais la mise en page stylée tout de suite avec le lien et toussa toussa.
Sinon, je sens que vais bien aimer les titres de topics avec toi.
J'y peux rien si les titres peuvent pas faire moins de 10 caractères! [Vous devez être inscrit et connecté pour voir cette image]
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
sans parantheses ca fait quand meme 10 caracteres
noelthebest- Platinum 1
- Sexe :
Age : 27
Messages : 1971
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-83+.fr
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Tu peux très bien faire un controle A-C-V dans sourcecoder. ça fait la même chose que TI progam editor, sauf que c'est en ligne.
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Beau travail !
PS : encore une fois, je ne peux que te conseiller d'utiliser Sourcecoder.
PS : encore une fois, je ne peux que te conseiller d'utiliser Sourcecoder.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Attention, haut les cœurs, roulement de tambour, et orchestre en folie, la version 2.0 est sortie ! Au programme, toujours un peu plus de speed : D
(Merci au Snake de ThePh pour m'avoir inspirer d'augmenter de 200 octets la taille de mon code en séparant la boucle verticale et la boucle horizontale ^^ (théoriquement, je devrais faire 4 boucles différentes, une pour chaque direction, mais après le code sera beaucoup trop long...)
J'ajoute une légère modification dans le Selector, retéléchargez-le si vous l'avez déja!
Le link (toujours dans ma signature :D)
[Vous devez être inscrit et connecté pour voir ce lien]
Preview! ;D
[Vous devez être inscrit et connecté pour voir cette image]
La, il mérite vraiment des tests, je vous l'assure! ^^.
(Merci au Snake de ThePh pour m'avoir inspirer d'augmenter de 200 octets la taille de mon code en séparant la boucle verticale et la boucle horizontale ^^ (théoriquement, je devrais faire 4 boucles différentes, une pour chaque direction, mais après le code sera beaucoup trop long...)
- Code:
//SNAKE
:StoreGDB 1
:0→Xmin:94→Xmax
:‾62→Ymin:0→Ymax
:FnOff
:AxesOff
:ClrDraw
:RecallPic 0
:Text(30,17,"JOUER
:Text(30,46,"QUITTER
:Text(50,22,"BY POLYMORPH
:Text(40,35,"V 2.0
:prgmSELECTOR
:If L3(1):Then
:¦ {0→L3
:¦ ClrDraw
:¦ RecallPic 2
:¦ 69!:69!:69!:69!
:¦ Goto J0:End
:DelVar L
:Lbl D
:L+1→L
:ClrDraw
:prgmZDECORS
:Lbl A
:DelVar A1→B:5→N
:‾1→Q:0→R
:48→W:‾30→Z
:ClrListL1,L2
:Repeat not(pxl-Test(‾V,U
:¦ 3randInt(1,30→U
:¦ ‾3randInt(1,18→V
:End
:Lbl J0
:Pt-On(U,V,2
:Pt-Off(U,V,3
:Pxl-On(‾V,U
:Lbl J
:Repeat A=105
:¦ While not(A=24 or A=26 or A=105
:¦ ¦ W→L1(B
:¦ ¦ Z→L2(B
:¦ ¦ If W=U and Z=V
:¦ ¦ Then:Pxl-Off(‾V,U
:¦ ¦ ¦ Repeat not(pxl-Test(1-V,1+U
:¦ ¦ ¦ ¦ 3randInt(1,30→U
:¦ ¦ ¦ ¦ ‾3randInt(1,17→V
:¦ ¦ ¦ End
:¦ ¦ ¦ N+1→N
:¦ ¦ ¦ If N=20:Goto D
:¦ ¦ ¦ Pt-On(U,V,2
:¦ ¦ ¦ Pt-Off(U,V,3
:¦ ¦ ¦ Pxl-On(‾V,U
:¦ ¦ End
:¦ ¦ Pt-On(W,Z,2
:¦ ¦ B+1→B
:¦ ¦ If B>N
:¦ ¦ Pt-Off(L1(B-N),L2(B-N),2
:¦ ¦ Z+3Q→Z
:¦ ¦ If pxl-Test(Q-Z,W
:¦ ¦ Goto 0
:¦ ¦ getKey→A
:¦ End
:¦ If not(A=105
:¦ (A=26)-(A=24→R
:¦ (R=0)Q→Q
:¦ While not(A=25 or A=34 or A=105
:¦ ¦ W→L1(B
:¦ ¦ Z→L2(B
:¦ ¦ If W=U and Z=V
:¦ ¦ Then:Pxl-Off(‾V,U
:¦ ¦ ¦ Repeat not(pxl-Test(1-V,1+U
:¦ ¦ ¦ ¦ 3randInt(1,30→U
:¦ ¦ ¦ ¦ ‾3randInt(1,17→V
:¦ ¦ ¦ End
:¦ ¦ ¦ N+1→N
:¦ ¦ ¦ If N=20:Goto D
:¦ ¦ ¦ Pt-On(U,V,2
:¦ ¦ ¦ Pt-Off(U,V,3
:¦ ¦ ¦ Pxl-On(‾V,U
:¦ ¦ End
:¦ ¦ Pt-On(W,Z,2
:¦ ¦ B+1→B
:¦ ¦ If B>N
:¦ ¦ Pt-Off(L1(B-N),L2(B-N),2
:¦ ¦ W+3R→W
:¦ ¦ If pxl-Test(‾Z,W-R
:¦ ¦ Goto 0
:¦ ¦ getKey→A
:¦ End
:¦ If not(A=105
:¦ (A=25)-(A=34→Q
:¦ (Q=0)R→R
:End
:StorePic 2
:ClrDraw
:RecallPic 1
:Text(10,39,"PAUSE
:Text(25,31,"REPRENDRE
:Text(33,36,"SAUVER
:Text(41,35,"QUITTER
:25→I
:Text(I,26,">
:Repeat K=105
:¦ getKey→K
:¦ If K=25 and I>25
:¦ Then:Text(I,26," "
:¦ ¦ I-8→I
:¦ ¦ Text(I,26,">
:¦ End
:¦ If K=34 and I<41
:¦ Then:Text(I,26," "
:¦ ¦ I+8→I
:¦ ¦ Text(I,26,">
:¦ End
:End
:ClrDraw
:If I=25:Then
:¦ RecallPic 2
:¦ DelVar Pic2
:¦ 69!:69!:69!
:¦ 24(R=‾1)+25(Q=1)+26(R=1)+34(Q=‾1→A
:¦ Goto J:End
:If I=33:Then
:¦ 9→dim(L3
:¦ {1,W,Z,U,V,L,N,A,B→L3
:¦ Text(28,25,"SAUVERGARDE
:¦ For(F,23,68
:¦ ¦ For(G,28,34
:¦ ¦ ¦ Pxl-Change(G,F
:¦ ¦ End:End
:¦ 69!:69!
:¦ Text(36,29,"TERMINEE!
:¦ For(F,1,6
:¦ ¦ 69!:End
:¦ ClrHome
:¦ ClrDraw
:¦ Output(1,1,"
:¦ Stop:End
:If I=41:Then
:¦ DelVar Pic2
:¦ ClrHome
:¦ Output(1,1,"
:¦ RecallGDB 1
:¦ ClrListL1,L2
:¦ Stop:End
:Lbl 0
:For(F,31,0,‾1
:¦ Horizontal ‾31-F
:¦ Horizontal F-31
:End
:ClrDraw:ClrHome
:Output(3,4,"GAME OVER
:Output(6,5,"SCORE
:Output(6,11,N-20+15L
:ClrListL1,L2
:RecallGDB 1
J'ajoute une légère modification dans le Selector, retéléchargez-le si vous l'avez déja!
Le link (toujours dans ma signature :D)
[Vous devez être inscrit et connecté pour voir ce lien]
Preview! ;D
[Vous devez être inscrit et connecté pour voir cette image]
La, il mérite vraiment des tests, je vous l'assure! ^^.
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Patatra double post (oukiléméchant!)
J'ai bien bossé hier et avant hier sur mon snake, voici la 2.2!
Au programme, toujours plus de speed, un point plus joli, et un retour par le menu pause quand vous reprenez une sauvegarde !
NB : J'ai fait des sauts de ligne dans le code pour ceux que ça intéresse de le lire, sinon il est galère à lire (j'ai séparé les deux grandes boucle dans la boucle de jeu)
Link!
[Vous devez être inscrit et connecté pour voir cette image]
J'ai bien bossé hier et avant hier sur mon snake, voici la 2.2!
Au programme, toujours plus de speed, un point plus joli, et un retour par le menu pause quand vous reprenez une sauvegarde !
NB : J'ai fait des sauts de ligne dans le code pour ceux que ça intéresse de le lire, sinon il est galère à lire (j'ai séparé les deux grandes boucle dans la boucle de jeu)
- Code:
//SNAKE
:StoreGDB 1
:0→Xmin:94→Xmax
:‾62→Ymin:0→Ymax
:FnOff
:AxesOff
:ClrDraw
:RecallPic 0
:Text(30,17,"JOUER
:Text(30,46,"QUITTER
:Text(50,22,"BY POLYMORPH
:Text(40,35,"V 2.2
:prgmSELECTOR
:If L3(1):Then
:¦ {0→L3
:¦ ClrDraw
:¦ RecallPic 2
:¦ 69!:69!:69!:69!
:¦ Goto J0:End
:DelVar L
:Lbl D
:L+1→L
:ClrDraw
:prgmZDECORS
:Lbl A
:34→A:1→B:5→N
:‾1→Q:0→R
:48→W:‾30→Z
:ClrListL1,L2
:Repeat not(pxl-Test(‾V,U
:¦ 3randInt(1,30→U
:¦ ‾3randInt(1,18→V
:End
:Lbl J0
:Pt-On(U,V,3
:Lbl J
:DelVar T
:
:Repeat A=105
:¦
:¦
:¦ While not(T)(A=25 or A=34
:¦ ¦ W→L1(B
:¦ ¦ Z→L2(B
:¦ ¦ Pt-On(W,Z,2
:¦ ¦ B+1→B
:¦ ¦ If B>N
:¦ ¦ Pt-Off(L1(B-N),L2(B-N),2
:¦ ¦ Z+3Q→Z
:¦ ¦ pxl-Test(Q-Z,W→T
:¦ ¦ getKey→K
:¦ ¦ K+Anot(K→A
:¦ End
:¦
:¦
:¦ If A≠105
:¦ (A=26)-(A=24→R
:¦ Qnot(R→Q
:¦
:¦
:¦ While not(T)(A=24 or A=26
:¦ ¦ W→L1(B
:¦ ¦ Z→L2(B
:¦ ¦ Pt-On(W,Z,2
:¦ ¦ B+1→B
:¦ ¦ If B>N
:¦ ¦ Pt-Off(L1(B-N),L2(B-N),2
:¦ ¦ W+3R→W
:¦ ¦ pxl-Test(‾Z,W-R→T
:¦ ¦ getKey→K
:¦ ¦ K+Anot(K→A
:¦ End
:¦
:¦
:¦ If A≠105
:¦ (A=25)-(A=34→Q
:¦ Rnot(Q→R
:¦
:¦ If T:Then
:¦ ¦ If W=U and Z=V
:¦ ¦ Then:Pxl-Off(‾V,U
:¦ ¦ ¦ Repeat not(pxl-Test(1-V,1+U
:¦ ¦ ¦ ¦ 3randInt(1,30→U
:¦ ¦ ¦ ¦ ‾3randInt(1,17→V
:¦ ¦ ¦ End
:¦ ¦ ¦ N+1→N
:¦ ¦ ¦ If N=20:Goto D
:¦ ¦ ¦ Pt-On(U,V,3
:¦ ¦ ¦ 0→T:End
:¦ ¦ If T:Goto 0
:¦ End:End
:
:
:StorePic 2
:ClrDraw
:RecallPic 1
:Text(10,39,"PAUSE
:Text(25,31,"REPRENDRE
:Text(33,36,"SAUVER
:Text(41,35,"QUITTER
:25→I
:Text(I,26,">
:Repeat K=105
:¦ getKey→K
:¦ If K=25 and I>25
:¦ Then:Text(I,26," "
:¦ ¦ I-8→I
:¦ ¦ Text(I,26,">
:¦ End
:¦ If K=34 and I<41
:¦ Then:Text(I,26," "
:¦ ¦ I+8→I
:¦ ¦ Text(I,26,">
:¦ End
:End
:ClrDraw
:If I=25:Then
:¦ RecallPic 2
:¦ DelVar Pic2
:¦ 69!:69!:69!
:¦ 24(R=‾1)+25(Q=1)+26(R=1)+34(Q=‾1→A
:¦ Goto J:End
:If I=33:Then
:¦ 9→dim(L3
:¦ {1,W,Z,U,V,L,N,A,B→L3
:¦ Text(28,25,"SAUVERGARDE
:¦ For(F,23,68
:¦ ¦ For(G,28,34
:¦ ¦ ¦ Pxl-Change(G,F
:¦ ¦ End:End
:¦ 69!:69!
:¦ Text(36,29,"TERMINEE!
:¦ For(F,1,6
:¦ ¦ 69!:End
:¦ ClrHome
:¦ ClrDraw
:¦ Output(1,1,"
:¦ Stop:End
:If I=41:Then
:¦ DelVar Pic2
:¦ ClrHome
:¦ Output(1,1,"
:¦ RecallGDB 1
:¦ ClrListL1,L2
:¦ Stop:End
:Lbl 0
:For(F,31,0,‾1
:¦ Horizontal ‾31-F
:¦ Horizontal F-31
:End
:ClrDraw:ClrHome
:Output(3,4,"GAME OVER
:Output(6,5,"SCORE
:Output(6,11,N-20+15L
:ClrListL1,L2
:RecallGDB 1
Link!
[Vous devez être inscrit et connecté pour voir cette image]
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Je n'ai rien a redire sur le snake, il gère autant que celui de Xpro !
(par contre je peux te dire ou se trouve le bouton éditer: en haut à droite de ton message, pour éviter les doubles posts.)
(par contre je peux te dire ou se trouve le bouton éditer: en haut à droite de ton message, pour éviter les doubles posts.)
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Oui et euh si tu veux encore plus de speed (si si ! ) ne fais pas genre Then:Text(X,Y,"QQCH parce que dans le compilateur le retour à la ligne est traité avant ce qui fait que si tu fais comme ça ça ralentit un peu la vitesse d'exécution.
noelthebest- Platinum 1
- Sexe :
Age : 27
Messages : 1971
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-83+.fr
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Un compilateur, où ça ?
Tu voulais sûrement dire l'interpréteur.
(Petite taquinerie du soir, merci de ne pas me le reprocher...)
Sinon je pense remplacer le snake de TI-BASIC+ par celui-ci qui semble mieux optimisé et plus rapide, merci de votre compréhension.
Tu voulais sûrement dire l'interpréteur.
(Petite taquinerie du soir, merci de ne pas me le reprocher...)
Sinon je pense remplacer le snake de TI-BASIC+ par celui-ci qui semble mieux optimisé et plus rapide, merci de votre compréhension.
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Chouette !
Je pense qu'il y a encore moyen de l'optimiser, je chercherai, mais malgré tout, je suit très content .
Je pense qu'il y a encore moyen de l'optimiser, je chercherai, mais malgré tout, je suit très content .
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Merci de notre compréhension ?
Tu croyais qu'on allait rouspéter ? Polymorph, tu as gagné ta place dans les crédits de TI Basic + !
Non mais sans blague, qu'est-ce qui lui prend de remplacer un snake par un autre plus léger ? C'est quoi cette recherche du néant, là ? On est pauvres, c'est ça ?
↑ petite taquinerie du matin !
Tu croyais qu'on allait rouspéter ? Polymorph, tu as gagné ta place dans les crédits de TI Basic + !
Non mais sans blague, qu'est-ce qui lui prend de remplacer un snake par un autre plus léger ? C'est quoi cette recherche du néant, là ? On est pauvres, c'est ça ?
↑ petite taquinerie du matin !
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Disons que le programme a comme avantages par rapport au précédent d'être plus léger et plus rapide, ce qui est un avantage primordiale dans la programmation TI.
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Pas mal, c'est cool d'améliorer le jeu comme cela !
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Note, j'ai actuellement un léger bug, mais je sais pas vraiment comment le résoudre, donc je préfère vous demander si vous avez des idées.
Déja pour ceux qui auraient pas lu ou pas compris le code, il marche avec une boucle while non(T) dans une boucle infinie, T étant le pixel-test juste devant le snake.
Ainsi, si un pixel est repéré, on sort de la boucle. On teste si le snake mange le point, si oui, on delete T et on repart pour un nouveau point.
Puis, on test si T est toujours égal à 1, c'est à dire si Snaky se mange un mur. Si oui, on sort de la boucle et on va au label défaite, avant de terminer le programme.
Lorsque je choisis un nouveau point, je test le coin d'une des cases (3*3, puisque c'est la taille des case qui composent le snake)
1er Problème : Le point peut réapparaître exactement au même emplacement que celui d'ou il a été mangé (Car j'efface le point avant d'en chercher un nouveau. Je pense que trouver un nouveau point avant d'effacer le précédent pourrait régler ce problème). Or, à la fin de la boucle, le test de collision est delete (un nouveau test de collision peut-être?), donc on rentre dans la boucle while sans soucis, et elle évolue les coordonnées du snake en testant celles de la case suivante. Résultat, le contour est effacé, et la collision avec le point ne peut plus être testée.
2nd Problème (le plus emmerdant, puisque je n'ai aucune idée de comment le régler) : Le nouveau point à manger peut réapparaître juste derrière le dernier maillon du Snake. Sauf que mon système d'effacement du snake marche avec un pointeur dans une liste :
Résultat, j'efface le contour du point à manger et plus de collision détectée.
Des idées?
Déja pour ceux qui auraient pas lu ou pas compris le code, il marche avec une boucle while non(T) dans une boucle infinie, T étant le pixel-test juste devant le snake.
Ainsi, si un pixel est repéré, on sort de la boucle. On teste si le snake mange le point, si oui, on delete T et on repart pour un nouveau point.
Puis, on test si T est toujours égal à 1, c'est à dire si Snaky se mange un mur. Si oui, on sort de la boucle et on va au label défaite, avant de terminer le programme.
Lorsque je choisis un nouveau point, je test le coin d'une des cases (3*3, puisque c'est la taille des case qui composent le snake)
1er Problème : Le point peut réapparaître exactement au même emplacement que celui d'ou il a été mangé (Car j'efface le point avant d'en chercher un nouveau. Je pense que trouver un nouveau point avant d'effacer le précédent pourrait régler ce problème). Or, à la fin de la boucle, le test de collision est delete (un nouveau test de collision peut-être?), donc on rentre dans la boucle while sans soucis, et elle évolue les coordonnées du snake en testant celles de la case suivante. Résultat, le contour est effacé, et la collision avec le point ne peut plus être testée.
2nd Problème (le plus emmerdant, puisque je n'ai aucune idée de comment le régler) : Le nouveau point à manger peut réapparaître juste derrière le dernier maillon du Snake. Sauf que mon système d'effacement du snake marche avec un pointeur dans une liste :
- Code:
Pt-off(L1(B-N,L2(B-N),2)
Résultat, j'efface le contour du point à manger et plus de collision détectée.
Des idées?
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
A mon avis, le problème 1 n'est pas un problème...
ça dérange pas tant que ça.
La deuxième, oui, c'est un problème.
A part une condition qui vérifie si le point à effacer n'est pas celui qui a les coordonées du casse croute à serpent, je ne vois pas.
ça dérange pas tant que ça.
La deuxième, oui, c'est un problème.
A part une condition qui vérifie si le point à effacer n'est pas celui qui a les coordonées du casse croute à serpent, je ne vois pas.
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
C'est pas très bien expliqué dans mon post, mais le problème 1 engendre un problème identique au problème 2. Vu que le point réapparaît au même endroit au moment ou le test de collision est reseté, il est pas detecté, du coup on le traverse et il s'efface...A mon avis, le problème 1 n'est pas un problème...
Je vais essayer ton idée, on sait jamais (mais ça risque de ralentir un peu le snake...)
Polymorph- Argent 4
- Sexe :
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)
Ah oui effectivement. Je l'avais pas vu sous cette angle là.
Ouais, ben t'as plus qu'a essayer la condition, ça ralentira et ça fera prendre des octets au programme.
Ouais, ben t'as plus qu'a essayer la condition, ça ralentira et ça fera prendre des octets au programme.
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum