public override void pelear(Terreno terreno, Bitmon peleador) { foreach (Bitmon bitmon in terreno.bitmonsTerreno) { if (bitmon != peleador && bitmon.puntosVida > 0 && peleador.puntosVida > 0) { if ((peleador.enemigos.ContainsKey(bitmon.getTipo()) && bitmon.enemigos.ContainsKey(peleador.getTipo()))) { double multiplicadorPeleador = peleador.enemigos[bitmon.getTipo()]; double multiplicadorBitmon = bitmon.enemigos[peleador.getTipo()]; bitmon.puntosVida -= peleador.puntosAtaque * multiplicadorPeleador; bitmon.puntosVida -= peleador.puntosAtaque * multiplicadorPeleador; peleador.yaPeleo = true; bitmon.yaPeleo = true; if (bitmon.puntosVida < 0 && peleador.puntosVida > 0) { peleador.puntosVida = peleador.puntosVidaOriginal; } else if (bitmon.puntosVida > 0 && peleador.puntosVida < 0) { bitmon.puntosVida = bitmon.puntosVidaOriginal; } break; } } } }
public void SelectAct() { foreach (Jugador j in participantes) { int counter = 1; Console.WriteLine(j.nombre + " sus bitmons disponibles son los siguientes!! \n"); foreach (Bitmon b in j.equipo) { Console.WriteLine(counter + ".- " + "Nombre: " + b.nombre + " Tipo: " + b.tipo + "\n"); counter++; } bool aux1 = true; Bitmon bitaux = null; while (aux1) { Console.WriteLine("Ingrese el nombre de su PRIMER Bitmon en batalla!(Primer caracter en masyucula): \n"); string aux = Console.ReadLine(); foreach (Bitmon b in j.equipo) { if (aux == b.nombre) { b.estadolucha = "activo"; bitaux = b; Console.WriteLine(b.nombre + " elegido!!"); break; } else { continue; } } if (bitaux == null) { Console.WriteLine("opción inválida, ingrésela nuevamente!!"); continue; } aux1 = false; } foreach (Bitmon b in j.equipo) { if (b.nombre == bitaux.nombre) { b.estadolucha = "activo"; } } Console.Clear(); } }
public override void breed(Johto region, Terreno terreno, Bitmon reproductor) { TiposBitmons tipos = new TiposBitmons(); int randomBitmon = random.Next(0, 6); string tipoBitmon = tipos.tipo[randomBitmon]; int randomTerrenoFila = random.Next(0, region.alto); int randomTerrenoCol = random.Next(0, region.ancho); if ((region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Volcan") && (region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Acuatico")) { region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Ent()); reproductor.tiempoVida += reproductor.tiempoVidaPerdido * 0.3; reproductor.cantidadDeHijos += 1; } }
public void CambiarAct() { Bitmon bitaux = null; foreach (Bitmon b in equipo) { if (b.estadolucha == "activo") { bitaux = b; } } int counter = 1; int counter2 = 1; Console.WriteLine("Por favor, elija su Bitmon que saldrá a la Batalla: \n"); Console.WriteLine("Los disponibles para luchar son los siguientes: (Ingrese el nombre de el Bitmon[primera letra mayuscula])"); bool waza = true; foreach (Bitmon b in equipo) { if (b.estadolucha != "dead") { counter2++; } } if (counter2 == 2) { waza = false; } if (waza) { foreach (Bitmon b in equipo) { if (b.estadolucha == null) { Console.WriteLine($"{counter}.- Nombre: {b.nombre} Vida: {b.vida} Tipo: {b.tipo}"); } counter++; if (b.estadolucha == "activo") { b.estadolucha = null; } } bool boolau1 = true; while (boolau1) { string aux1 = Console.ReadLine(); counter = 1; foreach (Bitmon c in equipo) { if (c.nombre == aux1) { c.estadolucha = "activo"; Console.WriteLine("Felicidades, su Bitmon elegido es {0}", c.nombre); Console.WriteLine("\n Presiona una tecla para continuar!! "); Console.ReadKey(); break; } counter++; } if (counter > 3) { Console.WriteLine("Nombre incorrecto :(, ingréselo nuevamente \n"); continue; } boolau1 = false; } } if (waza == false) { try { foreach (Bitmon b in equipo) { if (b.nombre == bitaux.nombre) { b.estadolucha = "activo"; } } Console.WriteLine("NO TIENE BITMONS DISPONIBLES PARA CAMBIAR"); Console.ReadKey(); } catch (NullReferenceException) { foreach (Bitmon b in equipo) { if (b.vida > 0) { b.estadolucha = "activo"; } } } } }
public override void breed(Johto region, Terreno terreno, Bitmon reproductor) { TiposBitmons tipos = new TiposBitmons(); foreach (Bitmon bitmon in terreno.bitmonsTerreno) { if (bitmon != reproductor) { if ((reproductor.bitmonsAfines.Contains(bitmon.getTipo()) && bitmon.bitmonsAfines.Contains(reproductor.getTipo()))) { reproductor.yaSeReprodujo = true; bitmon.yaSeReprodujo = true; if (bitmon.cantidadDeHijos == reproductor.cantidadDeHijos) { int randomBitmon = random.Next(0, 6); string tipoBitmon = tipos.tipo[randomBitmon]; int randomTerrenoFila = random.Next(0, region.alto); int randomTerrenoCol = random.Next(0, region.ancho); switch (tipoBitmon) { case "Dorvalo": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Dorvalo()); break; case "Doti": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Doti()); break; case "Ent": break; case "Gofue": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Gofue()); break; case "Taplan": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Taplan()); break; case "Wetar": if (region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Acuatico") { continue; } else { region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Wetar()); break; } } bitmon.cantidadDeHijos += 1; reproductor.cantidadDeHijos += 1; } else { int randomBitmon = random.Next(0, 7); if (randomBitmon == 6) { if (reproductor.cantidadDeHijos > bitmon.cantidadDeHijos) { foreach (KeyValuePair <int, string> pair in tipos.tipo) { if (pair.Value == reproductor.getTipo()) { randomBitmon = pair.Key; } } } else if (reproductor.cantidadDeHijos < bitmon.cantidadDeHijos) { foreach (KeyValuePair <int, string> pair in tipos.tipo) { if (pair.Value == bitmon.getTipo()) { randomBitmon = pair.Key; } } } } string tipoBitmon = tipos.tipo[randomBitmon]; int randomTerrenoFila = random.Next(0, region.alto); int randomTerrenoCol = random.Next(0, region.ancho); switch (tipoBitmon) { case "Dorvalo": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Dorvalo()); break; case "Doti": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Doti()); break; case "Ent": break; case "Gofue": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Gofue()); break; case "Taplan": region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Taplan()); break; case "Wetar": if (region.mapaRegion[randomTerrenoFila, randomTerrenoCol].getTipo() != "Acuatico") { continue; } else { region.mapaRegion[randomTerrenoFila, randomTerrenoCol].bitmonsTerreno.Add(new Wetar()); break; } } bitmon.cantidadDeHijos += 1; reproductor.cantidadDeHijos += 1; } reproductor.yaSeReprodujo = true; reproductor.tiempoVida += reproductor.tiempoVidaPerdido * 0.3; bitmon.yaSeReprodujo = true; bitmon.tiempoVida += bitmon.tiempoVidaPerdido * 0.3; break; } } } }
public abstract void breed(Johto region, Terreno terreno, Bitmon reproductor);
public abstract void pelear(Terreno terreno, Bitmon peleador);
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Bitmon { class Program { static void Main() { //objetos necesarios en el juego Poder Ember = new Poder(10, 1, "Fuego", null, "Ember"); Poder FireFang = new Poder(11, 2, "Fuego", null, "Fire Fang"); Poder FireSpin = new Poder(14, 3, "Fuego", null, "Fire Spin"); Poder Flamethrower = new Poder(15, 5, "Fuego", "Confusion", "Flamethrower"); Poder Iceshard = new Poder(12, 3, "Hielo", null, "Ice Shard"); Poder FrostBreath = new Poder(10, 2, "Hielo", null, "Frost Breath"); Poder PowderSnow = new Poder(6, 1, "Hielo", null, "Powder Snow"); Poder Hypothemia = new Poder(0, 1, "Hielo", "Sueño", "Hypothemia"); Poder WaterGun = new Poder(5, 2, "Agua", null, "Water Gun"); Poder PoisonGun = new Poder(5, 4, "Agua", "Veneno", "Poison Gun"); Poder Bubble = new Poder(12, 4, "Agua", null, "Bubble"); Poder Waterfall = new Poder(16, 5, "Agua", null, "Waterfall"); Poder ThunderShock = new Poder(5, 2, "Electro", null, "Thunder Shock"); Poder Spark = new Poder(6, 5, "Electro", "Paralisis", "Spark"); Poder ChargeBeam = new Poder(8, 4, "Electro", null, "Charge Beam"); Poder VoltSwitch = new Poder(20, 6, "Electro", null, "Volt Switch"); List<Poder> charmonpow = new List<Poder>(); charmonpow.Add(ThunderShock); charmonpow.Add(Spark); charmonpow.Add(Ember); charmonpow.Add(Flamethrower); Bitmon Charmon = new Bitmon(500, 15, 128,108, "Charmon", "Fuego", null, charmonpow,null); List<Poder> bitpow = new List<Poder>(); bitpow.Add(Ember); bitpow.Add(FireFang); bitpow.Add(FireSpin); bitpow.Add(Flamethrower); Bitmon Bitmeleon = new Bitmon(800,20, 160, 140, "Bitmeleon", "Fuego", null, bitpow,null); List<Poder> pikapow = new List<Poder>(); pikapow.Add(ChargeBeam); pikapow.Add(VoltSwitch); pikapow.Add(FireFang); pikapow.Add(FireSpin); Bitmon Pikamon = new Bitmon(400,17, 124, 108, "Pikamon", "Electro", null, pikapow,null); List<Poder> qwertypow = new List<Poder>(); qwertypow.Add(ThunderShock); qwertypow.Add(Spark); qwertypow.Add(ChargeBeam); qwertypow.Add(VoltSwitch); Bitmon Qwertymon = new Bitmon(700,22, 200, 154, "Qwertymon", "Electro", null, qwertypow,null); List<Poder> squipow = new List<Poder>(); squipow.Add(FrostBreath); squipow.Add(PowderSnow); squipow.Add(Bubble); squipow.Add(Waterfall); Bitmon Squimon = new Bitmon(500,13, 112, 142, "Squimon", "Agua", null, squipow,null); List<Poder> worpow = new List<Poder>(); worpow.Add(WaterGun); worpow.Add(PoisonGun); worpow.Add(Bubble); worpow.Add(Waterfall); Bitmon Worbito = new Bitmon(600,19, 144, 176, "Worbito", "Agua", null, worpow,null); List<Poder> icepow = new List<Poder>(); icepow.Add(PoisonGun); icepow.Add(Iceshard); icepow.Add(Hypothemia); icepow.Add(WaterGun); Bitmon Icemon = new Bitmon(500,12, 128, 110, "Icemon", "Hielo", null, icepow,null); List<Poder> dragpow = new List<Poder>(); dragpow.Add(Iceshard); dragpow.Add(FrostBreath); dragpow.Add(PowderSnow); dragpow.Add(Hypothemia); Bitmon Dragonice = new Bitmon(800,20, 170, 152, "Dragonice", "Hielo", null, dragpow,null); List<Poder> tiripow = new List<Poder>(); tiripow.Add(Flamethrower); tiripow.Add(Hypothemia); tiripow.Add(PoisonGun); tiripow.Add(Spark); Bitmon Tirimon = new Bitmon(600,17, 132, 136, "Tirimon", "Normal", null, tiripow,null); List<Poder> naidopow = new List<Poder>(); naidopow.Add(FireSpin); naidopow.Add(Iceshard); naidopow.Add(Waterfall); naidopow.Add(VoltSwitch); Bitmon Naidormon = new Bitmon(1000,16, 142, 128, "Naidormon", "Normal", null, naidopow,null); List<Bitmon> disponibles = new List<Bitmon>(); disponibles.Add(Charmon); disponibles.Add(Bitmeleon); disponibles.Add(Pikamon); disponibles.Add(Qwertymon); disponibles.Add(Squimon); disponibles.Add(Worbito); disponibles.Add(Icemon); disponibles.Add(Dragonice); disponibles.Add(Tirimon); disponibles.Add(Naidormon); //listo programa List<Bitmon> eq1 = new List<Bitmon>(); List<Bitmon> eq2 = new List<Bitmon>(); Console.WriteLine("Bienvenidos a BITMON STADIUM\n"); Console.WriteLine("Ingrese Nombre Jugador 1: \n"); string nombre1 = Console.ReadLine(); Console.WriteLine("\nIngrese Nombre Jugador 2: \n"); string nombre2 = Console.ReadLine(); Console.Clear(); Console.WriteLine("\nLa batalla está punto de comenzar!!! \n"); Console.WriteLine("Los Bitmons disponibles son los siguientes!!: \n"); Modelo md1 = new Modelo(); md1.Mostrar(disponibles); Console.WriteLine("\n ################################################################################## \n"); Console.WriteLine("\n" + nombre1 + " ingresa el nombre de tu primer Bitmon!(primer caracter en mayuscula) \n"); md1.Addequipo(disponibles,eq1); Console.Clear(); Console.WriteLine("\n################################################################################## \n"); Console.WriteLine("\n" + nombre2 + " ingresa el nombre de tu primer Bitmon!(primer caracter en mayuscula) \n"); md1.Mostrar(disponibles); md1.Addequipo(disponibles, eq2); Console.Clear(); Console.WriteLine("\n################################################################################## \n"); Console.WriteLine("\n" + nombre2 + " ingresa el nombre de tu segundo Bitmon!(primer caracter en mayuscula)\n "); md1.Mostrar(disponibles); md1.Addequipo(disponibles, eq2); Console.Clear(); Console.WriteLine("\n################################################################################## \n"); Console.WriteLine("\n" + nombre1 + " ingresa el nombre de tu segundo Bitmon(primer caracter en mayuscula)! \n"); md1.Mostrar(disponibles); md1.Addequipo(disponibles, eq1); Console.Clear(); Console.WriteLine("\n################################################################################## \n"); Console.WriteLine("\n" + nombre1 + " ingresa el nombre de tu ultimo Bitmon!(primer caracter en mayuscula)\n "); md1.Mostrar(disponibles); md1.Addequipo(disponibles, eq1); Console.Clear(); Console.WriteLine("\n################################################################################## \n"); Console.WriteLine("\n"+nombre2 + " ingresa el nombre de tu ultimo Bitmon!(primer caracter en mayuscula)\n "); md1.Mostrar(disponibles); md1.Addequipo(disponibles, eq2); Console.WriteLine("\n################################################################################## \n"); Jugador jg1 = new Jugador(null, eq1, nombre1,1); Jugador jg2 = new Jugador(null, eq2, nombre2,2); List<Jugador> listas = new List<Jugador>(); listas.Add(jg1); listas.Add(jg2); Lucha lucha = new Lucha(listas,1,1,"activa"); lucha.MsjeBatalla(); Console.WriteLine("\n################################################################################## \n"); Console.Clear(); lucha.Turn(); Console.WriteLine("\n################################################################################## \n"); lucha.SelectAct(); Console.WriteLine("\n################################################################################## \n"); bool pelea = true; while (pelea){ lucha.PeleaTurno(); Console.Clear(); if (lucha.estadolucha=="activa"){ if (lucha.turno == 1) { lucha.turno = 2; if (lucha.participantes[1].VerifyLife() == true) { lucha.participantes[1].Vervida(); continue; } if(lucha.participantes[1].VerifyLife() == false) { Console.Clear(); lucha.estadolucha = "finish"; Console.WriteLine("\n \n \n \n \n"); Console.WriteLine("Felicidades!!!! " + jg1.nombre + " eres el ganador de esta épica batalla!!"); Console.WriteLine("\n \n Presiona una tecla para terminar!"); Console.ReadKey(); pelea = false; break; } } if (lucha.turno == 2) { lucha.turno = 1; if (lucha.participantes[0].VerifyLife() == true) { lucha.participantes[0].Vervida(); continue; } if(lucha.participantes[0].VerifyLife() == false) { Console.Clear(); lucha.estadolucha = "finish"; Console.WriteLine("\n \n \n \n \n"); Console.WriteLine("Felicidades!!!! " + jg2.nombre + " eres el ganador de esta épica batalla!!"); Console.ReadKey(); pelea = false; Console.Clear(); break; } } } } } } }
public Bitmon Ataca(Bitmon atacado, Poder pow) { double defensareal = atacado.defensa * (0.3);//esto nos pareció necesario para hacer un poco más rápido y fluido el juego double ataquereal = pow.danio + ataque; //reduccion de vida if (pow.tipo == "Normal") { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal); Console.WriteLine("Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal)); } if (pow.tipo == "Electro") { if (atacado.tipo == "Agua")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%- { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7)); } if (atacado.tipo == "Hielo")//ataque 30%- y defensa 30%+ { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3); Console.WriteLine("[CRIT]Daño de ataquce escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3)); } if (atacado.tipo == "Normal" || atacado.tipo == "Fuego" || atacado.tipo == "Electro") { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal); Console.WriteLine("1.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal)); } } if (pow.tipo == "Agua") { if (atacado.tipo == "Fuego")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%- { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7)); } if (atacado.tipo == "Electro")//ataque 30%- y defensa 30%+ { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3)); } if (atacado.tipo == "Normal" || atacado.tipo == "Agua" || atacado.tipo == "Hielo") { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal); Console.WriteLine("2.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal)); } } if (pow.tipo == "Hielo") { if (atacado.tipo == "Electro")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%- { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7)); } if (atacado.tipo == "Fuego")//ataque 30%- y defensa 30%+ { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3)); } if (atacado.tipo == "Normal" || atacado.tipo == "Agua" || atacado.tipo == "Hielo") { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal); Console.WriteLine("3.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal)); } } if (pow.tipo == "Fuego") { if (atacado.tipo == "Hielo")//aumentaremos 30%+ el ataque y la defensa la redujiremos 30%- { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 1.3 - defensareal * 0.7)); } if (atacado.tipo == "Agua")//ataque 30%- y defensa 30%+ { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3); Console.WriteLine("[CRIT]Daño de ataque escogido: " + Convert.ToInt32(ataquereal * 0.7 - defensareal * 1.3)); } if (atacado.tipo == "Normal" || atacado.tipo == "Fuego" || atacado.tipo == "Electro") { atacado.vida = atacado.vida - Convert.ToInt32(ataquereal - defensareal); Console.WriteLine("4.-Daño de ataque escogido: " + Convert.ToInt32(ataquereal - defensareal)); } } //reduccion stamina stamina = stamina - pow.costo; atacado.estadosalud = pow.ulti; if (atacado.vida <= 0) { atacado.vida = 0; atacado.estadolucha = "muerto"; Console.WriteLine($"{atacado.nombre} ha sido vencido :(. \n Por favor, eliga otro Bitmon! "); } return(atacado); }
public void PeleaTurno() { if (turno == 1) { Console.WriteLine("Estado de los bitmons iniciado este turno!:"); Console.WriteLine("\nBitmon de " + participantes[0].nombre); foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\nBitmon de " + participantes[1].nombre); foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\n"); bool boolaux = true; Bitmon bitaux = null; foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { bitaux = b; } } if (bitaux.estadosalud == "Paralisis" || bitaux.estadosalud == "Sueño") { Console.WriteLine($"{participantes[0].nombre}, Turno perdido debido a efectos de poderes :("); boolaux = false; if (bitaux.estadosalud == "Sueño") { foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { b.estadosalud = null; } } Console.WriteLine("Felicidades, tu Bitmon despertó pero ya fue muy tarde, turno perdido :( "); } } if (bitaux.estadosalud == "Veneno") { foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { b.vida = b.vida - 10; } } Console.WriteLine("Bitmon afectado por Veneno: Vida->" + bitaux.vida); } if (bitaux.estadosalud == "Confusion") { Random rd1 = new Random(); int azar = rd1.Next(1, 10); if (azar < 6) { boolaux = false; Console.WriteLine("Perdiste turno por la confusión de tu Bitmon :("); } else { Console.WriteLine("Que suerte, la confusión no hizo perder turno, a jugarse el kino!! \n \n"); } } while (boolaux) { int opcion; bool pulenta = true; Console.WriteLine("Turno de " + participantes[0].nombre); Console.WriteLine("Por favor, eliga su accion!! (Ingrese el numero asociado a la accion \n)"); if (bitaux.stamina <= 0) { bitaux.stamina = 0; pulenta = false; Console.WriteLine("No se puede atacar debido a que su Bitmon tiene 0 stamina :(, solo opción 2 y 3"); } else { Console.WriteLine("1.- Atacar "); } Console.WriteLine("2.- Descansar "); Console.WriteLine("3.- Cambiar \n"); try { opcion = Convert.ToInt32(Console.ReadLine()); } catch (FormatException) { Console.WriteLine("dato mal ingresado, ingréselo nuevamente porfavor"); Console.WriteLine("Presiona una letra para continuar"); Console.ReadKey(); Console.Clear(); continue; } if (opcion == 3) { participantes[0].CambiarAct(); boolaux = false; break; } if (opcion == 2) { Console.WriteLine("Está seguro que quieres que este bitmon descanse? [S/N]"); char p = Convert.ToChar(Console.ReadLine()); if (p == 's' || p == 'S') { foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { b.vida = b.vida + 30; b.stamina = b.stamina + 5; Console.WriteLine($"Estadisticas de {b.nombre} mejoradas!!"); Console.WriteLine($" Vida: +30 Stamina: +5 "); Console.WriteLine("Apreta una tecla para continuar!!"); Console.ReadKey(); break; } } } if (p == 'n' || p == 'N') { Console.WriteLine("Turno perdido :("); Console.WriteLine("Apreta una tecla para continuar!!"); Console.ReadKey(); } else { Console.WriteLine("opción no valida, ingresela nuevamente!!"); } boolaux = false; break; } if (opcion == 1 && bitaux.stamina > 0) { if (pulenta) { Bitmon act1 = null; Bitmon act2 = null; foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { act1 = b; } } foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { act2 = b; } } Console.WriteLine("\nAtaques disponible de " + act1.nombre); int counter = 1; foreach (Poder p in act1.poderes) { Console.WriteLine(counter + ".- Nombre: " + p.nombre + ", Costo: " + p.costo + ", Danio: " + p.danio + ", Tipo: " + p.tipo + ", Ulti: " + p.ulti); counter++; } Poder power; while (true) { int poderelegido; Console.WriteLine("\n Ingrese el número del poder elegido para atacar al enemigo: "); try { poderelegido = Convert.ToInt32(Console.ReadLine()) - 1; } catch (FormatException) { Console.WriteLine("Formato no aceptado"); continue; } if (poderelegido < 0 || poderelegido > 3) { Console.WriteLine("opción no valida, ingrese nuevamente"); continue; } else { power = act1.poderes[poderelegido]; break; } } act2 = act1.Ataca(act2, power); foreach (Bitmon b in participantes[1].equipo) { if (b.nombre == act2.nombre) { b.vida = act2.vida; b.estadosalud = act2.estadosalud; b.estadolucha = act2.estadolucha; b.stamina = act2.stamina; break; } } boolaux = false; } else { Console.WriteLine("\n Opción inválida, por favor, Ingresela Nuevamente!!"); Console.Clear(); continue; } } else { Console.WriteLine("Opción inválida, por favor, Ingresela Nuevamente!!"); Console.Clear(); continue; } } Console.WriteLine("\n Datos de los Bitmons Finalizado este turno \n"); Console.WriteLine("Bitmon de " + participantes[0].nombre); foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\n Bitmon de " + participantes[1].nombre); foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\n \n Presione cualquier letra para seguir jugando!!"); Console.ReadKey(); } if (turno == 2) { Console.WriteLine("Estado de los bitmons iniciado este turno!:"); Console.WriteLine("\nBitmon de " + participantes[0].nombre); foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\nBitmon de " + participantes[1].nombre); foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\n"); bool boolaux1 = true; Bitmon bitaux = null; foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { bitaux = b; } } if (bitaux.estadosalud == "Paralisis" || bitaux.estadosalud == "Sueño") { Console.WriteLine($"{participantes[1].nombre} , Turno perdido debido a efectos de poderes :("); boolaux1 = false; if (bitaux.estadosalud == "Sueño") { foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { b.estadosalud = null; } } Console.WriteLine("Felicidades, tu Bitmon despertó pero ya fue muy tarde, turno perdido :( "); } } if (bitaux.estadosalud == "Veneno") { foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { b.vida = b.vida - 10; } } Console.WriteLine("Bitmon afectado por Veneno: Vida->" + bitaux.vida); } if (bitaux.estadosalud == "Confusion") { Random rd1 = new Random(); int azar = rd1.Next(1, 10); if (azar < 6) { boolaux1 = false; Console.WriteLine("Perdiste turno por la confusión de tu Bitmon :("); } else { Console.WriteLine("Que suerte, la confusión no hizo perder turno, a jugarse el kino!! \n \n"); } } while (boolaux1) { int opcion; bool pulenta = true; Console.WriteLine("Turno de " + participantes[1].nombre); Console.WriteLine("Por favor, eliga su accion!! (Ingrese el numero asociado a la accion \n)"); if (bitaux.stamina <= 0) { bitaux.stamina = 0; pulenta = false; Console.WriteLine("No se puede atacar debido a que su Bitmon tiene 0 stamina :(, solo opción 2 y 3"); } else { Console.WriteLine("1.- Atacar "); } Console.WriteLine("2.- Descansar "); Console.WriteLine("3.- Cambiar \n"); try { opcion = Convert.ToInt32(Console.ReadLine()); } catch (FormatException) { Console.WriteLine("dato mal ingresado, ingréselo nuevamente porfavor"); Console.WriteLine("Presiona una letra para continuar"); Console.ReadKey(); Console.Clear(); continue; } if (opcion == 3) { participantes[1].CambiarAct(); boolaux1 = false; break; } if (opcion == 2) { Console.WriteLine("Está seguro que quieres que este bitmon descanse? [S/N]"); char p = Convert.ToChar(Console.ReadLine()); if (p == 's' || p == 'S') { foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { b.vida = b.vida + 30; b.stamina = b.stamina + 5; Console.WriteLine($"Estadisticas de {b.nombre} mejoradas!!"); Console.WriteLine($" Vida: +30 Stamina: +5 "); Console.WriteLine("Apreta una tecla para continuar!!"); Console.ReadKey(); break; } } } if (p == 'n' || p == 'N') { Console.WriteLine("Turno perdido :("); Console.WriteLine("Apreta una tecla para continuar!!"); Console.ReadKey(); } else { Console.WriteLine("opción no valida, ingresela nuevamente!!"); } boolaux1 = false; break; } if (opcion == 1 && bitaux.stamina > 0) { if (pulenta) { Bitmon act1 = null; Bitmon act2 = null; foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { act1 = b; } } foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { act2 = b; } } Console.WriteLine(" \n Ataques disponible de " + act1.nombre); int counter = 1; foreach (Poder p in act1.poderes) { Console.WriteLine(counter + ".- Nombre: " + p.nombre + ", Costo: " + p.costo + ", Danio: " + p.danio + ", Tipo: " + p.tipo + ", Ulti: " + p.ulti); counter++; } Poder power; while (true) { int poderelegido; Console.WriteLine("Ingrese el número del poder elegido para atacar al enemigo: \n "); try { poderelegido = Convert.ToInt32(Console.ReadLine()) - 1; } catch (FormatException) { Console.WriteLine("Formato no aceptado"); continue; } if (poderelegido < 0 || poderelegido > 3) { Console.WriteLine("opción no valida, ingrese nuevamente"); continue; } else { power = act1.poderes[poderelegido]; break; } } act2 = act1.Ataca(act2, power); foreach (Bitmon b in participantes[0].equipo) { if (b.nombre == act2.nombre) { b.vida = act2.vida; b.estadosalud = act2.estadosalud; b.estadolucha = act2.estadolucha; b.stamina = act2.stamina; break; } } boolaux1 = false; } else { Console.WriteLine(" \n Opción inválida, por favor, Ingresela Nuevamente!!"); Console.Clear(); continue; } } else { Console.WriteLine(" \n Opción inválida, por favor, Ingresela Nuevamente!!"); Console.Clear(); continue; } } Console.WriteLine("\nDatos de los Bitmons Finalizado este turno"); Console.WriteLine("\nBitmon de " + participantes[0].nombre); foreach (Bitmon b in participantes[0].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine("\n Bitmon de " + participantes[1].nombre); foreach (Bitmon b in participantes[1].equipo) { if (b.estadolucha == "activo") { Console.WriteLine(b.nombre + "->VIDA->" + b.vida + "->STAMINA->" + b.stamina + "->Estado->:" + b.estadolucha); } } Console.WriteLine(" \nPresione cualquier letra para seguir jugando!"); Console.ReadKey(); } }