Mastermind javascool
retyry
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
morlescou Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
morlescou Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en terminal S option ISN, je dois réaliser un programme Mastermind comprenant 8 couleurs, 10 chances et des indications. Je dois utiliser que des fonctions.
Mon programme étant assez long je vous dis où je suis bloqué.
Je n'arrive pas a comparer correctement 2 tableaux String de 4 lignes.
j'utilise equal(tabJ1,tabJ2) mais cela ne me compare que les 1eres valeurs.
Comment faire pour comparer toutes les valeurs du tableaux ( soit 4 caractères)?
Et une autre petite question comment faire une fonction indication qui dit si le pion est bien placé ou pas?
Merci par avance.
Je suis en terminal S option ISN, je dois réaliser un programme Mastermind comprenant 8 couleurs, 10 chances et des indications. Je dois utiliser que des fonctions.
Mon programme étant assez long je vous dis où je suis bloqué.
Je n'arrive pas a comparer correctement 2 tableaux String de 4 lignes.
j'utilise equal(tabJ1,tabJ2) mais cela ne me compare que les 1eres valeurs.
Comment faire pour comparer toutes les valeurs du tableaux ( soit 4 caractères)?
Et une autre petite question comment faire une fonction indication qui dit si le pion est bien placé ou pas?
Merci par avance.
A voir également:
- Mastermind javascool
- Technique mastermind ✓ - Forum C
- Mastermind! - Forum Python
- Mastermind - Forum Java
- [Langage C] jeu mastermind - Forum C
- Mastermind sur labview - Forum Programmation
2 réponses
"j'utilise equal(tabJ1,tabJ2) mais cela ne me compare que les 1eres valeurs.
Comment faire pour comparer toutes les valeurs du tableaux ( soit 4 caractères)?"
C'est quoi cette méthode equal ? Si c'est une méthode à toi, il faudrait que tu nous la montre, mais comme ça, je ne vois pas ce que c'est...
En revanche tu peux utiliser la méthode Arrays.equals
"comment faire une fonction indication qui dit si le pion est bien placé ou pas?"
Pour te répondre il faudrait voir ton code, au moins en partie, c'est impossible de deviner ce qu'est un pion, comment tu l'as codé, etc.
Comment faire pour comparer toutes les valeurs du tableaux ( soit 4 caractères)?"
C'est quoi cette méthode equal ? Si c'est une méthode à toi, il faudrait que tu nous la montre, mais comme ça, je ne vois pas ce que c'est...
En revanche tu peux utiliser la méthode Arrays.equals
"comment faire une fonction indication qui dit si le pion est bien placé ou pas?"
Pour te répondre il faudrait voir ton code, au moins en partie, c'est impossible de deviner ce qu'est un pion, comment tu l'as codé, etc.
//Variables globales
String tabJ1[]= new String [4];
String tabJ2[] = new String [4];
String tabindic[] = new String [4];
int i,indice,n;
String combiJ1,combiJ2,x;
boolean boucleJ2faux,gagne,combiJ2vrai;
//Demande et affichage des noms des participants
void saisie(){
println(" ");
println("Veuillez saisir vos noms s'il vous plait");
String J1 = readString();
String J2 = readString();
println("Joueur 1 : "+ J1);
println("Joueur 2 : "+ J2);
}
// Fonction boucle qui s'execute si la 1 ere combinaison du joueur 2 est fausse
void boucleJ2faux(){
int j ;
String combicouleurJ2;
for(int i =0; i<3 ; i++){
print("[ "+ tabJ2[i] +" ]");
}
print("[ "+ tabJ2[i] +" ]"+" Voici la combinaison du joueur 2");
println(" ");
println("Votre Combinaision est fausse veuillez réessayé ! ");
indication();
}
//Demande et stockage de la combinaison J1
void combiJ1(){
println(" ");
println("Joueur 1 veuillez saisir votre combinaison parmi les couleurs possibles.");
for(int i =0; i<4 ; i++){
tabJ1[i] = readString();
}
}
//Début partie
void debut(){
println(" ");
println("Le jeu peut commencer. Bonne chance et que le meilleur gagne !");
}
//Demande de la combi J2
void combiJ2(){
println(" ");
println("Joueur 2 veuillez saisir votre combinaison parmi les couleurs possibles.");
for(int i =0; i<4 ; i++){
tabJ2[i] = readString();
}
}
//Comparer combiJ1 et J2
void combiJ2vrai(){
if(equal(tabJ1[i],tabJ2[i])){
println(" ");
for(int i =0; i<4 ; i++){
print("[ "+ tabJ1[i] +" ]");
}
print(" Voici la combinaison du joueur 1");
println(" ");
for(int i =0; i<4 ; i++){
print("[ "+ tabJ2[i] +" ]");
}
print(" Voici la combinaison du joueur 2");
println(" ");
println("Bravo Joueur 2 vous avez gagné !");
}
}
// fonction qui demande au J1 de mettre les indication 0,1,2 ou 3
// en fonction des couleurs rentrées
void indication(){
int k;
println("J1 veuillez mettre les indications.");
for(k=0;k<4;k++){
indice=readInteger();
print("[" + indice + " ] ");
}
}
//Boucle qui permet de répéter 9 fois.
void boucle(){
for(n=0;n<9;n++){
combiJ2();
if (equal(tabJ1[i],tabJ2[i])){
combiJ2vrai();
n=9;
}else{
boucleJ2faux();
}
}
}
void resultat(){
if(n==9) {
println(" ");
for(int i =0; i<3 ; i++){
println(" ");
print("[ "+ tabJ1[i] +" ]");
}
print("[ "+ tabJ1[i]+" ]"+" Voici la combinaison du joueur 1");
println(" ");
println("Bravo Joueur 1 vous avez gagné !");
}
}
//Programme principal
void main(){
affichage();
saisie();
combiJ1();
debut();
combiJ2();
if (equal(tabJ1[i],tabJ2[i])){
combiJ2vrai();
}else{
boucleJ2faux();
boucle();
resultat();
}
}
//Affichage des caractéristiques et des règles
void affichage(){
println(" MASTERMIND ");
println(" ");
println("Bonjour,bien venu dans le jeu MASTERMIND voici quelques caractéristiques du jeu. Il se compose : ");
println("* 10 rangées de 4 couleurs");
println("* 8 couleurs au choix : Cyan, Jaune, Rouge, Bleu, Vert, Orange, Violet, Noir");
println("* des indications : Faux ; Bon mais mal placé ; Bon et bien placé");
println("* se joue à 1 contre 1");
println(" ");
println("Voici maintenant les règles du jeu : ");
println("Un joueur commence par placer son choix de couleurs sans qu'ils soient vus de l'autre joueur. ");
println("Le joueur qui n'a pas sélectionné les couleurs doit trouver quelles sont les quatre couleurs, c'est-à-dire leurs couleurs et leurs positions.");
println("Pour cela, à chaque tour, le joueur doit placer des couleurs pour remplir une rangée selon l'idée qu'il se fait des couleurs dissimulées.");
println("Une fois les couleurs placées, l'autre joueur indique :");
println("* le nombre de couleurs bien placées. ");
println("* le nombre de couleurs bonnes mais mal placées.");
println("* le nombre de couleurs fausses.");
}
Éventuellement tu peux adapter la méthode pour renvoyer le nombre de valeurs égales.
C'est quoi que tu appelles le "pion" et la position qu'il devrait avoir ?
Pour le pion , par exemple :
combinaison J1 : bleu vert rouge violet
Combinaison J2 : bleu noir violet jaune
Je voudrais que le programme dit automatique que le bleu est bien placé, le violet est bon mais mal placé et le noir et jaune faux.