Bonjour,
Je suis bloqué pour un devoir maison:
Voici l'énoncé:
Il s'agit de programmer en java le jeu 'Mot à trouver' selon les règles suivantes:
L'ordinateur stocke en mémoire dans un vecteur un mot de x lettres saisi pa run premier utilisateur. X doit être supérieur à 2.
Le joueur doit retrouver ce mot en un nombre d'essais égal à la longueur du mot 2 au maximum.
Le joueur saisit un mot comportant le même nombre de lettres que celui à trouver.
Vous comparez ce mot saisi au mot stocké et vous indiquez au joueur le nombre de lettre communes et bien placées.
Vous affichez ensuite les lettres communes et bien placées.
Le joueur a la possibilité de s'arrêter en demandant la solution en saisissant le mot "SOL"
a) Ecrire l'algorithme qui correspond à ce traitement. Il doit permettre à l'utilisateur de recommencer autant de fois qu'il le souhaite.
Voici ce que j'ai déjà fait:
Algorithme « MOTUS »
Variables : numérique Taille, couprestant
CC : nom1, nom2, N, cpt, lettre
Variable indicée : VECT [N], Tab[] de type CC
Début
Afficher « Joueur1, quelle est votre nom ?
Saisir nom1
Afficher « Joueur2, quelle est votre nom ?
Saisir nom2
Si nom1 < nom2 alors afficher « C'est le Joueur1 qui commence »
Sinon afficher « C'est le joueur2 qui commence »
Fsi
Afficher « Veuillez saisir un mot de plus de 2 lettres »
Saisir N
Tant que n<2
Afficher « Veuillez saisir un mot de plus 2 lettres, recommencez »
Saisir N
Taille ← longueur(n)
Fin tant que
couprestant ← Taille - 2
Afficher « Deuxième joueur, le mot a trouvé fait », Taille, « lettres donc vous avez », couprestant, « tentative pour trouver le mot, veuillez saisir une lettre »
Saisir lettre
Comparaison des lettres au mot
Pour cpt allant de 1 à Taille
Si lettre = Vect[n]
Sinon
Fin Pour
Bonjour,
pour le début de ton algorithme, la présentation des joueurs, je ne change rien.
mais pour la suite, ça ne me semble pas coller..
le nombre d'essais doit etre égal à la longueur du mot à trouver.
Et donner le mot proposé lettre à lettre ne me semble pas judicieux.
Je te propose ceci (vect c'est le mot à trouver, mot c'est le mot qu'on propose):
afficher ' entrer votre proposition'
entrer mot
Tant que mot 'SOL' et nbessais not > à Taille
faire
bienP = 0
malP = 0
pour i = 1 to taille faire
si mot(i) = vect(i) alors bienP = bienP + 1 /* on compte les bien placées*/
sinon
pour k = 1 to taille
faire si mot(i) = vect(k) alors malP = malP + 1 /* compte les mal placées*/
fsi
fin pour
finpour
afficher 'nb de bien placées ' bienP
afficher 'nb mal placées ' malP
si nbessai taille et OK taille faire
afficher ' entrer une autre proposition'
entrer mot
fsi
fin tant que
si OK = taille afficher "Bravo"
sinon afficher "le mot à trouver était : " vecteur
fin
Je ne l'ai pas programmé : il faut vérifier, bien sûr !
Qu'en dis tu ?
salut
mot = "0"
tant que longueur (mot) < 2
afficher "entrer un mot d'au moins deux lettres"
saisir mot
n = longueur (mot)
essai = "0"
compteur = 0
tant que essai <> mot et compteur < n
tant que longueur (essai) <> n
afficher "tenter votre chance avec un mot de ", n, " lettres"
saisir essai
compteur = compteur + 1
bien placé = 0
pour i = 1 à n
si essai (i) = mot (i) alors bienplacé = bienplacé + 1
afficher "vous avez ", bienplacé, "lettres bien placées"
si essai = mot et compteur =< n alors afficher "bravo"
si essai <> mot ou compteur > n alors afficher "perdu, le mot était ", mot
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :