Bonjour
J'essaie de créer un programme pour jouer à pierre-feuille-ciseaux à deux joueurs. je sais que ça ne sert pas à grand choses, mais l’année dernière je me suis promis de le créer, et de le rentre fonctionnel. Malheureusement je n’y arrive pas vraiment.
Avant de rentrer dans les détails, voici le programme (le programme est écrit en langage TI, mais s'il faut je peut le traduire en langage naturel):
:A=0
:U=0
:V=0
:While U≠5 ou V≠0
:imput X
:Disp " "
:Disp " "
:Disp " "
:Disp " " }pour ne pas que le joueur 2 voit le choix du joueur 1
:Disp " "
:Disp " "
:Disp " "
:Imput Y
:If X=1
:Then
:Disp "X:PIERRE"
:If X=2
:Then
:Disp "X:FEUILLE"
:If X=3
:Then
:Disp "X:CISEAUX"
:If Y=1
:Then
:Disp "Y:PIERRE"
:If Y=1
:Then
:Disp "Y:FEUILLE"
:If Y=1
:Then
:Disp "Y:CISEAUX"
:If X=Y
:Then
:Disp "EGALITE"
:If X=1 et Y=2
:Then
:Disp "Y:GAGNE"
:V+1->V
:If X=1 et Y=3
:Then
:Disp "X:GAGNE"
U+1->U
:If X=2 et Y=1
:Then
:Disp "X:GAGNE"
:U+1->U
:If X=1 et Y=3
:Then
:Disp "Y:GAGNE"
:V+1->V
:If X=3 et Y=1
:Then
:Disp "Y:GAGNE"
:V+1->V
:If X=3 et Y=2
:Then
:Disp "X:GAGNE"
:U+1->U
:If X>3 ou X<1
:Then
:Disp "X:VALEUR INVALIDE"
:If Y>3 ou Y<1
:Then
:Disp "Y:VALEUR INVALIDE"
:End
:If U>V
:Then
:Disp "X:GAGNE"
:Disp "FIN DE PARTIE"
:If V>U
:Then
:Disp "Y:GAGNE"
:Disp "FIN DE PARTIE"
Pour moi, le programme devrait fonctionner de cette façon:
Les variables A, U, et V sont mises a 0 (pour ne pas que l'une des valeur reste la même quand lance le programme après l'avoir déjà lancé une fois). Les joueurs donnent une valeur aux variables X et Y selon leur choix. Selon la valeur des variables, le programme affiche le choix des joueurs. Le programme compare les valeurs de X et Y en fonctions des consignes énoncées dans les "If". Si un "If" est validé, et que les deux variables sont égales, le programme l'affiche; Si les variables sont différentes, le programme vérifie quelle variable l'emporte sur l'autre selon les consignes du "If", puis l'affiche. Il ajoute 1 à la variable U ou V associée à X ou Y, ce qui signifie qu'un point est attribué au joueur. Le programme vérifie que les valeurs de X et Y soient dans l’intervalle [1;3] (ma façon de le faire est peu être un peu maladroite). Si ce n'est pas le cas, le programme l'affiche. Le programme re-verifie le "While". Si aucune des variable n'est égale a 5, toutes les instructions de la boucles sont refaites. Si une de variable a atteint 5, le programma vérifie quelle variable a la valeur la plus élevée, donc quel joueur a le plus de points, et l'affiche.
Même en récrivant le programme et en écrivant l’interprétation que je lui donne, je ne trouve pas ou sont les erreurs, alors si vous avez une idée, n’hésitez pas
Merci.