Autorisation : Membre
Nb de messages : 7
Inscrit le : Jeu 20 Sep 2012, 20:05
Posté le : Ven 19 Oct 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:
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
Autorisation : Membre
Nb de messages : 7
Inscrit le : Jeu 20 Sep 2012, 20:05
Posté le : Ven 19 Oct 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
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 19 Oct 2012, 23:47
Le menu pause d'Arkanoid :
Code
If K=105:Then
Menu("PAUSED:","CONTINUE",C,"QUIT",Z)
Lbl C
getKeyüK
DispGraph
End
Le menu pause actuel du snake :
Code
If D=21
Pause
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.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 7
Inscrit le : Jeu 20 Sep 2012, 20:05
Posté le : Sam 20 Oct 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
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 20 Oct 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.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)