Poster un nouveau sujet Poster une réponse Page: 1,      >>
Jeu pour TI 82 stat.fr "Course"
Auteur Message
JRock007



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 18:00   Citer 

Voici mon premier jeu pour TI 82 stat.fr
Vous contrôlez une voiture en utilisant les flèches.
Vous devez rester sur la route et éviter le "virages" qui peuvent arriver à tout moment.
Ceci est la version final du programme.
Voici le programme à taper :



Code

EffEcr
1->E
8->X
1->Y
7->A
0->Z
0->T
4->B
4->O
4->F
4->I
4->G
4->K
4->L
4->Y
4->N
0->S
1->W
4->H
For(W,1,7)
Disp ''/////)    (/////       ( 4 espaces entre les parentheses )
End
While E=1
Lbl A
T+1->T
Z+1->Z
Disp "/////)    (/////  (4 espaces entre les parenthèses)
Y->O
O->F
F->G
G->I
I->K
K->L
Output (1,X,"V
codeTouche->M
If M=24
X-1->X
If M=26
X+1->X
If X \< 6         (\< : inférieur ou égal)
2->E
If X>/ 11        (>/ : supérieur ou égal)
2->E
EntAléat (2,3)->H
If T\<2:Goto A
0->T
Disp ''/////)    (/////        (4 espaces entre les parentheses)
Disp ''/////)    (/////        (4 espaces entre les parentheses)
Output (1,X,''V
H->Y
If H=2
Output (A,1,"/////)   (///////     (2 espaces entre les parenthèses)
If L=2 et  X>/ 9
2->E
If H=3
Output (A,1,"///////)  (/////     (2 espaces entre les parenthèses)
If L=3 et X \< 8
2->E
End
EffEcr
Disp "        (Un espace après les ")
Disp "GAME OVER"
Disp "SCORE :" ,Z
Disp ''MADE BY JROCK''
Pause
EffEcr




Et voilà, dites moi ce que vous en pensez.

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 18:12   Citer 

Slt!
Pas mal pour un début bigmouth.gif
Juste quelques trucs: met la balise code la prochaine fois (si possible, édite le message), ça améliore la lisibilité

Code
For(T,1,4)
T+1->T
End


Je ne comprends pas l'utilité de ce passage crazy.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
JRock007



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 18:21   Citer 

Merci, mais aurais tu d'autres conseils pour que le jeu détecte mieux les collisions ?

Ce passage sert à retarder le départ des "virages", mais je ne sais pas s'il est utile.

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 18:28   Citer 

Pourquoi utiliser 2 aléatoires?
1 seule aurait suffit, et les collisions seraient plus faciles à gérer (à mon avis)

EDIT:
Code
If Q=2 et (A=1 et X \< 8 )


Peut devenir:
Code
If Q=2 et A=1 et X \< 8

(les parenthèses sont inutiles avec les et tout seuls

Heu... il y a juste un os: les virages n'apparaissent pas tous au "fond": si je comprends bien, on perds dès qu'un virage apparait sur sa voiture...

Pour bien vérifier les collision (et pouvoir éviter les virages), il aurait fallu les faire apparaître tous en bas de l'écran, et stocker leur position dans des variables

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
JRock007



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 18:53   Citer 

J'ai modifié les aléatoires, mais je dois encore travailler pour modifier le problème des virages.

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 18:54   Citer 

Bonne chance! bigmouth.gif
Et n'hésites pas à demander si tu as besoin d'aide ou d'un tuyau winkle.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
JRock007



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 18:58   Citer 

Pourrais tu m'aider pour l'apparition des virages car il apparaissent en fonction de A qui change, mais ils se déplacent aussi à cause des Disp, et A est nécessaire pour les collisions, j'ai donc du mal à voir comment faire.

 Adresse email Haut de page Bas de page 
 
JRock007



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 19:26   Citer 

J'ai réussi à modifier l'apparition des virages pour qu'ils apparaissent tous en bas de l'écran, mais j'ai toujours un gros problème acec les collisions : je ne trouve pas de moyen pour que la collision se fasse au bon moment.

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 19:33   Citer 

Il faut que tu utilises plusieurs variables: 1 pour la ligne tout en bas, une pour celle juste après... jusqu'à celle tout en haut. Tu teste la collision avec celle "tout en haut", puis tu décale le contenu de toutes ces variables.
Je n'ai peut être pas été clair, demande moi si tu ne comprends pas quelque chose winkle.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
JRock007



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 19:42   Citer 

Je ne vois pas comment utiliser les variables de chaque ligne car les virages descendent tout seul, pourrait tu expliquer comment les utiliser ou donner un exemple s'il te plait ?

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 19:54   Citer 

Tout d'abord, il faut afficher un terrain sur tout l'écran (je te laisse faire avec un for), puis initialiser les variables de ligne:

Code
3->A   //Ici, 3 signifie qu'il n'y a pas de virage, tu peux mettre le chiffre que tu veux, le tout c'est qu'un chiffre corresponde à un état de la ligne (genre 1 = décalé vers la gauche, 2 = décalé vers la droite)
3->B
3->C
3->D
3->E
3->F
3->G   //il y a donc 7 lignes
While E = 1   //On rentre dans la boucle du prgm
//ici, tu affiches la nouvelle ligne et tu stoque son "état" dans H (par ex)
//Tu teste ensuite la position du véhicule par rapport à A, et tu mets E à 2 si perdu
B->A
C->B
D->C
E->D
F->E
G->F
H->G  //On décale les lignes
End


Si c'est pas clair, demande moi bigmouth.gif (j'ai conscience de ne pas très bien expliquer laugh.gif )

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.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 03 Oct 2012, 20:06   Citer 

C'est la méthode la plus simple.
(on peut remplacer la seconde série de sto par d'autres techniques mais on ne va pas t'embrouiller avec ça d'autant que la méthode globale est la même)

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



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Mer 03 Oct 2012, 21:33   Citer 

J'ai fait la partie où on doit décaler les lignes, mais je n'ai toujours pas compris la partie où on stock l'état : faut-il que mettre 3->H ?
Je n'ai pas compris comment tester la position du véhicule par rapport à A.

Désolé de ne pas comprendre rapidement et de te poser tant de questions.

J'espère mieux comprendre en relisant, mais je ne suis pas sûr de réussir

 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 03 Oct 2012, 21:45   Citer 

A représente en permanence l'état de la route à l'emplacement de la voiture.
Chaque autre lettre jusqu'à G représente l'état de la route ligne par ligne.
A chaque boucle la variable A est remplacée par B, B par C et ainsi de suite jusqu'à G qui reçoit H le nouvel aléatoire.
H est donc temporaire et sert seulement pour la génération de l'aléatoire.
Le remplacement de A par B sert à ce que la ligne de route face à la voiture prenne la place de celle qui était sous les roues. Ainsi de suite jusqu'à G qui reçoit la nouvelle ligne de route.
Enfin il suffit de comparer la position latérale de la voiture avec la variable A représentant la route sous ses roues.

----------------------
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 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Oct 2012, 21:56   Citer 

Je vais essayer de tout bien expliquer winkle.gif :

_Quand tu fais apparaître la ligne du bas, il y a plusieurs cas: virage à gauche, virage à droite, tout droit etc... He bien tu dois associer un chiffre à chaque cas (genre 1 = virage à droite ; 2 = virage à gauche ; 3 = tout droit etc...). Tu stockes ce chiffre dans H, qui sera ensuite mis, au prochain décalage, dans G.

_Après 7 tours, la ligne arrive tout en haut, et la valeur contenue à l'origine dans H se retrouve dans A. Il faut donc tester la collision du véhicule avec la ligne du haut (du coup, il faut le tester à tous les tours). Tu fais alors un :

Code
If A = 1 et (X < 3 ou X > 12) ou A = 2 et (X < 5 ou X > 14) ou A = 3 et (X < 4 ou X > 13)
2->E


->Si a = 1 (virage à droite) et que (X < 3 ou X > 12 (On est sorti des limites pour le virage à droite, met ici les vrais valeurs)) ou que virage à gauche et qu'on est sorti des limites du virage à gauche ou que...
Alors on a perdu

J'espère avoir éclairci certains points, n'hésites pas à redemander, c'est comme ça qu'on progresse winkle.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
Samos



Autorisation : Membre
Nb de messages : 300
Inscrit le : Lun 14 Mai 2012, 18:51
Posté le : Ven 05 Oct 2012, 19:36   Citer 

Je ne devrais peut-être pas poster mais tongue.gif

Code

EffVar L1 7->dim(L1
L1 -> L2
For(X,1,7
Disp "
End
1 -> K
Repeat X<=6 ou X>=11 ou X=L1(K) ou X=L2(K
entAleat(6,7 -> A
A+entAleat(3,4 -> B
For(C,I,A
Output(8,C,"/
End
For(C,B,16
Output(8,C,"/
End
codeTouche
X+(Rep=26)-(Rep=24 -> X
B -> L2(K
A -> L1(K
1+ K(K#7 -> K
Disp "
Output(1,X,"V
End


Bon il doit y avoir quelques optimisations encore (et bugs à résoudre).
Niveau vitesse ce n'est pas super.

 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 : Ven 05 Oct 2012, 20:01   Citer 

astuce pour la méthode précédant le post de samsam :
un bug de SortA() permet de provoquer le défilement des listes facilement (même pas besoin d'utilise une liste d'index)
SortA(L1,L2,L3,...) place le premier terme de chaque liste à la fin si L1 est nulle (uniforme suffit mais cela ajoute des contraintes d'initialisation)

----

Précise quand tu changes de méthode par rapport à celle dont on parle précédemment.

Cette nouvelle méthode me rappelle vaguement ce que je n'avais jamais vu dans le forum avant ma propre expérience. On ne change pas une équipe qui gagne.
(je veux parler de l'usage de K comme pointeur)

astuce : un For est plus léger mais beaucoup plus lent qu'un Output

astuce : réduire au maximum le nombre de sto et d'invocations de listes dans le programme est efficace pour accélérer

astuce : utiliser IS>() peut être plus lourd en code que K(K#7)+1->K mais probablement plus rapide que le calcul.

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



Autorisation : Membre
Nb de messages : 10
Inscrit le : Mer 03 Oct 2012, 17:32
Posté le : Ven 12 Oct 2012, 22:12   Citer 

J'ai enfin terminé le programme et j'ai édité le pessage, le code est donc le bon. Merci pour votre aide et bon jeu.

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
perdu
Invité
Posté le : Sam 13 Oct 2012, 19:31   Citer 

salut
euh... je suis perdu là quelqu'un pourrais mettre le programme final sa serais simpa merci

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Sam 13 Oct 2012, 20:24   Citer 

Le premier happy.gif
le message a été édité.

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





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