[axe] snake
2 participants
Page 1 sur 1
[axe] snake
Bonjour,
j'ai fais un snake pour le premier tour du TI-Concour, et comme celui-si est finit, je voullais présenter le code pour que ceux qui veulent puissent l'utiliser, et ceux qui ont des idées d'ammélioration m'en faire part.
Le snake comporte 9 niveaux ; 3 modes (standart, campagne (on change de niveau après un nombre donné de pommes mangées) ou muant (le serpent pert une partie de sa queu quand il mange (mais garde la même longueur), ce morceau de queu sera désormais comme un mur) ; une vitesse réglable, ainsi que le nombre de pommes par niveau.
Touches à utiliser : les flèches, annul(clear) et enter
le lien (source + executable no-shell) : axe tour1 Sandro06.zip
Merci d'avance pour d'éventuelles idées d'améliorations
Sandro
j'ai fais un snake pour le premier tour du TI-Concour, et comme celui-si est finit, je voullais présenter le code pour que ceux qui veulent puissent l'utiliser, et ceux qui ont des idées d'ammélioration m'en faire part.
Le snake comporte 9 niveaux ; 3 modes (standart, campagne (on change de niveau après un nombre donné de pommes mangées) ou muant (le serpent pert une partie de sa queu quand il mange (mais garde la même longueur), ce morceau de queu sera désormais comme un mur) ; une vitesse réglable, ainsi que le nombre de pommes par niveau.
Touches à utiliser : les flèches, annul(clear) et enter
le lien (source + executable no-shell) : axe tour1 Sandro06.zip
- Spoiler:
- BASIC Code a écrit::.SNAKE06
:DiagnosticOff
:ClrHome
:Disp i,i," SNAKE",i," Par Sandro
:Pause 5000
:200→D
:.D=duree de pause
:1→M→I
:.M=mode
:.I=Niveau
:25→F
:.F=nbr pommes/niv
:Lbl PA
:1→A
:ClrHome
:Text(0,3,"->Jouer
:Text(8,13,"Vitesse
:Text(8,23,"Mode
:Text(8,33,"Niveau
:Text(8,43,"Pommes par niveau
:Text(8,53,"Quiter
:K--
:Repeat K=9
:getKey→K
:A→B
:!If K-1
:A++
:!If A-7
:1→A
:End
:End
:!If K-4
:A--
:!If A
:6→A
:End
:End
:Text(0,A*10-7,"->
:Text(0,B*10-7,"
:End
:
:ClrHome
:!If A-2
:Text(0,0,"Vitesse:",D►Dec
:Text(0,10,"(plus le nombre est grand,
:Text(0,20,"moins c ' est rapide )
:K--
:While K-9
:getKey→K
:!If K-1
:D--
:!If D
:500→D
:End
:End
:!If K-15
:200→D
:End
:!If K-4
:D++
:!If D-501
:1→D
:End
:End
:Text(25,0,D►Dec,"
:End
:Goto PA
:End
:
:!If A-3
:1→M
:Text(15,0,"MODE:
:Text(0,10,"->Standart
:Text(8,20,"Campagne
:Text(8,30,"Muant
:K--
:Repeat K=9
:getKey→K
:M→B
:!If K-1
:M++
:!If M-4
:1→M
:End
:End
:!If K-4
:M--
:!If M
:3→M
:End
:End
:Text(0,M*10,"->
:Text(0,B*10,"
:End
:Goto PA
:End
:
:!If A-4
:Text(0,0,"Niveau:",I►Dec
:K--
:While K-9
:getKey→K
:!If K-1
:I--
:!If I
:9→I
:End
:End
:!If K-4
:I++
:!If I-10
:1→I
:End
:End
:Text(24,0,I►Dec
:End
:Goto PA
:End
:
:!If A-5
:25→F
:Text(0,0,"Pommes par niveau:",F►Dec
:K--
:While K-9
:getKey→K
:!If K-1
:F--
:!If F-9
:150→F
:End
:End
:!If K-15
:25→F
:End
:!If K-4
:F++
:!If F-151
:10→F
:End
:End
:Text(65,0,F►Dec,"
:End
:Goto PA
:End
:!If A-6
:DiagnosticOn
:Return
:End
:
:
:
:
:Lbl ST
:ClrDraw
:ClrHome
:Disp i,i,i," Niveau",I►Dec
:Pause 2500
:!If I-2
:ref(0,0,2,64
:ref(0,0,96,2
:ref(0,62,96,2
:ref(94,0,2,64
:End
:
:!If I-4
:For(A,0,10
:For(B,0,6
:ref(A*8+4,B*8+4,4,4
:End
:End
:End
:
:!If I-3
:ref(0,0,96,2
:ref(0,0,2,30
:ref(0,34,2,30
:ref(94,0,2,30
:ref(94,34,2,30
:ref(0,62,96,2
:For(A,2,5
:ref(A*8-6,A+1*2,2,15-A*4
:ref(12-A*8+6,A+1*2,2,15-A*4
:End
:End
:
:!If I-7
:ref(0,30,96,2
:For(A,1,7
:ref(A*14-8,0,2,30
:ref(A*14-2,32,2,32
:End
:rref(54,32,2,32
:End
:
:!If I-6
:For(A,0,4
:ref(A*8+4,A*6+4,86-(A*16),56-(A*12
:rref(A*8+6,A*6+6,82-(A*16),52-(A*12
:End
:ref(0,30,96,4
:rref(0,30,96,4
:End
:
:!If I-8
:For(A,0,10
:For(B,0,6
:.If A^2
:.ref(A*8+4,B*8+4,4,4
:.Else
:ref(A*8+4,B*2+(A^2)*4,4,4
:.ref(A*8+4,B*8,4,4
:.End
:End
:End
:rref(52,32,4,4
:End
:
:!If I-5
:For(B,0,1
:For(A,0,2
:ref(A*32+4,B*30+4,2,20
:ref(A*32+8,B*30+4,16,2
:ref(A*32+24,B*30+8,2,16
:End
:ref(4,B*30+24,86,2
:End
:End
:
:!If I-9
:For(A,0,1
:ref(0,A*62,96,2
:End
:For(A,1,15
:ref(A*6-2,(A^2)*4+2,2,56
:End
:Pxl-Off(58,32
:Pxl-Off(58,33
:Pxl-Off(59,32
:Pxl-Off(59,33
:End
:
:
:DispGraph
:For(P,0,4
:Pxl-On(P+22*2,32
:Pxl-On(P+22*2,33
:Pxl-On(P+22*2+1,32
:Pxl-On(P+22*2+1,33
:P+22*2→{P*2+L3
:32→{P*2+L3+1}
:End
:
:.L est la longueur du serpent (en carres de 2*2 pixels
:.P est la position (du 1er octe/2) de la tete dans L3 (pointeur)
:4→P+1→L
:
:
:.S=delta X
:.T=delta Y
:
:52→X
:32→Y
:0→T+2→S
:.2→S
:
:rand^47*2→A
:rand^32*2→B
:While pxl-Test(A,B
:rand^47*2→A
:rand^32*2→B
:End
:Pxl-On(A+1,B
:Pxl-On(A,B+1
:Pxl-On(A+1,B+1
:DispGraph
:
:Repeat getKey
:End
:
:While K-15
:getKey→K
:
:!If L-5-F or (M-2
:I++
:!If I-11
:1→I
:End
:Goto ST
:End
:!If K-1 or (T=‾2
:0→S+2→T
:.2→T
:End
:!If K-2 or (S=2
:‾2→S+2→T
:.0→T
:End
:!If K-3 or (S=‾2
:.2→S
:0→T+2→S
:End
:!If K-4 or (T=2
:‾2→T+2→S
:.0→S
:End
:X+S→X
:Y+T→Y
:
:If X=‾2
:94→X
:End
:!If X-96
:0→X
:End
:If Y=‾2
:62→Y
:End
:!If Y-64
:0→Y
:End
:
:If pxl-Test(X,Y
:Goto GO
:End
:
:If M-3
:.Standart/campagne
:If pxl-Test(X,Y+1
:L+1→A
:While A>(P+2
:A-1→A
:{A-1*2+L3}^r^→{A*2+L3}^r^
:End
:L+1→L
:
:!If L-384
:Goto ER
:End
:
:rand^47*2→A
:rand^32*2→B
:While pxl-Test(A+1,B
:rand^45+1*2→A
:rand^30+1*2→B
:End
:Pxl-On(A,B+1
:Pxl-On(A+1,B
:Pxl-On(A+1,B+1
:P++
:Else
:P++
:!If P-L
:0→P
:End
:{P*2+L3}→N
:{P*2+L3+1}→O
:
:Pxl-Off(N,O
:Pxl-Off(N,O+1
:Pxl-Off(N+1,O
:Pxl-Off(N+1,O+1
:End
:Else
:.Muant
:If pxl-Test(X,Y+1
:For(A,P+1,L-1
:{A*2+L3→{A+1*2+L3
:End
:L+1→L
:rand^47*2→A
:rand^32*2→B
:While A+B=0 or pxl-Test(A,B
:rand^47*2→A
:rand^32*2→B
:End
:Pxl-On(A,B+1
:Pxl-On(A+1,B
:Pxl-On(A+1,B+1
:DispGraph
:
:End
:
:P++
:!If P-L
:0→P
:End
:{P*2+L3}→N
:{P*2+L3+1}→O
:
:Pxl-Off(N,O
:Pxl-Off(N,O+1
:Pxl-Off(N+1,O
:Pxl-Off(N+1,O+1
:
:End
:
:
:Pxl-On(X+1,Y
:Pxl-On(X+1,Y+1
:Pxl-On(X,Y+1
:Pxl-On(X,Y
:DispGraph
:Pause D
:
:X→{P*2+L3}
:Y→{P*2+L3+1}
:
:End
:
:Lbl MN
:ClrHome
:1→A
:Text(0,20,"->RECOMMENCER
:Text(8,30,"PARAMETRES
:Text(8,40,"QUITTER
:Repeat K=9
:getKey→K
:A→B
:!If K-1
:A++
:!If A-4
:1→A
:End
:End
:!If K-4
:A--
:!If A
:3→A
:End
:End
:Text(0,A+1*10,"->
:Text(0,B+1*10," "
:End
:
:!If A-1
:Goto ST
:End
:!If A-2
:Goto PA
:End
:DiagnosticOn
:Return
:
:Lbl GO
:ClrHome
:Disp i,i," GAME OVER",i,"Longueur:",L►Dec
:Pause 5000
:Goto MN
:
:Lbl ER
:ClrHome
:Disp i,i," FELITITATIONS!",i," Vous avez at- teint la lon- gueur maximale: 384
:Pause 5000
:Goto MN
Generated by SourceCoder, © 2005-2012 Cemetech
Merci d'avance pour d'éventuelles idées d'améliorations
Sandro
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: [axe] snake
Dans les premières lignes :
:1→M→I→K
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: [axe] snake
t'es sur, il y a le label PA entre : quand on pert et qu'on choisit parammetres, le K vaudra encore 9 (confirmation du parramètre) ?
Merci
Sandro
Merci
Sandro
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
Sujets similaires
» [AXE] Snake
» Jeu snake fait bug les graphiques
» [83] Le snake le plus rapide en basic !!
» [REC] Vos records dans F(ast)SNAKE
» [TI-82 Stats.fr]Problème avec le jeu "Snake"
» Jeu snake fait bug les graphiques
» [83] Le snake le plus rapide en basic !!
» [REC] Vos records dans F(ast)SNAKE
» [TI-82 Stats.fr]Problème avec le jeu "Snake"
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum