El juego trata de introducir una secuencia de colores en un orden concreto y si coincide con la que el programa habia generado en un principio ganas, pero si fallas pueden ocurrir dos cosas, que no aciertes ninguna posicion pero si el color y te apareceria un mensaje que te diria "Hay X fichas descolocadas" y " 0 fichas acertadas" o podria ser que acertases alguna y hubiese alguna descolocada. El problema lo tengo al intentar sacar el metodo de fichasAcertadas y fichasDescolocadas
pongo el codigo que tengo y a ver si algun alma caritativa me pudiese resolver estos dos metodos. Perdon por lo del code, no lo sabia.
Código
import java.util.Random; import java.util.Scanner; public class MasterMind { //char [] clave = GenerarClave(); System.out.println("Escribe una secuencia de 4 colores introduciendo la letras del color elegido y pulsando intro hasta completar la secuencia."); MostrarSolucion(pedirSolucion()); } for (int i = 0; i < solucion.length; i = i + 1) { solucion[i] = color; } return solucion; } for (int i = 0; i < solucion.length; i = i + 1) { } } static boolean estaRepetido(char color,char [] clave){ boolean repetido = false; int i=0; while ( (i < clave.length)&&(repetido == false) ){ if (color == clave[i]){ repetido=true; } i++; } return repetido; } public static char[] GenerarClave(){ char [] clave = new char[4]; int i=0; char posibleColor = 'Q'; char posibleColor2 = 'Q'; while(i < clave.length){ if(i==0){ double x = rnd.nextDouble(); int color =(int) ((x*5)+1); switch (color) { case 1: clave[i] = 'M';break; case 2: clave[i] = 'R';break; case 3: clave[i] = 'N';break; case 4: clave[i] = 'A';break; case 5: clave[i] = 'Z';break; case 6: clave[i] = 'V';break; } i++; }else{ double j = rnd.nextDouble(); int color3 =(int) ((j*5)+1); switch (color3) { case 1: posibleColor = 'M';break; case 2: posibleColor = 'R';break; case 3: posibleColor = 'N';break; case 4: posibleColor = 'A';break; case 5: posibleColor = 'Z';break; case 6: posibleColor = 'V';break; } posibleColor2 = posibleColor; while (estaRepetido(posibleColor2,clave)){ double y = rnd.nextDouble(); int color2 =(int) ((y*5)+1); switch (color2) { case 1: posibleColor2 = 'M';break; case 2: posibleColor2 = 'R';break; case 3: posibleColor2 = 'N';break; case 4: posibleColor2 = 'A';break; case 5: posibleColor2 = 'Z';break; case 6: posibleColor2 = 'V';break; } } clave[i] = posibleColor2; i++; } } return clave; } }
Mod: Tema movido a Java, procura usar los Sub-foros correctos