Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Modification d'un jeu
chips93 le 19/10/2012 à 21:01
Bonjour, j'ai un jeu snake que je trouve très bien, je voudrais juste modifier l'option "pause" (la touche est actuellement 2nd, puis entrer pour reprendre), j'aimerai modifier cette pause par une autre, plus précisément par une pause d'un autre programme que je trouve réussi.
voila le menu pause que je souhaiterai ajouter en remplacement celle du programme:
Image manquante
Je sais pas comment faire,
Voici le snake dans lequel je voudrai ajouter le menu
Code
ClrHome
Output(1,3,"SNAKE PAR
Output(3,8,"DANIEL
Output(5,6,"EMERY
Output(8,2,"HIGH SCORE:
Output(8,14,ZÖMin
Normal
PlotsOff
AxesOff
FnOff
GridOff
For(A,1,999
End
0ü (
) Xmin
94ü (
) Xmax
0ü (
) Ymin
62ü (
) Ymax
0ü (
) N
0ü (
) P
0ü (
) O
39ü (
) dim(áY
1ü (
) M
ClrDraw
Lbl 0
Repeat 0
Fill(99,áY
áYü (
) áX
49ü (
) B
47ü (
) A
34ü (
) D
1ü (
) E
10ü (
) L
0ü (
) H
0ü (
) I
Horizontal 0
Horizontal 1
Horizontal 2
Horizontal 60
Horizontal 61
Horizontal 62
Vertical 0
Vertical 1
Vertical 2
Vertical 3
Vertical 91
Vertical 92
Vertical 93
Vertical 94
getKey
While M
While H
While not(I)D=24
Dü (
) C
Repeat Ans+I
A-3ü (
) A
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
While not(I)(D=25
Dü (
) C
Repeat Ans+I
B+3ü (
) B
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
While not(I)(D=26
Dü (
) C
Repeat Ans+I
A+3ü (
) A
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
While not(I)(D=34
Dü (
) C
Repeat Ans+I
B-3ü (
) B
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
If D=21
Pause
If D=45
Then
Lbl 2
ClrHome
Output(2,7,"GAME
Output(3,7,"OVER
Lbl 3
ClrDraw
10N+(L-10)/3+Oü (
) O
If O>ZÖMin
Then
Oü (
) ZÖMin
Output(5,3,"NOUV. HIGH
End
Output(6,5,"SCORE:
Output(6,11,O
DelVar áX
DelVar áY
Return
End
If I
Then
If A=J and B=K
Then
Pt-Off(J,K
L+3ü (
) L
0ü (
) I
0ü (
) H
Else
For(A,3,31
Horizontal A
Horizontal 62-A
End
P+1ü (
) P
If P=3
Goto 2
(L-10)/3+Oü (
) O
0ü (
) M
N-1ü (
) N
Goto 0
End
End
If D<24 or D>26 and Dø34
Cü (
) D
End
While not(H
1+3randInt(1,19ü (
) K
2+3randInt(1,29ü (
) J
not(pxl-Test(62-K,J+1ü (
) H
End
Pt-On(J,K,3
If L=40
0ü (
) M
0ü (
) I
End
ClrDraw
N+1ü (
) N
If N=7
Then
ClrHome
Output(1,4,"BRAVO!!!
Output(3,2,"TU A GAGNE!!
Goto 3
End
If N
{32,9,32,53,62,9,62,53ü (
) áX
If N>1
augment(áX,{34,52,60,52,34,10,42,10,52,10,60,10ü (
) áX
If N>2
augment(áX,{2,31,12,31,22,31,42,31,52,31,72,31,82,31,90,31ü (
) áX
If N>3
augment(áX,{2,52,12,52,22,52,72,52,82,52,90,52,2,10,12,10,22,10,42,10,52,10,72,10,82,10,92,10ü (
) áX
If N>4
augment(áX,{11,41,11,21,23,41,23,21,71,41,71,21,83,41,83,21ü (
) áX
If N>5
augment(áX,{41,41,41,21,53,41,53,21ü (
) áX
If 99-áX(1
Then
For(X,1,dim(áX),4
áX(Xü (
) A
áX(X+1ü (
) B
áX(X+2ü (
) C
áX(X+3ü (
) D
If A=C
Then
Line(A-1,B,A-1,D
Line(A+1,B,A+1,D
Else
Line(A,B-1,C,B-1
Line(A,B+1,C,B+1
End
Line(A,B,C,D
End
End
1ü (
) M
End
Et voici le jeu ou le menu pause se trouve:
Code
1ü (
) Xmin
95ü (
) Xmax
0ü (
) Xscl
1ü (
) Ymin
63ü (
) Ymax
0ü (
) Yscl
FnOff
GridOff
AxesOff
CoordOff
DispGraph
ClrDraw
Disp " ARKANOID",""," MADE BY:","RIcHard NeeLY"
Pause
ClrHome
{12,16}ü (
) dim([A]
If L=4.873:Then
Prompt L
If L>9 or L<0:1ü (
) L
Else
1ü (
) L
End
getKeyü (
) K
5ü (
) M
0ü (
) S
1000ü (
) N
0ü (
) F
While M>0
1ü (
) V
3ü (
) W
37ü (
) Z
ClrHome
If F=0:Then
Fill(0,[A])
If L=0:Then
For(I,1,12)
1ü (
) [A](I,13)
1ü (
) [A](I,10)
1ü (
) [A](I,9)
End
For(I,3,10)
1ü (
) [A](I,15)
1ü (
) [A](I,4)
1ü (
) [A](I,8)
End
For(I,4,9)
1ü (
) [A](I,3)
1ü (
) [A](I,7)
End
For(I,5,8)
1ü (
) [A](I,11)
1ü (
) [A](I,6)
End
For(I,2,11)
1ü (
) [A](I,14)
End
For(J,6,12)
1ü (
) [A](1,J)
1ü (
) [A](12,J)
End
1ü (
) [A](6,12)
1ü (
) [A](7,12)
1ü (
) [A](2,5)
1ü (
) [A](3,5)
1ü (
) [A](10,5)
1ü (
) [A](11,5)
End
If L=1:Then
For(I,1,12)
For(J,9,12)
1ü (
) [A](I,J)
End
End
End
If L=2:Then
For(I,1,12)
For(J,7,9)
1ü (
) [A](I,J)
1ü (
) [A](I,J+5)
End
End
End
If L=3:Then
For(I,3,10)
For(J,5,8)
1ü (
) [A](I,J+4)
1ü (
) [A](J,I+4)
End
End
End
If L=4:Then
For(I,2,11)
For(J,2,4)
1ü (
) [A](I,J+5)
1ü (
) [A](I,J+7)
1ü (
) [A](J,I+5)
1ü (
) [A](J+7,I+5)
End
End
End
If L=5:Then
For(I,1,6)
For(J,1,I)
1ü (
) [A](7-J,I+4)
1ü (
) [A](6+J,I+4)
1ü (
) [A](7-J,17-I)
1ü (
) [A](6+J,17-I)
End
End
End
If L=6:Then
For(I,1,6)
For(J,1,I)
1ü (
) [A](J,I+10)
1ü (
) [A](13-J,I+10)
1ü (
) [A](J,11-I)
1ü (
) [A](13-J,11-I)
End
End
End
If L=7:Then
For(I,5,16)
1ü (
) [A](1,I)
1ü (
) [A](3,I)
1ü (
) [A](5,I)
1ü (
) [A](8,I)
1ü (
) [A](10,I)
End
End
If L=8:Then
For(I,2,12,2)
For(J,7,15,2)
1ü (
) [A](I-1,J)
1ü (
) [A](I,J+1)
End
End
End
If L=9:Then
0ü (
) L
0ü (
) M
0ü (
) F
End
End
0ü (
) F
ClrDraw
DispGraph
Vertical 14
Vertical 76
Text(1,77,"LEVL:")
Text(7,84,L)
Text(17,77,"SCOR:")
Text(23,79,S)
For(I,2,2M-2,2)
Line(5,I,12,I)
End
5ü (
) X
1ü (
) Y
For(J,1,16)
For(I,1,12)
If [A](I,J)=1:Then
F+1ü (
) F
14+5Iü (
) A
4J-3ü (
) B
Line(A,B,A,B+2)
Line(A-3,B,A,B)
End
End
End
12+5Xü (
) A
4Y-3ü (
) B
Line(Z,3,Z+5,3)
While F>0
Pt-Off(A,B)
Pt-Off(A+1,B)
Pt-Off(A,B+1)
Pt-Off(A+1,B+1)
A+Vü (
) A
B+Wü (
) B
Pt-On(A,B)
Pt-On(A,B+1)
Pt-On(A+1,B)
Pt-On(A+1,B+1)
int(((A-10)/5)ü (
) X
int(((B+4)/4)ü (
) Y
If [A](X,Y)=1:Then
0ü (
) [A](X,Y)
S+10ü (
) S
Text(23,79,S)
If S/N=int((S/N):Then
Line(5,2M,12,2M)
M+1ü (
) M
End
F-1ü (
) F
ú (
) Wü (
) W
14+5Xü (
) I
4Y-3ü (
) J
Line(I,J,I,J+2,0)
Line(I-3,J,I,J,0)
End
If (B+Wù (
) 62):ú (
) Wü (
) W
If (B+W÷ (
) 3):Then
If (A<Z-1) or (A>Z+5):Then
ú (
) Fü (
) F
Else
int(((A-Z-3)/2)+Vü (
) V
If abs(V>3:(V/abs(V)*3ü (
) V
If V=0:(A-Z)/abs((A-Z)ü (
) V
ú (
) Wü (
) W
End
End
If (A+V>74) or (A+V<15):ú (
) Vü (
) V
For(I,1,2)
getKeyü (
) K
If Kø0:Then
If K=105:Then
Menu("PAUSED:","CONTINUE",C,"QUIT",Z)
Lbl C
getKeyü (
) K
DispGraph
End
If (K=26) and (Z<70):Then
Pt-On(Z+6,3)
Pt-Off(Z,3)
Pt-On(Z+7,3)
Pt-Off(Z+1,3)
Z+2ü (
) Z
End
If (K=24) and (Z>15):Then
Pt-On(Z-1,3)
If Zø71:Pt-Off(Z+5,3)
Pt-On(Z-2,3)
Pt-Off(Z+4,3)
Z-2ü (
) Z
End
If K=45:Then
ú (
) Fü (
) F
1ü (
) M
End
End
End
End
If F=0:Then
L+1ü (
) L
Else
M-1ü (
) M
End
End
Lbl Z
{1,1}ü (
) dim([A]
ClrHome
Disp ""," GAME OVER","",""
Output(4,4,"SCORE:")
Output(4,10,S)
Voila je veux copier le menu pause du jeu arkonoid et le mettre dans le snake.
Merci si vous m'aidez

blg_flg le 19/10/2012 à 21:35
Par quelle touche voudrait-tu remplacer [2nde]?chips93 le 19/10/2012 à 22:37
Au fait la quand j'appuis sur [2nd] le jeu stop,
mais moi je voudrai mettre un menu comme dans le deuxième jeu, la touche pour accéder au menu serai [entrer], quand j'appuierai sur [entrer] le jeu se met en pause et me propose deux choix,
1:continuer,
2:quitter
Un menu de ce genre
Code
...
If ...
Menu("PAUSE","CONTINUER",1,"STOP",2
Lbl 1
...
Lbl 2
j'ai trouvez ce code ici:
https://tout82.pages-perso.fre[...].php?sujet=3419
Mais le problème je sais pas où insérer ce code sans modifier le jeu, qu'il fonctionne toujours.
Merci de ton aide
linkakro le 19/10/2012 à 23:47
Le menu pause d'Arkanoid :
Code
If K=105:Then
Menu("PAUSED:","CONTINUE",C,"QUIT",Z)
Lbl C
getKeyü (
) K
DispGraph
EndLe menu pause actuel du snake :
Il faut remplacer l'un par l'autre ou celui que tu as cité d'un de mes anciens messages, sans oublier de changer la variable K d'arkanoid en la variable D du snake.
Le code de la touche Seconde est 21. Celui de Enter est 105.
EDIT : j'ai supprimmé les deux premières lignes de l'extrait d'arkanoid.
chips93 le 20/10/2012 à 14:21
Je fais comme tu ma dit, mais ça fonctionne pas, enfin le jeu ,ne fonctionne plus.
voila comment j'ai fait.
Code
ClrHome
Output(1,3,"SNAKE PAR
Output(3,8,"DANIEL
Output(5,6,"EMERY
Output(8,2,"HIGH SCORE:
Output(8,14,ZÖMin
Normal
PlotsOff
AxesOff
FnOff
GridOff
For(A,1,999
End
0ü (
) Xmin
94ü (
) Xmax
0ü (
) Ymin
62ü (
) Ymax
0ü (
) N
0ü (
) P
0ü (
) O
39ü (
) dim(áY
1ü (
) M
ClrDraw
Lbl 0
Repeat 0
Fill(99,áY
áYü (
) áX
49ü (
) B
47ü (
) A
34ü (
) D
1ü (
) E
10ü (
) L
0ü (
) H
0ü (
) I
Horizontal 0
Horizontal 1
Horizontal 2
Horizontal 60
Horizontal 61
Horizontal 62
Vertical 0
Vertical 1
Vertical 2
Vertical 3
Vertical 91
Vertical 92
Vertical 93
Vertical 94
getKey
While M
While H
While not(I)D=24
Dü (
) C
Repeat Ans+I
A-3ü (
) A
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
While not(I)(D=25
Dü (
) C
Repeat Ans+I
B+3ü (
) B
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
While not(I)(D=26
Dü (
) C
Repeat Ans+I
A+3ü (
) A
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
While not(I)(D=34
Dü (
) C
Repeat Ans+I
B-3ü (
) B
pxl-Test(61-B,Aü (
) I
Pt-On(A,B,2
Aü (
) áY(E
Bü (
) áX(E
1+E(EøLü (
) E
Pt-Off(áY(E),áX(E),2
getKey
End
Ansü (
) D
End
If Dø0:Then ----- la ou ils y a des trais
If D=105:Then ----- c'est ou j'ai mit la
Menu("PAUSED:","CONTINUE",C,"QUIT",Z) ----- nouvel pause; tout en
Lbl C ----- modifiant la variable
getKeyü (
) K ----- de K à D. Mais le jeu ne
DispGraph ----- fonctionne plus.
End -----
If D=45
Then
Lbl 2
ClrHome
Output(2,7,"GAME
Output(3,7,"OVER
Lbl 3
ClrDraw
10N+(L-10)/3+Oü (
) O
If O>ZÖMin
Then
Oü (
) ZÖMin
Output(5,3,"NOUV. HIGH
End
Output(6,5,"SCORE:
Output(6,11,O
DelVar áX
DelVar áY
Return
End
If I
Then
If A=J and B=K
Then
Pt-Off(J,K
L+3ü (
) L
0ü (
) I
0ü (
) H
Else
For(A,3,31
Horizontal A
Horizontal 62-A
End
P+1ü (
) P
If P=3
Goto 2
(L-10)/3+Oü (
) O
0ü (
) M
N-1ü (
) N
Goto 0
End
End
If D<24 or D>26 and Dø34
Cü (
) D
End
While not(H
1+3randInt(1,19ü (
) K
2+3randInt(1,29ü (
) J
not(pxl-Test(62-K,J+1ü (
) H
End
Pt-On(J,K,3
If L=40
0ü (
) M
0ü (
) I
End
ClrDraw
N+1ü (
) N
If N=7
Then
ClrHome
Output(1,4,"BRAVO!!!
Output(3,2,"TU A GAGNE!!
Goto 3
End
If N
{32,9,32,53,62,9,62,53ü (
) áX
If N>1
augment(áX,{34,52,60,52,34,10,42,10,52,10,60,10ü (
) áX
If N>2
augment(áX,{2,31,12,31,22,31,42,31,52,31,72,31,82,31,90,31ü (
) áX
If N>3
augment(áX,{2,52,12,52,22,52,72,52,82,52,90,52,2,10,12,10,22,10,42,10,52,10,72,10,82,10,92,10ü (
) áX
If N>4
augment(áX,{11,41,11,21,23,41,23,21,71,41,71,21,83,41,83,21ü (
) áX
If N>5
augment(áX,{41,41,41,21,53,41,53,21ü (
) áX
If 99-áX(1
Then
For(X,1,dim(áX),4
áX(Xü (
) A
áX(X+1ü (
) B
áX(X+2ü (
) C
áX(X+3ü (
) D
If A=C
Then
Line(A-1,B,A-1,D
Line(A+1,B,A+1,D
Else
Line(A,B-1,C,B-1
Line(A,B+1,C,B+1
End
Line(A,B,C,D
End
End
1ü (
) M
End
pourais tu le faire, je débute dans le TI-basic.
Merci de votre aide
chips93 le 20/10/2012 à 15:03
J'essayer, de le faire moi-meme, mais a chaque fois il y a une erreur

linkakro le 20/10/2012 à 16:51
J'ai dû t'indiquer portion de code trop large ou trop courte : je vois qu'il manque un End
De plus il faut se méfier des goto/menu dans des boucles comme then.
J'éditerai un peu plus tard mon message pour corriger.
EDIT : pour faire simple il devrait suffir de supprimmer "If D=/=0:Then"
J'édite l'autre message.chips93 le 20/10/2012 à 18:20
c bon il manquait le end a la fin merci de ton aide Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.