我需要做一个记忆文字游戏。 逻辑很简单:
玩家1输入一个单词:例如“ a”
玩家2输入相同的前一个字符,然后再输入另一个:“ ap”
玩家1保持安全性“ ap”,并添加其他字符,例如“ d”。玩家2输入:“ apd”
当一名玩家在顺序上出错时,游戏结束。
问题在于它不起作用,因为我必须输入新字符而不是整个序列
public static void main(String[] args) throws IOException, InterruptedException
{
//Las variables que he ocupado
Thread t = null; //un hilo para hacer una pausa
String secuencia; //la cadena que guarda la secuencia actual
String entrada=""; //la cadena que el jugador colocara para comparar con la secuencia
String nueva; //la nueva letra que el jugador ingresa
int x=1,c=0; //x solo nos ayudara a saber que jugador esta en turno y c nos ayuda a terminar el juego
//
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Empieza con la secuencia esribiendo una letra: "); //Jugador 1 empieza la secuencia
secuencia = br.readLine();
x++;
do
{
//Este for nos ayuda a "limpiar" la pantalla para evitar se vea la secuencia
for(int i=0; i<15; i++)
{
System.out.println();
}
//
//Aqui le mostramos al jugador en turno la secuecnia por 5 segundos antes de que se borre
System.out.println("Tienes 5 segundos para memorizar la secuencia: ");
System.out.println(secuencia);
t.sleep(5000); //este hilo hace la pause de 5 segundos y despues borra pantalla
for(int i=0; i<15; i++)
{
System.out.println();
}
//
if(x%2==0)
{
System.out.println("Jugador 2 escribe la secuencia: "); //si X es multiplo de 2 es el turno del jugador 2
}
else
{
System.out.println("Jugador 1 escribe la secuencia: ");//de lo contrario es turno del jugador 1
}
entrada = br.readLine();
if(entrada.equals(secuencia))//comparo la entrada con la secuencia actual
{
System.out.println("Correcto, Escribe una nueva letra para la secuencia ");//si son iguales continua el juego agregando una nueva letra
nueva = br.readLine();
secuencia = entrada+nueva; //aqui la secuencia se modifica
x++;
c=1;//como ha acertado c es 1 por lo que el ciclo se repetira
}
else
{
c=0;//al equivocarse c valdra 0 por lo que el juego acaba
if(x%2==0)
{
System.out.println("Error. Jugador 2 ha perdido, la secuencia era: "+secuencia);
}
else
{
System.out.println("Error. Jugador 1 ha perdido, la secuencia era: "+secuencia);
}
}
} while (c==1);
}
}