// Metodo principal del programa static void Main() { // Creamos el bool de error para saltar todo bool error = false; // Iniciamos la clase map Map miMapa = new Map(18, 8); // Intentamos leer el archivo try { miMapa.ReadMap("/users/joanm/desktop/adri/practica2fp/mapaEsp.dat"); } // En el caso de que de algun error catch (Exception e) { // Escribe el mensaje de la excepción Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(e.Message); Console.ResetColor(); // Ponemos error a true para que no ejecute el programa y salga directamente error = true; } if (!error) { // Creamos el bool finish para saber cuando acaba el game y el de ganar para saber si ha ganado o perdido bool finish = false; bool ganar = false; // Preguntamos sobre el nombre del jugador Console.WriteLine("What's your name in this adventure?"); string playerName = Console.ReadLine(); // Iniciamos la clase Player Player miJugador = new Player(playerName, miMapa.GetEntryRoom()); // Limpiamos pantalla y ponemos la información del jugador y del lugar donde esta Console.Clear(); Console.WriteLine(miJugador.GetPlayerInfo()); InfoPlace(miMapa, miJugador.GetPosition()); // Bucle principal while (!finish) { // Leemos el comando que pone el jugador Console.Write("-> "); bool leido = HandleInput(Console.ReadLine(), miJugador, miMapa, out finish); // Devuelve si ha escrito bien el comando, tambien en el caso // del comando quit pone finish a true saliendo del bucle // En el caso de que lo haya escrito mal se le da un mensaje de ayuda if (!leido) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("I didn't understund your answere, try with something else or type \"Help\" to know the controls"); Console.ResetColor(); } // Vemos si el jugador ya ha llegado a la meta if (ArrivedAtExit(miMapa, miJugador)) { // Salimos del bucle y decimos que hemos ganado finish = true; ganar = true; } else if (!miJugador.IsAlive()) { finish = true; // Salimos del bucle y ganar esta en false(con lo que saldra que hemos perdido), } // en el caso de tener 0 hp he decidido que ganas ya que has acabado el juego } // Si ganas sale el mensaje de victoria y en el caso contrario el mensaje de derrota if (ganar) { Console.WriteLine("Congratulations!! You reach the goal"); } else { Console.WriteLine("You lose :("); } } Console.ReadLine(); }