static void Main(string[] args) { MenuPrincipal(); if (JugadorActual.Exp == 0) { JugadorActual.Nombre = Historia.PregunarNombre(); Historia.HistoriaPrincipio(JugadorActual.Nombre); Encuentros.PrimerEncuentro(JugadorActual); } Loop(loopPrincipal); }
/// <summary> /// Loop donde al usuario se le da 4 opciones diferentes de que quiere hacer /// Hacer un encuentro aleatorio /// Visitar la tienda /// Guardar su partida /// Salir del programa /// </summary> /// <param name="LoopPrincipal">Mientras el bool sea verdadero se le seguiran presentando las 4 opciones al jugador</param> static void Loop(bool LoopPrincipal) { while (loopPrincipal) { Console.Clear(); Console.WriteLine("*==========================*"); Console.WriteLine("| (E)xplorar (T)ienda |"); Console.WriteLine("| (G)uardar (S)alir |"); Console.WriteLine("*==========================*"); string input = Console.ReadLine(); input = input.ToLower(); if (input == "e" || input == "explorar") { if (JugadorActual.Exp == 8) { Historia.HistoriaDesarrollo(); JugadorActual.Mods++; JugadorActual.Pociones += 5; JugadorActual.Exp++; } else if (JugadorActual.Exp == 14) { //Historia.HistoriaFinal(); Enemigo EnemigoFinal = new Enemigo(); Combate.Pelea(false, EnemigoFinal.Nombre, EnemigoFinal.PoderDelArma, EnemigoFinal.Vida, JugadorActual); Console.Clear(); if (JugadorActual.Exp == 14) { Console.WriteLine("Mientras el hombre te golpea, puedes escuchar como dice"); EnemigoFinal.Victoria(); Console.WriteLine(); Console.WriteLine("No pudiste vencerlo..."); Console.WriteLine("En tu desesperacion, hiciste lo que mejor sabes hacer."); Console.WriteLine("Huir y esconderte como un cobarde."); Console.WriteLine("Este es el fin....."); Console.ReadKey(); Environment.Exit(0); } else { Historia.Imprimir("Lo has logrado,tu adversario ha muerto."); Historia.Imprimir("Has conseguido un lugar en esta civilizacion."); Historia.Imprimir("Civilizacion y paz...."); Console.ReadKey(); Environment.Exit(0); } } else { Encuentros.EncuentroAleatorio(JugadorActual); } } else if (input == "t" || input == "tienda") { Tiendita.AbrirTienda(JugadorActual); } else if (input == "g" || input == "guardar") { //Nombre,Vida,Monedas,Armadura,Pociones,PoderDelArma,Mods,Exp string Datos = (JugadorActual.Nombre + "," + JugadorActual.Vida + "," + JugadorActual.Monedas + "," + JugadorActual.Armadura + "," + JugadorActual.Pociones + "," + JugadorActual.PoderDelArma + "," + JugadorActual.Mods + "," + JugadorActual.Exp); Historia.Guardar(NombreDePartida, Datos); Console.WriteLine("Los datos han sido guardados"); Console.ReadKey(); } else if (input == "s" || input == "salir") { Console.WriteLine("Hasta luego!"); Environment.Exit(0); } } }
public static void Pelea(bool random, string nombreEnemigo, int daño, int vida, Jugador p) { string n; int d; int v; int dañoRecibido; int dañoInfligido; if (random) { n = Encuentros.ObtenerEnemigo(); d = p.ObtenerFuerza(p); v = p.ObtenerVida(p); } else { n = nombreEnemigo; d = daño; v = vida; } while (v > 0) { Console.Clear(); Console.WriteLine("Puntos de vida del " + n + " : " + v); Console.WriteLine("Poder del " + n + " : " + d); Console.WriteLine("*==========================*"); Console.WriteLine("| (A)tacar (D)efender |"); Console.WriteLine("| (C)orrer (P)ocion |"); Console.WriteLine("*==========================*"); Console.WriteLine("Pociones: " + p.Pociones + " Vida: " + p.Vida); string input = Console.ReadLine(); input = input.ToLower(); switch (input) { case "a": case "atacar": //Atacar. Atacas con toda tu fuerza, infligiendo mucho daño, pero recibiendo mucho daño tambien Console.WriteLine("Sin cuidado alguno cortas con tu espada, en la direccion de tu oponente, el " + n + " logra atacarte tambien"); dañoRecibido = r.Next(d, d + 2) - p.Armadura; if (dañoRecibido < 0) { dañoRecibido = 0; } dañoInfligido = p.Atacar(); Console.WriteLine(); Console.WriteLine("Pierdes " + dañoRecibido + " punto(s) de vida, e infliges " + dañoInfligido + " punto(s) de daño al enemigo"); p.Vida -= dañoRecibido; v -= dañoInfligido; Console.ReadKey(); break; case "d": case "defender": //Defender. Te enfocas en defender, recibes daño disminuido, pero infliges poco daño Console.WriteLine("Mientras que el " + n + " se prepara para atacar, adoptas una postura defensiva "); dañoRecibido = (d - 1) - p.Armadura; if (dañoRecibido < 0) { dañoRecibido = 0; } dañoInfligido = (p.Atacar() - 1); Console.WriteLine("Pierdes " + dañoRecibido + " punto(s) de vida, e infliges " + dañoInfligido + " punto(s) de daño al enemigo"); p.Vida -= dañoRecibido; v -= dañoInfligido; Console.ReadKey(); break; case "c": case "correr": //Correr.Intentas huir de la batalla if (r.Next(0, 2) == 0) { Console.WriteLine("Intentas huir de la batalla, pero te tropiezas"); Console.WriteLine("El " + n + " aprovecha esta oportunidad para atacarte"); dañoRecibido = d - p.Armadura; if (dañoRecibido < 0) { dañoRecibido = 0; } Console.WriteLine("Recibes " + dañoRecibido + " punto(s) de daño y no logras escapar"); p.Vida -= dañoRecibido; Console.ReadKey(); } else { Console.WriteLine("Fuga"); Console.ReadKey(); Console.Clear(); return; } break; case "p": case "pocion": //Pocion. Consumir pocion if (p.Pociones == 0) { Console.WriteLine("Buscas desesperadamente en tu bolsa, pero las pociones se han agotado"); Console.WriteLine("El " + n + " aprovecha la oportunidad para golpearte"); dañoRecibido = d - p.Armadura; if (dañoRecibido < 0) { dañoRecibido = 0; } Console.WriteLine("Recibes " + dañoRecibido + " punto(s) de daño"); p.Vida -= dañoRecibido; Console.ReadKey(); } else { Console.WriteLine("Usas tu pocion de curacion"); int pocionPotencia = 5 * (p.Mods + 1); Console.WriteLine("Recuperas " + pocionPotencia + " puntos de vida"); p.Vida += pocionPotencia; p.Pociones -= 1; Console.WriteLine("El " + n + " aprovecha el momento para atacarte"); dañoRecibido = (d - p.Armadura) - 1; if (dañoRecibido < 0) { dañoRecibido = 0; } Console.WriteLine("Recibes " + dañoRecibido + " punto(s) de daño"); p.Vida -= dañoRecibido; Console.ReadKey(); } break; } if (p.Vida <= 0) { Console.WriteLine("Tus puntos de vida han llegado a 0"); Console.WriteLine("Fuiste derrotado por el " + n); Historia.Imprimir("Has muerto...."); Console.ReadKey(); Environment.Exit(0); } } int oro = p.ObtenerMonedas(p); Console.Clear(); Console.WriteLine("Has derrotado al " + n); Console.WriteLine("Obtienes " + oro + " monedas de oro "); p.Victoria(); p.Monedas += oro; p.Exp = p.Exp + 1; Console.ReadKey(); }