Poster un nouveau sujet Poster une réponse
pacman pour ti 82 stats.fr
Auteur Message
godzlove



Autorisation : Membre
Nb de messages : 44
Inscrit le : Sam 16 Oct 2010, 10:29
Posté le : Dim 17 Oct 2010, 17:54   Citer 

salut à tous, voici un programme pacman que j'ai téléchargé et dont j'ai traduit les commandes en francais (à l'origine, c'était un programme pour ti-82)
(merci Sangohan38 cupsmiley.gif)
je trouve que ce programme rame à mort aussi j'aimerais connaître vos avis concernant des modifications possibles :

PS : j'ai un peu modifié le programme pour y ajouter quelques +
PPS: à télécharger ici pour voir le résultat (.8xp) (sans modifications)

NB : En rouge les modifications effectuées (grâce a vos conseils !)

APACKAMAN :

StoreGDB 0
prgmVGOBINI
prgmYGOBGRA
Radian
{3,3}->dim([A]
[[ú1,0,1,0][0,ú1,0,1]]->[B]
[B]öü[B]
0üS
3üG
Lbl 0
162üN
RappelImage 6
For(J,4,60,4)
For(I,5,105,5)
Pt-Aff(I,J)
End
End
For(J,3,59,56)
For(I,4,104,100)
Ligne(I,J+1,I+2,J+1)
Ligne(I+1,J,I+1,J+2)
End
End
SauveImage 5
For(J,1,17)
For(I,1,23)
If ([E](I,J)=0)+([E](I,J)=3)
[E](I,J)+1ü[E](I,J)
End
End
5ü[E](2,2)
5ü[E](22,2)
5ü[E](2,16)
5ü[E](22,16)
Lbl 1
EffEcr
Output(3,4,"SCORE:")
Output(3,10,S)
Output(5,4,"VIES ="
Output(5,10,G)
SauveImg 1
QuadNaff
RappelImg 1

12üA
6üB
0üC
12ü[A](1,1)
13ü[A](1,2)
4ü[A](1,3)
13ü[A](2,1)
12ü[A](2,2)
3ü[A](2,3)
11ü[A](3,1)
12ü[A](3,2)
1ü[A](3,3)
0üH
0üT
0üP
Lbl 2
codeTouch(üK
If K=105
Goto 11

If K=24
1üC
If K=26
3üC
If K=34
2üC
If K=73
Pause
If K=25
4üC
If Cø0
Then
A+[B](C,1)üD
B+[B](C,2)üE
If [E](D,E)÷6
Then
DüA
EüB
End
End
For(I,1,3)
[A](I,1)üL
[A](I,2)üM
[A](I,3)üO
If (L=A)*(M=B)
IüP
[E](L,M)üV
If V>2
Then
ent((3.927+RåPÁ(A-L,B-M))/1.57)+2*H+1üF
If F>4
F-4üF
L+[B](F,1)üD
M+[B](F,2)üE
While [E](D,E)ù6
ent(4NbrAl–at)+1üF
L+[B](F,1)üD
M+[B](F,2)üE
End
Else
L+[B](O,1)üD
M+[B](O,2)üE
OüF
End
Dü[A](I,1)
Eü[A](I,2)
Fü[A](I,3)
End
EffDessin
RappelImage 5
5A-7üX
4B-6üY
[E](A,B)üV
If (V=1)+(V=4)
Then
V-1ü[E](A,B)
Pt-NAff(X+2,Y+2)
S+10üS
N-1üN
If N=0
Goto 0
End
If (V=2)+(V=5)
Then
V-2ü[E](A,B)
Pt-NAff(X+1,Y+2)
Pt-NAff(X+2,Y+2)
Pt-NAff(X+3,Y+2)
Pt-NAff(X+2,Y+1)
Pt-NAff(X+2,Y+3)
Ligne(114,1,114,30)
Ligne(115,1,115,30)
S+50üS
1üH
31üT
0üQ
End
T-HüT
Pt-NAff(114,T)
Pt-NAff(115,T)
SauveImage 4
Ligne(X,Y,X+4,Y)
Ligne(X,Y+4,X+4,Y+4)
Ligne(X,Y+1,X,Y+3)
Ligne(X+4,Y+1,X+4,Y+3)
For(I,1,3)
[A](I,1)üL
[A](I,2)üM
5L-6üX
4M-5üY
Ligne(X,Y,X+2,Y)
Ligne(X,Y+2,X+2,Y+2)
Pt-Aff(X,Y+1)
Pt-Aff(X+2,Y+1)
If (L=A)*(M=B)
IüP
End
If T=1
0üH
If Pø0
Then
If H=1
Then
Q+1üQ
S+(100*Q?)üS
If A÷12
Then
22ü[A](P,1)
Else
2ü[A](P,1)
End
If B÷9
Then
16ü[A](P,2)
Else
2ü[A](P,2)
End
Else
G-1üG
If G=0
Then
Goto 3
Else
Goto 1
End
End
0üP
End
Goto 2
Lbl 3
EffEcr
Output(3,3,"GAME OVER!")
Output(6,4,"SCORE:")
Output(6,10,S)
Pause
EffEcr
Menu("CONTINUER","OUI",0,"NON",4)
Lbl 4
EffEcr
Output(3,3,"////////////"
Output(4,3,"/BY HADRIEN/")
Output(5,3,"////////////")
Pause
RecallGDB 0
DelVar GDB0

Output(1,1,"
Stop

VGOBINI


Code
Ligne(10,56,30,56)
Ligne(40,56,50,56)
Ligne(60,56,70,56)
Ligne(80,56,100,56)
Ligne(20,48,50,48)
Ligne(60,48,90,48)
Ligne(40,40,70,40)
Ligne(1,32,10,32)
Ligne(20,32,30,32)
Ligne(80,32,90,32)
Ligne(100,32,110,32)
Ligne(40,24,70,24)
Ligne(20,16,50,16)
Ligne(60,16,90,16)
Ligne(10,8,30,8)
Ligne(40,8,50,8)
Ligne(60,8,70,8)
Ligne(80,8,100,8)
Ligne(10,56,10,40)
Ligne(10,24,10,8)
Ligne(20,40,20,24)
Ligne(30,48,30,40)
Ligne(30,24,30,16)
Ligne(40,63,40,56)
Ligne(40,40,40,24)
Ligne(40,8,40,1)
Ligne(50,63,50,56)
Ligne(50,8,50,1)
Ligne(60,63,60,56)
Ligne(60,8,60,1)
Ligne(70,63,70,56)
Ligne(70,40,70,24)
Ligne(70,8,70,1)
Ligne(80,48,80,40)
Ligne(80,24,80,16)
Ligne(90,40,90,24)
Ligne(100,56,100,40)
Ligne(100,24,100,8)
Ligne(110,63,110,1)
SauveImage 6
{23,17}üdim([E]
Remplir(1,[E])
For(I,1,12)
8ü[E](I,1)
End
For(I,1,9)
8ü[E](1,I)
End
For(I,1,7)
8ü[E](I+4,5)
End
For(I,1,5)
8ü[E](I+2,3)
8ü[E](I+8,7)
8ü[E](3,I+2)
End
For(I,1,3)
8ü[E](I+8,3)
8ü[E](I,9)
8ü[E](I+4,9)
8ü[E](5,I+6)
8ü[E](7,I+4)
8ü[E](9,I+6)
End
8ü[E](9,2)
8ü[E](11,2)
5ü[E](2,2)
4ü[E](8,2)
4ü[E](12,2)
4ü[E](4,4)
4ü[E](8,4)
4ü[E](12,4)
4ü[E](4,6)
4ü[E](6,6)
4ü[E](8,6)
4ü[E](12,6)
4ü[E](2,8)
4ü[E](4,8)
4ü[E](6,8)
4ü[E](8,8)
For(J,1,9)
For(I,1,12)
[E](I,J)->[E](24-I,J)
[E](I,J)->[E](I,18-J)
[E](I,J)->[E](24-I,18-J)
End
End
EffEcr




YGOBGRA :


Code
FonctNAff
GraphNAff
QuadNAff
EtiqNAff
PleinEcr
CoordRect
1->Xmin
115->Xmax
0->Xgrad
1->Ymin
63->Ymax
0->Ygrad
AffGraph
EffTable



 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 17 Oct 2010, 22:27   Citer 

Chaque fois qu'il y a un goto à l'intérieur d'une structure If/Then/Else/End ce goto provoque un ralentissement.
Maintenant, il faudrait que je cherche la petite bête alors que ça a l'air déjà bien.

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

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
godzlove



Autorisation : Membre
Nb de messages : 44
Inscrit le : Sam 16 Oct 2010, 10:29
Posté le : Mar 19 Oct 2010, 18:34   Citer 

sa a l'air bien oui mais par conter je suis en train de bosser pour mettre le vrai pacman (pas un simple rectangle qui bouge) et sinon les points correspondent au quadrillage du graphe(le programmateur c'est pas fé @%&# ) donc ils ne s'effacent pas au passage de pacman !! si quelqu'un a la soluc je suis preneur sinon comment faire pour remplacer les gotos dans les if/then/else/end ?
j'aimerais également afficher le score sur le coté ou en bas... c'est possible ?

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 19 Oct 2010, 20:56   Citer 

C'est pas vraiment compliqué pour qu'ils s'effacent sur le passage du Pacman: tu met un SauvImage 1 une fois le dessin apparu,tu enlève le quadrillage et tu met RappelImage 1 après, comme ça les points du quadrillage son transformés en banals points.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
godzlove



Autorisation : Membre
Nb de messages : 44
Inscrit le : Sam 16 Oct 2010, 10:29
Posté le : Mer 20 Oct 2010, 14:03   Citer 

vraiment très bonne idée sangohan, merci ahh.gif mais je ne peut pas vérifier vu que l'effacement des points au passage du pacman n'est pas programmé ! cry.gif
il faut trouver comment le faire mais pour cela trouver le bon endroit dans ce charabia, quelqu'un a une idée ? moi je bosse pour donner au carré la forme

merci d'avance

a oui ! je croi avoir trouvé pourquoi il rame ! en effet on a des rappels images a chaque changement de direction, sa oblige la calculatrice a effacer l'écran et refaire toutes les lignes et points, etc. sa vient peut être de la ?

EDIT : j'ai compris comment créer l'icone du pacman, il s'agit en fait d'un text-sprite (pour explications voir ici mais c'est pas très bien expliqué et j'ai pas très bien compris comment le déplacer sur le graphe cry.gif )si quelqu'un a la réponse ... moi en tout cas je rame !

REEDIT : c bon, a force de persévération, j'ai compris, je vais vous mettre le code sans tarder, sinon qq aura une idée pour savoir ou le mettre dans le texte ?

 Adresse email Haut de page Bas de page 
 
godzlove



Autorisation : Membre
Nb de messages : 44
Inscrit le : Sam 16 Oct 2010, 10:29
Posté le : Dim 24 Oct 2010, 10:51   Citer 

voila, je vous propose le code suivant pour le pacman :


Code
:While 1
:"([XX:  "->Chaine1
:For(I,1,longueur(Chaine1)-1
:sous-Chaine(Chaine1,I,1
:Texte(B,I+A,Rep
:End
:For(I,1,50    //a quoi sa sert ?
:End
:"      "->Chaine2
:For(I,1,longueur(Chaine2)-1
:sous-Chaine(Chaine2,I,1
:Texte(B,I+A,Rep
:End
:CodeTouche->K
:If K=24
:Then
:A-5->A
:":XX[(  "->Chaine1
:End
:If K=25
:Then
:B-5->B
:"([(carré blanc)[(  "->Chaine1
:End
:If K=26
:Then
:A+5->A
:"([XX:  "Chaine1
:End
:If K=34
:Then
:B+5->B
:"([r[(  "->Chaine1
:End
:If K=105
:Then
:Pause
:End
:End



voila, qu'est ce que vous en pensez ? dites moi si vous y voyez des améliorations possibles, et surtout, aidez moi : ou le mettre dans le programme en haut ?

merci d'avance

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 25 Oct 2010, 21:00   Citer 

C'est toi qui l'a écrit, tu dervrait savoir où cela va.
Cela n'a pas l'air facilement transposable notgood.gif
Tu gères à la fois des déplacements et des affichages, alors que le précédent gère les deux séparément. (je crois...)

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

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
godzlove



Autorisation : Membre
Nb de messages : 44
Inscrit le : Sam 16 Oct 2010, 10:29
Posté le : Mer 27 Oct 2010, 12:32   Citer 

il me semble que le précédant utilise des matrices pour stocker des variables et c'est pas mon fort du coup j'y comprend que dalle mais j'ai essayé de mettre ce code juste en dessous du code touch (en modifiant un peu) et du coup sa marche mais le programme ne continue pas, et puis mon text sprite est trop grand pour les proportions du "terrain", bref je pense que je vais soit recréer un "terrain adapté soit abandonner cry.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 27 Oct 2010, 19:36   Citer 

Si tu enlève le While1 et le End de l'ajoût, le programme devrait pouvoir continuer.
Pour les matrices, il faut juste savoir que c'est un tableau fonctionnant comme une liste (à deux dimensions).

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

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink