Espace TI: Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -56%
Ampli Home Cinema Denon AVR-X1700H à 349€
Voir le deal
349 €

[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

Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Sam 14 Jan - 10:15

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!

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
Lien de DL :
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
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par sandro Sam 14 Jan - 13:09

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
sandro
Or 4
Or 4

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-84+ SE
  • - TI-89
  • - Casio Collège

TI-84+ SE


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par persalteas Sam 14 Jan - 13:38

et accessoirement de fournir le programme en 8xp.

Sinon, je sens que vais bien aimer les titres de topics avec toi.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Sam 14 Jan - 15:22

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.

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
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par noelthebest Sam 14 Jan - 18:31

sans parantheses ca fait quand meme 10 caracteres
noelthebest
noelthebest
Platinum 1
Platinum 1

Sexe : Masculin
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
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84+ SE


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par persalteas Sam 14 Jan - 19:50

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
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Metallica Sam 14 Jan - 20:10

Beau travail !

PS : encore une fois, je ne peux que te conseiller d'utiliser Sourcecoder.
Metallica
Metallica
Or 4
Or 4

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83+ SE

TI-83+ SE


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Dim 15 Jan - 18:05

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...)

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
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Lun 16 Jan - 10:31

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)

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
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par persalteas Lun 16 Jan - 12:10

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.)
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par noelthebest Lun 16 Jan - 15:01

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
noelthebest
Platinum 1
Platinum 1

Sexe : Masculin
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
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84+ SE


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Alexis Lun 16 Jan - 18:34

Un compilateur, où ça ? Choqué

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.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 31
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Lun 16 Jan - 20:30

Chouette !

Je pense qu'il y a encore moyen de l'optimiser, je chercherai, mais malgré tout, je suit très content ^^.
Polymorph
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par persalteas Mar 17 Jan - 6:54

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 ?

Gni

↑ petite taquinerie du matin !
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Alexis Mar 17 Jan - 18:59

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.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 31
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par kindermoumoute Mar 17 Jan - 19:57

Pas mal, c'est cool d'améliorer le jeu comme cela ! Houra
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Mer 18 Jan - 11:09

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 :
Code:
Pt-off(L1(B-N,L2(B-N),2)
B étant l'emplacement du dernier point créé, et N le nombre de points mangés. Or quand je mange un point, j'incrémente N, ce qui a pour effet d'effacer deux fois d'affilée la même case, le dernier maillon de la chaîne.
Résultat, j'efface le contour du point à manger et plus de collision détectée.

Des idées?
Polymorph
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par persalteas Mer 18 Jan - 14:19

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.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Polymorph Mer 18 Jan - 15:41

A mon avis, le problème 1 n'est pas un problème...
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...

Je vais essayer ton idée, on sait jamais (mais ça risque de ralentir un peu le snake...)
Polymorph
Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par persalteas Mer 18 Jan - 16:48

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.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !) Empty Re: [83]Snake 1.9, by Polymorph (du revu et corrigé, mais on ne change pas une équipe qui gagne !)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum