Inscription / Connexion Nouveau Sujet
Niveau BTS
Partager :

Motus (mot à trouver)

Posté par
Shuuki
01-05-17 à 15:15

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

Posté par
Shuuki
re : Motus (mot à trouver) 01-05-17 à 15:18

Le devoir maison est pour demain donc c'est urgent ^^

Posté par
Leile
re : Motus (mot à trouver) 01-05-17 à 17:16

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 ?

Posté par
carpediem
re : Motus (mot à trouver) 01-05-17 à 17:40

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

Posté par
Shuuki
re : Motus (mot à trouver) 01-05-17 à 17:57

Merci pour vos réponses cela m'aide beaucoup



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !