Java - Como hago que si el jugador llega a apretar el numero erroneo vuelva de nuevo a la linea anterior

   
Vista:

Como hago que si el jugador llega a apretar el numero erroneo vuelva de nuevo a la linea anterior

Publicado por Cliler (1 intervención) el 19/08/2013 23:52:19
Bueno, soy nuevo en el mundo del java de hace casi 1 semana, intento aprender a base de tutoriales que encuentro por Iutuv y paginas sueltas.
Así que para practicar me he puesto un ejercicio de hacer un text based adventure game, como el famoso Zork, y aquí viene mi duda/problema: siempre que le digo de "Aprieta 1, 2 o 3" para ejecutar una cosa con su respectivo numero. Vamos, que tengo esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import game.info.Jugador;
 
import java.util.Scanner;
 
import Sistema.mainSystem;
 
public class Prueba {
	public static void main (String [] args){
//Menu del juego
		Scanner input = new Scanner(System.in);
		Jugador p = new Jugador();
		mainSystem m = new mainSystem();
 
		System.out.println("----------------------------------------------------");
		System.out.println("-----------------Titulo de prueba-------------------");
		System.out.println("----------------------------------------------------\n\n");
		System.out.println("      Opción     -    Información");
		System.out.println("[1]  Personaje   -   Crear partida con nuevo personaje");
		System.out.println("[2]  Cargar      -   Cargar partida");
		System.out.println("[3]  Salir       -   Salir del programa");
 
		int opciones;
		opciones = input.nextInt();
		try {
			switch(opciones){
				case 1:
					m.crear(p); //lo que sea para vosotros, como si es un System.out.println ("blabla");
					break;
				case 2:
					m.cargar(p);
					break;
				case 3:
					System.exit(0);
				default:
					System.out.println("Por favor, escoge uno de los 3 numeros para crear un personaje, cargar una partida o salir del programa en el menu de Opciones.");
			}
	} catch(Exception e) {
		System.out.println("Exception error en la Prueba class: " +e.getLocalizedMessage());
	}

La cosa es, como diablos hago que si el jugador llega a apretar el numero/letra/palabra erroneo/a vuelva de nuevo a las lineas anteriores para que lo intente de nuevo.
Se que con while algo podría hacer, pero siempre que intento hacer while (opciones == 1 && opciones == 2 etc etc) me dice que la linea esta mal, usando el IDE de Eclipse
Muchas gracias por leer hasta aquí. Se aprecia la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como hago que si el jugador llega a apretar el numero erroneo vuelva de nuevo a la linea anterior

Publicado por Francisco Javier (22 intervenciones) el 21/08/2013 19:11:16
Hola Cliler

Lo estas haciendo muy bien, el único detalle que te faltaría, es que no estas metiendo tu menú de opciones a un ciclo, para hacerlo repetitivo usa un "Do While"
tu código de menú te quedaría algo así:


do
{

switch(opciones){

case 1:

m.crear(p); //lo que sea para vosotros, como si es un System.out.println ("blabla");
break;
case 2:

m.cargar(p);
break;
case 3:

System.exit(0);
default:

System.out.println("Por favor, escoge uno de los 3 numeros para crear un personaje, cargar una partida o salir del programa en el menu de Opciones.");
}
}
while(opcion!=3);


Creo que es lo que estas buscando.
Informame si te sirvió.
Saludos.
--> Francisco Gracia <--
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar