Poster un nouveau sujet Poster une réponse
[aide programme] pendu
Auteur Message
Chocolat



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mar 24 Mai 2011, 20:13   Citer 

Voilà je crée un pendu mais le problème c'est que je stock les mots a trouver dans une chaine.
Or j'aimerais que le pendu ce joue a deux et que le mot est choisi par un joueur et trouve par l'autre. Comment faire ?

J'utilise :

Code

Input "mot:",chaine0
"LES MOTS SONT ICI
sous-chaine(rep,6entaleat(0,9)+1,6->chaine0
Longueur(chaine0->D'
D->dim(L1



 Adresse email Haut de page Bas de page 
 
Chocolat



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mar 24 Mai 2011, 20:29   Citer 

Personne ne sait ? eyeonly.gif eyeonly.gif

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mar 24 Mai 2011, 20:35   Citer 

Tu pourrait préciser s'il te plaît: sur une ou deux TI

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Chocolat



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mar 24 Mai 2011, 20:54   Citer 

J'ai une ti-82 stats.fr et j'aimerais que le pendu ce joue seulement sur une calculatrice que l'on se fait passer (ex : je choisis le mot, tu devine). Et si possible, comme je débute tu peux expliquer le code ?

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mar 24 Mai 2011, 21:19   Citer 

Voici ma prosition:

Code
:Input "NOMBRE DE TOURS", M
:For(C,1,M
:EffEcran
:2 -> Z
:If partdéc(C/2
:1 -> Z
:Disp "JOUEUR",Z
:Input "MOT",Chaîne1
:EffEcran
:Output(1,1,"JOUEUR"
:Output(1,8,-Z+3
:longueur(Chaîne1) -> L
:"----------------" -> Chaîne2
:Souschaîne(Chaîne2,1,L -> Chaîne2
:Output(2,1,Chaîne2
:L -> dim(Liste1)
:Remplir(0,Liste1)
:For(B,1,N                       //N est à remplacer par le nombre d'aissais
:Input "LETTRE",Chaîne3
:1 -> A
:While A
:Carchaîne(Chaîne1,Chaîne2,A -> A
:1 -> Liste1(A
:Output(2,A,Chaîne3
:End
:Output(8,1,"IL RESTE   ESSAIS")
:Output(8,10,N-B)
:If produit(Liste1)
:goto A
:End
:Output(4,6,"PERDU"
:Goto B
:LblA
:Output(4,6,"GAGNE"
:LblB
:pause
:EffEcran



Sandro

PS:les explication sont pour demain aprem

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Chocolat



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mar 24 Mai 2011, 21:27   Citer 

Merci pour le programme mais je l'ai améliore. J'ai mis la potence labtete et les bras avec
Code
Ligne(


Mais il me faudrait juste le code qui permet de sauvegarder le mot.
Il serait pas du genre :


Code

Input "mot:",chaine1



 Adresse email Haut de page Bas de page 
 
Chocolat



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mar 24 Mai 2011, 23:34   Citer 

Linkakro tu peux m'aider ?

 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 : Mar 24 Mai 2011, 23:46   Citer 

Oui mais j'ai déjà perdu du temps pour mon bac.
Ton idée pour sauvegarder est correcte.
Mais je ne comprends pas pourquoi tu demandes un mot à quelqu'un alors qu'une liste de mots est prévu à la ligne en dessous.

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



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mer 25 Mai 2011, 7:00   Citer 

Justement j'ai envie d'enlever la liste des mots et que le mot a trouver soit choisi par le premier joueur et trouvé par le 2eme

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 25 Mai 2011, 14:21   Citer 

Tu pourrait utiliser un programme du type


Code
:GraphNaff   \
:AxeNaff            \
:Fonct off           \Initialise l'écran graphique
:0 -> Xmin           /
:94 -> Xmax         /
:0 -> Ymax         /
:-62 -> Ymin      /
:Input "NOMBRE DE TOURS", M       //demande le nombre de tours
:{0,0} -> Liste2               //initialis les scores de joueurs
:For(C,1,2M           //compteur C des parties (2*nombre de tours au total)
:EffDessin           
:Text(30,10,"JOUEUR 1 A ",Liste2(1)," POINTS")
:Text(30,10,"JOUEUR 2 A ",Liste2(2)," POINTS")
:0 -> D                 //initialise le nombre de fautes
:EffEcran
:2 -> Z          \
:If partdéc(C/2  ! détermine le joueur qui ne Joue
:1 -> Z          /
:Disp "JOUEUR",3-Z           \demmande le mot à trouver
:Input "MOT",Chaîne1         /au joueur passif
:EffEcran
:Effdessin
:text(1,1,"JOUEUR",Z    //annonce le joueur jouant
:longueur(Chaîne1) -> L
:"-" -> Chaîne2            \
:For(H,2,L                  \Crée une chaîne contenant un "-" par lettre
:"-"+Chaîne2 -> Chaîne 2    /
:End                       /
:texte(7,1,Chaîne2
:L -> dim(Liste1)        \Crée un liste dont chaque terme vaut 1 si la
:Remplir(0,Liste1)       /lettre est trouvée, sinon 0
:For(B,1,N                       //N est à remplacer par le nombre d'essais
:Repeat non(K)              \
:Code touche -> K           !Attend la préssion d'une touche
:End                        /
:If K=41:"A"       \
:If K=42:"B"        \
:If K=43:"C"        !remplace
:If K=51:"D"        !la
:If K=52:"E"        !valeur
:If K=53:"F"        !de
:If K=54:"G"        !K
:If K=55:"H"        !par
:If K=61:"I"        !la
:If K=62:"J"        !lettre
:If K=63:"K"        !correspondante
:If K=64:"L"        !placée
:If K=65:"M"        !dans
:If K=71:"N"        !la
:If K=72:"O"        !chaîne
:If K=73:"P"        !n°3
:If K=74:"Q"        !
:If K=75:"R"        !
:If K=81:"S"        !
:If K=82:"T"        !
:If K=83:"U"        !
:If K=84:"V"        !
:If K=85:"W"        !
:If K=91:"X"        !
:If K=92:"Y"        !
:If K=93:"Z"        /
:Rep -> Chaîne3    /
:1 -> A                              \
:While A                              \
:Carchaîne(Chaîne1,Chaîne2,A -> A     ! recherche la lettre dans le mot, l'affiche à
:1 -> Liste1(A                        !sa place et actualise la liste des lettres trouvées
:Text(7,5A-4,Chaîne3                  /
:End                                 /
:If non(Carchaîne(Chaîne1,Chaîne2
:then
:D+1 -> D
         \Ici il faut mettre un prog qui trace la partie de la potence 
          \correspondant à D !
          /(If D=1:ligne(X,Y,X',Y'): [...]
         / If D=5:Cercle(X2,Y2,R): [...])
:End
:If produit(Liste1)      //1 si toutes les lettres sont trouvées, sinon 0
:goto A
:End
:Text(60,1,"PERDU"
:Goto B
:LblA
:Text(60,1,"GAGNE"
:1+Liste2(Z) -> Liste2(Z)      //actualise le score
:LblB
:pause
:EffEcran
:End



Sandro

PS:J'espère ne pas avoir fait d'erreures, j'ai créé ce programme sans ma TI

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 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 25 Mai 2011, 21:09   Citer 

chocolat : Soit tu t'es posé des questions existentielles, soit je n'avais pas compris ce qui te pose problème. sandro semble avoir résolu ton problème.

sandro : Je suis séduit par le while qui détecte chaque lettre du mot correspondante à celle saisie. bigmouth.gif
Le goto A à l'intérieur de la boucle est à la limite de ce qui peut poser problème, mais heureusement ce programme ne craint pas les ralentissements.

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



Publicité    



 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 25 Mai 2011, 22:19   Citer 

Bonjour/bonsoir
Suite à la remarque de linkakro, voici une version sans goto dans la boucle

Code
:GraphNaff
:AxeNaff           
:Fonct off           
:0 -> Xmin           
:94 -> Xmax       
:0 -> Ymax         
:-62 -> Ymin     
:Input "NOMBRE DE TOURS", M 
:{0,0} -> Liste2             
:For(C,1,2M           
:EffDessin           
:Text(30,10,"JOUEUR 1 A ",Liste2(1)," POINTS")
:Text(30,10,"JOUEUR 2 A ",Liste2(2)," POINTS")
:0 -> D                 
:EffEcran
:2 -> Z         
:If partdéc(C/2 
:1 -> Z         
:Disp "JOUEUR",3-Z           
:Input "MOT",Chaîne1       
:EffEcran
:Effdessin
:text(1,1,"JOUEUR",Z   
:longueur(Chaîne1) -> L
:"-" -> Chaîne2           
:For(H,2,L                 
:"-"+Chaîne2 -> Chaîne 2   
:End                       
:texte(7,1,Chaîne2
:L -> dim(Liste1)       
:Remplir(0,Liste1)     
:For(B,1,N                     
:Repeat non(K)             
:Code touche -> K           
:End                       
:If K=41:"A"       
:If K=42:"B"       
:If K=43:"C"       
:If K=51:"D"       
:If K=52:"E"       
:If K=53:"F"       
:If K=54:"G"       
:If K=55:"H"       
:If K=61:"I"     
:If K=62:"J"       
:If K=63:"K"     
:If K=64:"L"     
:If K=65:"M"     
:If K=71:"N"       
:If K=72:"O"     
:If K=73:"P"       
:If K=74:"Q"       
:If K=75:"R"       
:If K=81:"S"       
:If K=82:"T"       
:If K=83:"U"       
:If K=84:"V"       
:If K=85:"W"       
:If K=91:"X"       
:If K=92:"Y"       
:If K=93:"Z"       
:Rep -> Chaîne3   
:1 -> A     
:0 -> F                         
:While A et non(F                //ici                           
:Carchaîne(Chaîne1,Chaîne2,A -> A     
:1 -> Liste1(A                       
:Text(7,5A-4,Chaîne3                 
:End                                 
:If non(Carchaîne(Chaîne1,Chaîne2
:then
:D+1 -> D
         \Ici il faut mettre un prog qui trace la partie de la potence 
          \correspondant à D !
          /(If D=1:ligne(X,Y,X',Y'): [...]
         / If D=5:Cercle(X2,Y2,R): [...])
:End
:produit(Liste1) -> F     //ici     
:End
:If non(F)                  //ici
:Text(60,1,"PERDU"
:If F                       //ici
:Then                     //ici
:Text(60,1,"GAGNE"
:1+Liste2(Z) -> Liste2(Z)     
:End                         //ici
:pause
:EffEcran
:End



Sandro
PS: le programme n'est volentairement pas optimiser, le but n'étant pas une utilisation optimalissime mais de faire comprendre les acarne de la programmation à Chocolat (il faut être à l'aise en programmation pour pouvoir optimiser à fond sans s'embrouiller ensuite à la relecture).

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Chocolat



Autorisation : Membre
Nb de messages : 74
Inscrit le : Mar 24 Mai 2011, 19:08
Posté le : Mer 25 Mai 2011, 22:50   Citer 

Le problème c'est que je n'arrive pas a mélanger les deux prgm ( le tien et le mien ) j'essaye jusqu a samedi et si j'y arrive toujours pas je peux faire appel a vous ?

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 26 Mai 2011, 18:44   Citer 

n'hésite pas à envoyer ton programme si tu bloque : peut-être que le mien est mal adapté au tient.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 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