Page 1 of 2

Créer un pendu pour TI 89

Unread postPosted: 11 Apr 2007, 13:18
by dededick
Hello les gens! J'aimerais créer un pendu su ma ptite TI 89 titanium. Le problème, c'est que je vois pas vraiment comment faire... Est-ce que quelqu'un à une ptite idée pour m'aider ?
Merci :)

Re: Créer un pendu pour TI 89

Unread postPosted: 11 Apr 2007, 16:21
by tama
ça va plus dans programmation ça

voici en gros comment faire
Code: Select all
Le joueur 1/La TI choisit un mot à deviner
Boucle tant que le joueur n'a pas deviné le mot
Demander lettre (Input/Getkey au choix, GetKey étant plus "esthétique)
Parcourir la chaine donnée au départ
Si le mot apparait, l'afficher au bon endroit et enlever le bon nombre de lettres restantes
sinon raté : enlever 1 chance
Fin de la boucle
S'il ne reste plus de chance : joueur a perdu
sinon il a gagné


version simplifiée du code (ne pas mettre ce qu'il y a après les "//")

Code: Select all
Prgm
Local str,temp,key,prop,app //pour éviter d'avoir des variables après l'exécution du programme
InputStr "mot à deviner?",str //demande le mot à deviner
12-chance // nombre de chances (réduire en cas de besoin)
dim(str)-reste //nombre de lettres restantes
ClrIO //efface l'écran
For temp,1,reste
Output 0,8*temp,"-" //affiche les traits
EndFor
While chance0 and reste0 //tant qu'il y a encore des lettres et encore des chances
0-key
While key=0 //tant qu'aucune touche n'est appuyée
GetKey()-key //on obtient le code de la touche appuyée
EndWhile
Try
char(key)-prop //on obtient la lettre correspondante
Else
EndTry
0-app //la lettre apparait t-elle dans le mot ?
For temp,1,dim(str)
If sub(str,temp,1)=prop then
reste-1-reste
Output(0,8*temp," ") //on efface le trait...
Output(0,8*temp,prop) //et on met la bonne lettre
1-app //oui elle apparait
Endif
Endfor
If app=0 //si la lettre n'apparait pas
chance-1-chance //on enlève une chance
EndWhile //fin de la boucle principale
If chance0 then//s'il n'y a plus de chance
Disp "perdu" //perdu
else //sinon
Disp "gagné!" //gagné
Endif

Re: Créer un pendu pour TI 89

Unread postPosted: 12 Apr 2007, 07:27
by dededick
J'ai quelques notions de Basic, j'ai déjà crée quelques programmes pas impressionants mais que j'aime bien ^^.
Pour le code Tama, je comprends tout ce que tu fais sauf:

Code: Select all
Try
char(key)-prop //on obtient la lettre correspondante
Else
EndTry


Pourquoi char? avec cette prop, il ne faut pas entrer un chiffre pour avoir une lettre ?
Quand je le teste, il me met d'ailleurs:

Code: Select all
A test did not resolve TRUE or FALSE
.
QUe mettre? N'y a-t-il pas une fonction inverse de char?
Merci :%):

Re: Créer un pendu pour TI 89

Unread postPosted: 12 Apr 2007, 20:33
by tama
A Test did not resolve TRUE or FALSE ?
chez moi ça marche parfaitement ?
t'es sur que t'a bien recopié ?

Re: Créer un pendu pour TI 89

Unread postPosted: 13 Apr 2007, 07:30
by dededick
Je vais réessayer ;). Est-ce que tu pourrais juste me dire ce que fait la propriété sub parce que je n'ai pas bien compris :

Code: Select all
If sub(str,temp,1)=prop then


Merci :)


EDIT: Après réessai, toujours le même pb, le curseur est positionné sur la ligne :
Code: Select all
If sub(str,temp,1)=prop then

Re: Créer un pendu pour TI 89

Unread postPosted: 13 Apr 2007, 16:46
by tama
aah c'est pas sub c'est mid sub c'est pour les 84+
mid si tu ne le sais pas sert à extraire n lettres d'une chaine str à partir de la lettre l
mid("abcdef",2,2) va extraire 2 lettres à partir de la 2ème lettre de la chaine abcdef, ce qui donne "bc"

Re: Créer un pendu pour TI 89

Unread postPosted: 14 Apr 2007, 07:13
by dededick
Ok, merci. Donc la, mid sub va extraire 1 lettre à partir de la tempième lettre de str?
Merci encore :)

Re: Créer un pendu pour TI 89

Unread postPosted: 14 Apr 2007, 20:47
by tama
mid tout court :) et oui

Re: Créer un pendu pour TI 89

Unread postPosted: 26 Apr 2007, 19:32
by MWeiss
oui mais un jeu du pendu sa se joue a 2 minimum du coup est ce que tu veut faire communiquer 2 calculette?

Re: Créer un pendu pour TI 89

Unread postPosted: 27 Apr 2007, 12:53
by tama
oui c'est possible
mon programme c'est déjà à 2 mais sur la même TI
(le joueur 1 entre d'abord le mot puis le joueur 2 devine)