Algo du jeu mastermind
Fermé
rafale69300
Messages postés
84
Date d'inscription
vendredi 31 octobre 2008
Statut
Membre
Dernière intervention
15 juin 2010
-
22 janv. 2009 à 18:21
rafale69300 Messages postés 84 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 15 juin 2010 - 26 janv. 2009 à 06:43
rafale69300 Messages postés 84 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 15 juin 2010 - 26 janv. 2009 à 06:43
A voir également:
- Algo du jeu mastermind
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu zuma - Télécharger - Jeux vidéo
- Jeu du pendu - Télécharger - Vie quotidienne
- Jeu 94 degrés - Télécharger - Divers Jeux
- Logo jeu - Télécharger - Jeux vidéo
7 réponses
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
24 janv. 2009 à 18:00
24 janv. 2009 à 18:00
Coucou Tout d’abord en plus de tes deux tableaux tordi et tpropo, je rajouterais un tableau tires de même taille initialisé à 0. Je m’explique, voilà l’idée. 1. Init : nbbp = 0, nbmp = 0, tires[1…5] = 0 tordi[1…5] = {o1,o2,….,o5) tpropo[1…5] = { p1,p2, ….,p5) 2. Contrôle des numéros en bonne position Pour num : 1 à 5 joueur (tpropo) faire Si tpropo(num) = tordi(num) alors nbbp = nbbp + 1 tires(num) = 1 fin si fin pour // A ce stade, on connaît le nombre de numeros bien placés et d’avoir mis 1 dans leur « case » réspective nous évite les doublons dans la suite du traitement 3. Contrôle des numéros mal positionnés //On va controler un par un les numeros du joueur par rapport à ceux de l’ordi non marqués dans la table tires numj = 1 faire pour numordi = 1 à 5 faire si tires(numordi) <> 1 alors//c.a.d non tirés si tpropo(numj) = tordi(numordi) alors //Ici on est sur d’avoir un nb mal placé nbmp = nbmp + 1 //Le numero ne doit plus être testé tires(numordi) = 1 //On sort alors du pour numordi vu que l’on a //trouvé un numero sorti pour fin si fin si fin pour numj = numj + 1 //numero suivant du joueur tant que numj <=5 //On fait tous les jetons Voilà le principe, j’espère avoir été assez clair car je l’ai codé en vb, mais pour le mettre en français, bonjour la galère ! Tout de suite, je pars pour un match de tennis de table à l’autre bout du département, mais n’hésite pas à me dire ce que tu en penses, je regarderais en rentrant vers 2, 3 heures du mat. A bientôt.
rafale69300
Messages postés
84
Date d'inscription
vendredi 31 octobre 2008
Statut
Membre
Dernière intervention
15 juin 2010
2
24 janv. 2009 à 18:16
24 janv. 2009 à 18:16
Merci pour ton aide mikebzh oui tu as été très clair.
Bonne chance pour ta compétition de tennis de table, moi c demain mais je joue en petit niveau Départementale 2 du Rhone a Caluire. Bon week end
Bonne chance pour ta compétition de tennis de table, moi c demain mais je joue en petit niveau Départementale 2 du Rhone a Caluire. Bon week end
rafale69300
Messages postés
84
Date d'inscription
vendredi 31 octobre 2008
Statut
Membre
Dernière intervention
15 juin 2010
2
24 janv. 2009 à 20:31
24 janv. 2009 à 20:31
Je voudrais juste un petit renseignement après avoir relu une autre fois ta solution je narrive pas bien a comprendre a quoi te sert ta variable numj si tu pouvais m'expliquer juste ça. Merci d'avance.
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
25 janv. 2009 à 01:06
25 janv. 2009 à 01:06
Re-bonjour
En fait numj correspond au numéro du joueur que l'on est en train de traiter, si on avait des boules, on peut dire que numj correspond à la boule 1, puis 2, etc...
L'idée est là, je prends mon premier numéro, est-il dans mon premier test, c'est à dire bien placé, non, alors je regarde les boules de l'ordi une par une, je trouve une correspondance, bingo, elle est mal placée, on sort et on prend le deuxième numéro, etc...
Bonne nuit
En fait numj correspond au numéro du joueur que l'on est en train de traiter, si on avait des boules, on peut dire que numj correspond à la boule 1, puis 2, etc...
L'idée est là, je prends mon premier numéro, est-il dans mon premier test, c'est à dire bien placé, non, alors je regarde les boules de l'ordi une par une, je trouve une correspondance, bingo, elle est mal placée, on sort et on prend le deuxième numéro, etc...
Bonne nuit
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
25 janv. 2009 à 16:30
25 janv. 2009 à 16:30
Bonjour
Je devais être fatigué hier car dans ma soluce il y a un bug (cas où jeton bien placé + identique mal placé non géré, enfin bref..)
Voilà le morceau de source en vb (on peut presque le considérer come un algo, vu que j'ai mis des commentaires,
tu verras que j'ai rajouté un tableau jj pour connaitre les jetons du joueur dejà traités.
[code]
.......declarations variables, init tpropo & tordi..........
..........recup nbbp & nbmp.........
[\code]
Normalement ça roule et on doit pouvoir intégrer la gestion bien placé et mal placé en même temps.
Je regarde ça.
A plus.
Je devais être fatigué hier car dans ma soluce il y a un bug (cas où jeton bien placé + identique mal placé non géré, enfin bref..)
Voilà le morceau de source en vb (on peut presque le considérer come un algo, vu que j'ai mis des commentaires,
tu verras que j'ai rajouté un tableau jj pour connaitre les jetons du joueur dejà traités.
[code]
.......declarations variables, init tpropo & tordi..........
For i = 0 To 4 jj(i) = 0 jo(i) = 0 Next i nbbp = 0 nbmp = 0 'on regarde si jeton bien place For numj = 1 To 5 If tpropo(numj - 1) = tordi(numj - 1) Then nbbp = nbbp + 1 jj(numj - 1) = 1 'on le(s) considére(nt) traité(s) dans tableau joueur et ordi jj & jo jo(numj - 1) = 1 End If Next numj 'on regarde si mal place numj = 1 Do If jj(numj - 1) <> 1 Then 'le jeton n'est pas traité For numo = 1 To 5 If jj(numo - 1) <> 1 Then 'ce jeton de l'ordi n'est pas traité If tpropo(numj - 1) = tordi(numo - 1) Then nbmp = nbmp + 1 jj(numj - 1) = 1 'mal placé trouvé on le considère traité jo(numo - 1) = 1 'ce jeton de l'ordi sert donc a quelqu'un --> traité Exit For End If End If Next numo End If 'jeton suivant numj = numj + 1 Loop While (numj <= 5)
..........recup nbbp & nbmp.........
[\code]
Normalement ça roule et on doit pouvoir intégrer la gestion bien placé et mal placé en même temps.
Je regarde ça.
A plus.
rafale69300
Messages postés
84
Date d'inscription
vendredi 31 octobre 2008
Statut
Membre
Dernière intervention
15 juin 2010
2
26 janv. 2009 à 06:43
26 janv. 2009 à 06:43
Merci bien pour ton aide, oui c'est vrai qu'avec ton nouveau tableau cela me semble plus correcte.
Bonne journée moi je vais en cours !!!
Bonne journée moi je vais en cours !!!
rafale69300
Messages postés
84
Date d'inscription
vendredi 31 octobre 2008
Statut
Membre
Dernière intervention
15 juin 2010
2
24 janv. 2009 à 08:47
24 janv. 2009 à 08:47
Merci pour l'aide sympa