public Jugador(int armadura, int vida, int mana, List <Cartas> mano, List <Cartas> mazo, string nombre, List <Cartas> tablero, string heroe, int damage, Cartas arma) { this.damage = damage; this.vida = vida; this.mana = mana; this.mano = mano; this.mazo = mazo; this.nombre = nombre; this.tablero = tablero; this.heroe = heroe; this.armadura = armadura; this.arma = arma; }
public void UsarPoder(Jugador JugadorPoder, Jugador JugadorOponente, Cartas carta, List <Cartas> lista, Cartas arma) { if (JugadorPoder.heroe == "Warrior" || JugadorPoder.heroe == "warrior") { JugadorPoder.armadura += 2; } else if (JugadorPoder.heroe == "Hunter" || JugadorPoder.heroe == "hunter") { JugadorOponente.vida -= 2; } else if (JugadorPoder.heroe == "Druid" || JugadorPoder.heroe == "druid") { JugadorPoder.damage += 1; JugadorPoder.armadura += 1; } else if (JugadorPoder.heroe == "Mage" || JugadorPoder.heroe == "mage") { JugadorOponente.vida -= 1; } else if (JugadorPoder.heroe == "Paladin" || JugadorPoder.heroe == "paladin") { JugadorPoder.tablero.Add(carta); } else if (JugadorPoder.heroe == "Priest" || JugadorPoder.heroe == "priest") { JugadorPoder.vida += 2; } else if (JugadorPoder.heroe == "Rogue" || JugadorPoder.heroe == "rogue") { JugadorPoder.arma = arma; Console.WriteLine("Se equipo arma"); } else if (JugadorPoder.heroe == "Shaman" || JugadorPoder.heroe == "shaman") { Random rnd = new Random(); int largoLista = rnd.Next(0, 4); JugadorPoder.tablero.Add(lista[largoLista]); } else if (JugadorPoder.heroe == "Warlock" || JugadorPoder.heroe == "warlock") { JugadorPoder.vida -= 2; } }
public static void crearMano(Jugador Jugador1, Jugador Jugador2, int turno, Cartas theCoin) { Random rmd = new Random(); if (turno == 0) { while (Jugador1.mano.Count < 3) { int r = rmd.Next(Jugador1.mazo.Count); Jugador1.mano.Add(Jugador1.mazo[r]); Jugador1.mazo.Remove(Jugador1.mazo[r]); } while (Jugador2.mano.Count < 4) { int r = rmd.Next(Jugador2.mazo.Count); Jugador2.mano.Add(Jugador2.mazo[r]); Jugador2.mazo.Remove(Jugador2.mazo[r]); } Jugador2.mano.Add(theCoin); } else if (turno == 1) { while (Jugador2.mano.Count < 3) { int r = rmd.Next(Jugador2.mazo.Count); Jugador2.mano.Add(Jugador2.mazo[r]); Jugador2.mazo.Remove(Jugador2.mazo[r]); } while (Jugador1.mano.Count < 4) { int r = rmd.Next(Jugador1.mazo.Count); Jugador1.mano.Add(Jugador1.mazo[r]); Jugador1.mazo.Remove(Jugador1.mazo[r]); } Jugador1.mano.Add(theCoin); } }
static void Main(string[] args) { List <Cartas> listaCartasShaman = new List <Cartas>(); List <Cartas> listaCartas = new List <Cartas>(); Cartas pichon = new Cartas(0, 0, 10000000, "pichon"); Cartas dagger = new Cartas(0, 1, 2, "Dagger"); Cartas wisp = new Cartas(0, 1, 1, "Wisp"); Cartas murlocRaider = new Cartas(1, 1, 2, "Murloc Raider"); Cartas bloodfenRaptor = new Cartas(2, 3, 2, "Bloodfen Raptor"); Cartas riverCrocolisk = new Cartas(2, 2, 3, "River CrocoLisk"); Cartas magmaRager = new Cartas(3, 5, 1, "Magma Rager"); Cartas chillwindYeti = new Cartas(4, 4, 5, "Chill Wind Yeti"); Cartas oasisSnapjaw = new Cartas(4, 2, 7, "Oasis Snap Jaw"); Cartas boulderfistOgre = new Cartas(6, 6, 7, "Boulder Fist Ogre"); Cartas warGolem = new Cartas(7, 7, 7, "War Golem"); Cartas coreHound = new Cartas(7, 9, 5, "Core Hound"); Cartas theCoin = new Cartas(0, 0, 0, "the coin"); Cartas reclutaManoDePlata = new Cartas(0, 1, 1, "Esbirro de Plata"); Cartas healingTotem = new Cartas(0, 0, 2, "Healing Totem"); Cartas searingTotem = new Cartas(0, 1, 1, "Searing Totem"); Cartas stoneclawTotem = new Cartas(0, 0, 2, "StoneClaw Totem"); Cartas wrathOfAirTotem = new Cartas(0, 0, 2, "Wrath Of Air Totem"); listaCartasShaman.Add(healingTotem); listaCartasShaman.Add(searingTotem); listaCartasShaman.Add(stoneclawTotem); listaCartasShaman.Add(wrathOfAirTotem); listaCartas.Add(wisp); listaCartas.Add(wisp); listaCartas.Add(wisp); listaCartas.Add(murlocRaider); listaCartas.Add(murlocRaider); listaCartas.Add(murlocRaider); listaCartas.Add(bloodfenRaptor); listaCartas.Add(bloodfenRaptor); listaCartas.Add(bloodfenRaptor); listaCartas.Add(riverCrocolisk); listaCartas.Add(riverCrocolisk); listaCartas.Add(riverCrocolisk); listaCartas.Add(magmaRager); listaCartas.Add(magmaRager); listaCartas.Add(magmaRager); listaCartas.Add(chillwindYeti); listaCartas.Add(chillwindYeti); listaCartas.Add(chillwindYeti); listaCartas.Add(oasisSnapjaw); listaCartas.Add(oasisSnapjaw); listaCartas.Add(oasisSnapjaw); listaCartas.Add(boulderfistOgre); listaCartas.Add(boulderfistOgre); listaCartas.Add(boulderfistOgre); listaCartas.Add(warGolem); listaCartas.Add(warGolem); listaCartas.Add(warGolem); listaCartas.Add(coreHound); listaCartas.Add(coreHound); listaCartas.Add(coreHound); //Nombres Console.WriteLine("Bienvenido a HearthStone, ingresen sus nombres: "); Console.WriteLine("Jugador 1:"); string name1 = Console.ReadLine(); Console.WriteLine("Jugador 2:"); string name2 = Console.ReadLine(); Console.WriteLine(name1 + ", ¿Que heroe quieres ser?"); string heroe1 = Console.ReadLine(); while (heroe1 != "Warrior" && heroe1 != "rogue" && heroe1 != "Hunter" && heroe1 != "hunter" && heroe1 != "Druid" && heroe1 != "druid" && heroe1 != "shaman" && heroe1 != "paladin") { Console.WriteLine("Por favor ingrese un heroe valido"); heroe1 = Console.ReadLine(); } Console.WriteLine(name2 + ", ¿Que heroe quieres ser?"); string heroe2 = Console.ReadLine(); while (heroe2 != "Warrior" && heroe2 != "warrior" && heroe2 != "Hunter" && heroe2 != "hunter") { Console.WriteLine("Por favor ingrese un heroe valido"); heroe2 = Console.ReadLine(); } Console.WriteLine(name1 + " eres " + heroe1); Console.WriteLine(name2 + " eres " + heroe2); //Mazos List <Cartas> Mazo1 = listaCartas; List <Cartas> Mazo2 = listaCartas; //Manos List <Cartas> Mano1 = new List <Cartas>(); List <Cartas> Mano2 = new List <Cartas>(); //Tableros List <Cartas> TableroJugador1 = new List <Cartas>(); List <Cartas> TableroJugador2 = new List <Cartas>(); //Damages int damage1 = 0; int damage2 = 0; Jugador Jugador1 = new Jugador(0, 30, 0, Mano1, Mazo1, name1, TableroJugador1, heroe1, damage1, pichon); Jugador Jugador2 = new Jugador(0, 30, 0, Mano2, Mazo2, name2, TableroJugador2, heroe2, damage2, pichon); Console.WriteLine("Comienza el juego"); bool condicionJuego = true; Random rmd = new Random(); int turno = rmd.Next(0, 2); Cartas.crearMano(Jugador1, Jugador2, turno, theCoin); bool cambiarCartas1 = true; bool cambiarCartas2 = true; while (condicionJuego) { if (turno == 0) { while (cambiarCartas1) { for (int i = 0; i < Jugador1.mano.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador1.mano[i].nombre + "|| costo: [" + Jugador1.mano[i].costo + "]"); //Mostramos lo que tenemos en la mano } Console.WriteLine(Jugador1.nombre + ", ¿Quiere cambiar cartas? (si o no)"); string a = Console.ReadLine(); while (a == "si" || a == "Si") { for (int i = 0; i < Jugador1.mano.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador1.mano[i].nombre + "|| costo: [" + Jugador1.mano[i].costo + "]"); //Mostramos lo que tenemos en la mano } Console.WriteLine("Elija la carta que quiere cambiar, 11 si no quiere cambiar"); string c = Console.ReadLine(); if (c == "11") { a = "no"; cambiarCartas1 = false; } else { int c1 = Int32.Parse(c); Jugador1.mazo.Add(Jugador1.mano[c1]); Jugador1.mano.Remove(Jugador1.mano[c1]); int r = rmd.Next(Jugador1.mazo.Count); Jugador1.mano.Add(Jugador1.mazo[r]); Mazo1.Remove(Mazo1[r]); } } cambiarCartas1 = false; } int rara1 = rmd.Next(Jugador1.mazo.Count); Cartas.Draw(Jugador1.mano, Jugador1.mazo, rara1); Jugador1.ManaGrowth(); //Jugador gana 1 de mana al comienzo del turno. bool condicionTurno = true; //Para mantenerse en el menu. List <Cartas> posiblesAtacantes1 = new List <Cartas>(Jugador1.tablero); //Asi la misma carta no puede atacar dos veces. int manaTurno = 0; manaTurno += Jugador1.mana; //Mana a la que se le puede restar, si no partiria de 0 practicamente todas las rondas. Console.WriteLine("Turno de " + Jugador1.nombre); bool condicionPoder = true; //Para poder usar solo una vez el poder por turno while (condicionTurno) { Console.WriteLine(Jugador1.nombre + " tienes " + manaTurno + " puntos de mana."); Console.WriteLine("¿Que desea hacer?"); Console.WriteLine("(1) Jugar una carta de la mano"); if (posiblesAtacantes1.Count >= 1 || Jugador1.arma.nombre == "dagger" || Jugador1.damage > 0) { Console.WriteLine("(2) Atacar"); } if (manaTurno >= 2 && condicionPoder) { Console.WriteLine("(3) Usar el poder"); } Console.WriteLine("(4) Terminar el turno"); string decision1 = Console.ReadLine(); //Que es lo que hara el jugador. if (decision1 == "1") //Jugar una carta { for (int i = 0; i < Jugador1.mano.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador1.mano[i].nombre + "||" + " costo " + "[" + Jugador1.mano[i].costo + "]" + " vida " + "[" + Jugador1.mano[i].vida + "]" + "vida" + "[" + Jugador1.mano[i].ataque + "]"); //Mostramos lo que tenemos en la mano } decision1 = "0"; while (decision1 == "0") { Console.WriteLine("Elija el numero de carta que desea jugar, tipe 11 si quiere volver al menú"); string numeroDeCartaString1 = Console.ReadLine(); //Numero de carta que quiere jugar, parte desde el 0 int numeroDeCartaInt1 = Int32.Parse(numeroDeCartaString1); //Numero a int if (numeroDeCartaInt1 == 11) { decision1 = "1"; } else if (Mano1[numeroDeCartaInt1].nombre == "the coin") { manaTurno += 1; Mano1.Remove(Mano1[numeroDeCartaInt1]); Console.WriteLine("TheCoin ha sido implementada"); } else { if (TableroJugador1.Count < 7) { if (manaTurno >= Jugador1.mano[numeroDeCartaInt1].costo) { manaTurno -= Jugador1.mano[numeroDeCartaInt1].costo; Jugador1.tablero.Add(Jugador1.mano[numeroDeCartaInt1]); Jugador1.mano.Remove(Jugador1.mano[numeroDeCartaInt1]); decision1 = "1"; } else { Console.WriteLine("No hay suficiente mana"); decision1 = "1"; } } else { Console.WriteLine("Ya hay 7 cartas en la mesa"); } } } } else if (decision1 == "2") //Atacar con una creatura o Heroe { for (int i = 0; i < posiblesAtacantes1.Count; i++) { Console.WriteLine("[" + i + "]" + posiblesAtacantes1[i].nombre + "||" + " vida: " + "[" + posiblesAtacantes1[i].vida + "]" + " ataque: " + "[" + posiblesAtacantes1[i].ataque + "]"); } decision1 = "0"; Console.WriteLine("[10]" + "[" + Jugador1.nombre + "]" + "[" + Jugador1.arma.ataque + Jugador1.damage + "]"); while (decision1 == "0") { Console.WriteLine("Elija el numero con que desee que ataque, tipe 11 para volver al menú."); string cartaElegidaString1 = Console.ReadLine(); int cartaElegidaInt1 = Int32.Parse(cartaElegidaString1); // Hasta aca se tiene la carta que va a atacar, falta decidir a quien se va a atacar if (cartaElegidaInt1 == 11) { decision1 = "2"; } else if (cartaElegidaInt1 == 10) { Console.WriteLine("¿A quien desea a atacar?"); // primero vemos a quien se ataca, si se ataca a carta o a Jugador Console.WriteLine("(1) Jugador oponente"); Console.WriteLine("(2) Alguna carta del oponente"); string target1 = Console.ReadLine(); int target = Int32.Parse(target1); if (target == 1) { Jugador2.vida -= Jugador2.arma.ataque; Jugador1.arma.vida -= 1; if (Jugador2.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador1.nombre); condicionJuego = false; } if (Jugador1.arma == dagger) { dagger.vida -= 1; if (dagger.vida == 0) { Jugador1.arma = pichon; } } } else if (target == 2) { Console.WriteLine("Indique a cual carta del oponente desea atacar"); for (int i = 0; i < Jugador2.tablero.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador2.tablero[i].nombre + "|| vida: " + "[" + Jugador2.tablero[i].vida + "]" + " ataque: " + "[" + Jugador1.tablero[i].ataque + "]"); } string numeroDeTarget1 = Console.ReadLine(); int numeroDeTargetInt1 = Int32.Parse(numeroDeTarget1); Jugador2.tablero[numeroDeTargetInt1].vida -= Jugador1.damage + Jugador1.arma.ataque; Jugador1.vida -= Jugador2.tablero[numeroDeTargetInt1].ataque; if (Jugador1.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador2.nombre); condicionJuego = false; } if (Jugador1.arma == dagger) { dagger.vida -= 1; if (dagger.vida == 0) { Jugador1.arma = pichon; } } if (Jugador2.tablero[numeroDeTargetInt1].vida <= 0) { Jugador1.tablero.Remove(Jugador1.tablero[numeroDeTargetInt1]); Console.WriteLine(Jugador1.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } if (Jugador2.tablero[cartaElegidaInt1].vida <= 0) { Jugador2.tablero.Remove(Jugador2.tablero[cartaElegidaInt1]); Console.WriteLine(Jugador2.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } } } else { Console.WriteLine("¿A quien desea a atacar?"); // primero vemos a quien se ataca, si se ataca a carta o a Jugador Console.WriteLine("(1) Jugador oponente"); Console.WriteLine("(2) Alguna carta del oponente"); string target1 = Console.ReadLine(); int target = Int32.Parse(target1); if (target == 1) { Jugador1.AtacarJugador(posiblesAtacantes1, cartaElegidaInt1, Jugador2); if (Jugador2.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador1.nombre); condicionJuego = false; } } else if (target == 2) { Console.WriteLine("Indique a cual carta del oponente desea atacar"); for (int i = 0; i < Jugador2.tablero.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador2.tablero[i].nombre + "|| vida: " + "[" + Jugador2.tablero[i].vida + "]" + " ataque: " + "[" + Jugador2.tablero[i].ataque + "]"); } string numeroDeTarget1 = Console.ReadLine(); int numeroDeTargetInt1 = Int32.Parse(numeroDeTarget1); Jugador1.AtacarCarta(posiblesAtacantes1, cartaElegidaInt1, Jugador2.tablero, numeroDeTargetInt1); if (Jugador1.tablero[numeroDeTargetInt1].vida <= 0) { Jugador1.tablero.Remove(Jugador1.tablero[numeroDeTargetInt1]); Console.WriteLine(Jugador1.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } if (Jugador2.tablero[cartaElegidaInt1].vida <= 0) { Jugador2.tablero.Remove(Jugador2.tablero[cartaElegidaInt1]); Console.WriteLine(Jugador2.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } } decision1 = "2"; } } } else if (decision1 == "3") //Poder del guerrero. { Console.WriteLine("Tipe 11 para ir al menu principal, de lo contrario procedemos a usar el poder"); string hola = Console.ReadLine(); if (hola == "11") { decision1 = "0"; } else { Jugador1.UsarPoder(Jugador1, Jugador2, reclutaManoDePlata, listaCartasShaman, dagger); manaTurno -= 2; Jugador1.arma = dagger; condicionPoder = false; if (Jugador2.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador1.nombre); condicionJuego = false; } } } else if (decision1 == "4")//Terminar Turno { condicionTurno = false; turno = 1; if (Jugador1.mano.Count < 10) { int r = 0; Jugador1.mano.Add(Jugador1.mazo[r]); Jugador1.mazo.Remove(Jugador1.mazo[r]); } } } } else if (turno == 1) { while (cambiarCartas2) { for (int i = 0; i < Jugador2.mano.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador2.mano[i].nombre + "|| costo: [" + Jugador2.mano[i].costo + "]"); //Mostramos lo que tenemos en la mano } Console.WriteLine(Jugador2.nombre + ", ¿Quiere cambiar cartas? (si o no)"); string a = Console.ReadLine(); while (a == "si" || a == "Si") { for (int i = 0; i < Jugador2.mano.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador2.mano[i].nombre + "|| costo: [" + Jugador2.mano[i].costo + "]"); //Mostramos lo que tenemos en la mano } Console.WriteLine("Elija la carta que quiere cambiar, 11 si no quiere cambiar"); string c = Console.ReadLine(); if (c == "11") { a = "no"; cambiarCartas2 = false; } else { int c1 = Int32.Parse(c); Jugador2.mazo.Add(Jugador2.mano[c1]); Jugador2.mano.Remove(Jugador2.mano[c1]); int r = rmd.Next(Jugador2.mazo.Count); Jugador2.mano.Add(Jugador2.mazo[r]); Mazo2.Remove(Mazo2[r]); } } cambiarCartas2 = false; } int rara2 = rmd.Next(Jugador2.mazo.Count); Cartas.Draw(Jugador2.mano, Jugador2.mazo, rara2); Jugador2.ManaGrowth(); //Jugador gana 1 de mana al comienzo del turno. bool condicionTurno = true; //Para mantenerse en el menu. List <Cartas> posiblesAtacantes1 = new List <Cartas>(Jugador2.tablero);; //Asi la misma carta no puede atacar dos veces. int manaTurno = 0; manaTurno += Jugador2.mana; //Mana a la que se le puede restar, si no partiria de 0 practicamente todas las rondas. Console.WriteLine("Turno de " + Jugador2.nombre); bool condicionPoder = true; //Para poder usar solo una vez el poder por turno while (condicionTurno) { Console.WriteLine(Jugador2.nombre + " tienes " + manaTurno + " puntos de mana."); Console.WriteLine("¿Que desea hacer?"); Console.WriteLine("(1) Jugar una carta de la mano"); if (posiblesAtacantes1.Count >= 1 || Jugador2.arma.nombre == "dagger" || Jugador2.damage > 0) { Console.WriteLine("(2) Atacar"); } if (manaTurno >= 2 && condicionPoder) { Console.WriteLine("(3) Usar el poder"); } Console.WriteLine("(4) Terminar el turno"); string decision1 = Console.ReadLine(); //Que es lo que hara el jugador. if (decision1 == "1") //Jugar una carta { for (int i = 0; i < Jugador2.mano.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador2.mano[i].nombre + "||" + " costo " + "[" + Jugador2.mano[i].costo + "]" + " vida " + "[" + Jugador2.mano[i].vida + "]" + "vida" + "[" + Jugador2.mano[i].ataque + "]"); //Mostramos lo que tenemos en la mano } decision1 = "0"; while (decision1 == "0") { Console.WriteLine("Elija el numero de carta que desea jugar, tipe 11 si quiere volver al menú"); string numeroDeCartaString1 = Console.ReadLine(); //Numero de carta que quiere jugar, parte desde el 0 int numeroDeCartaInt1 = Int32.Parse(numeroDeCartaString1); //Numero a int if (numeroDeCartaInt1 == 11) { decision1 = "1"; } else if (Mano2[numeroDeCartaInt1].nombre == "the coin") { manaTurno += 1; Mano2.Remove(Mano2[numeroDeCartaInt1]); Console.WriteLine("TheCoin ha sido implementada"); } else { if (TableroJugador2.Count < 7) { if (manaTurno >= Jugador2.mano[numeroDeCartaInt1].costo) { manaTurno -= Jugador2.mano[numeroDeCartaInt1].costo; Jugador2.tablero.Add(Jugador2.mano[numeroDeCartaInt1]); Jugador2.mano.Remove(Jugador2.mano[numeroDeCartaInt1]); decision1 = "1"; } else { Console.WriteLine("No hay suficiente mana"); decision1 = "1"; } } else { Console.WriteLine("Ya hay 7 cartas en la mesa"); } } } } else if (decision1 == "2") //Atacar con una creatura o Heroe { for (int i = 0; i < posiblesAtacantes1.Count; i++) { Console.WriteLine("[" + i + "]" + posiblesAtacantes1[i].nombre + "||" + " vida: " + "[" + posiblesAtacantes1[i].vida + "]" + " ataque: " + "[" + posiblesAtacantes1[i].ataque + "]"); } decision1 = "0"; Console.WriteLine("[10]" + "[" + Jugador2.nombre + "]" + "[" + Jugador2.arma.ataque + Jugador2.damage + "]"); while (decision1 == "0") { Console.WriteLine("Elija el numero con que desee que ataque, tipe 11 para volver al menú."); string cartaElegidaString1 = Console.ReadLine(); int cartaElegidaInt1 = Int32.Parse(cartaElegidaString1); // Hasta aca se tiene la carta que va a atacar, falta decidir a quien se va a atacar if (cartaElegidaInt1 == 11) { decision1 = "2"; } else if (cartaElegidaInt1 == 10) { Console.WriteLine("¿A quien desea a atacar?"); // primero vemos a quien se ataca, si se ataca a carta o a Jugador Console.WriteLine("(1) Jugador oponente"); Console.WriteLine("(2) Alguna carta del oponente"); string target1 = Console.ReadLine(); int target = Int32.Parse(target1); if (target == 1) { Jugador1.vida -= Jugador2.arma.ataque; Jugador2.arma.vida -= 1; if (Jugador2.arma == dagger) { dagger.vida -= 1; if (dagger.vida == 0) { Jugador2.arma = pichon; } } if (Jugador1.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador2.nombre); condicionJuego = false; } } else if (target == 2) { Console.WriteLine("Indique a cual carta del oponente desea atacar"); for (int i = 0; i < Jugador1.tablero.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador1.tablero[i].nombre + "|| vida: " + "[" + Jugador1.tablero[i].vida + "]" + " ataque: " + "[" + Jugador1.tablero[i].ataque + "]"); } string numeroDeTarget1 = Console.ReadLine(); int numeroDeTargetInt1 = Int32.Parse(numeroDeTarget1); Jugador1.tablero[numeroDeTargetInt1].vida -= Jugador2.damage + Jugador2.arma.ataque; Jugador2.vida -= Jugador1.tablero[numeroDeTargetInt1].ataque; if (Jugador1.tablero[numeroDeTargetInt1].vida <= 0) { Jugador1.tablero.Remove(Jugador1.tablero[numeroDeTargetInt1]); Console.WriteLine(Jugador1.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } if (Jugador2.tablero[cartaElegidaInt1].vida <= 0) { Jugador2.tablero.Remove(Jugador2.tablero[cartaElegidaInt1]); Console.WriteLine(Jugador2.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } } } else { Console.WriteLine("¿A quien desea a atacar?"); // primero vemos a quien se ataca, si se ataca a carta o a Jugador Console.WriteLine("(1) Jugador oponente"); Console.WriteLine("(2) Alguna carta del oponente"); string target1 = Console.ReadLine(); int target = Int32.Parse(target1); if (target == 1) { Jugador2.AtacarJugador(posiblesAtacantes1, cartaElegidaInt1, Jugador1); if (Jugador1.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador2.nombre); condicionJuego = false; } } else if (target == 2) { Console.WriteLine("Indique a cual carta del oponente desea atacar"); for (int i = 0; i < Jugador1.tablero.Count; i++) { Console.WriteLine("[" + i + "]" + Jugador1.tablero[i].nombre + "|| vida: " + "[" + Jugador1.tablero[i].vida + "]" + " ataque: " + "[" + Jugador1.tablero[i].ataque + "]"); } string numeroDeTarget1 = Console.ReadLine(); int numeroDeTargetInt1 = Int32.Parse(numeroDeTarget1); Jugador2.AtacarCarta(posiblesAtacantes1, cartaElegidaInt1, Jugador1.tablero, numeroDeTargetInt1); if (Jugador1.tablero[numeroDeTargetInt1].vida <= 0) { Jugador1.tablero.Remove(Jugador1.tablero[numeroDeTargetInt1]); Console.WriteLine(Jugador1.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } if (Jugador2.tablero[cartaElegidaInt1].vida <= 0) { Jugador2.tablero.Remove(Jugador2.tablero[cartaElegidaInt1]); Console.WriteLine(Jugador2.tablero[numeroDeTargetInt1].nombre + "ha muerto"); } } decision1 = "2"; } } } else if (decision1 == "3") //Poder del guerrero. { Console.WriteLine("Tipe 11 para ir al menu principal, de lo contrario procedemos a usar el poder"); string hola = Console.ReadLine(); if (hola == "11") { decision1 = "0"; } else { Jugador2.UsarPoder(Jugador2, Jugador1, reclutaManoDePlata, listaCartasShaman, dagger); manaTurno -= 2; condicionPoder = false; Jugador2.arma = dagger; if (Jugador1.vida <= 0) { Console.WriteLine("Juego terminado gano: " + Jugador2.nombre); condicionJuego = false; } } } else if (decision1 == "4")//Terminar Turno { condicionTurno = false; turno = 0; if (Jugador1.mano.Count < 10) { int r = 0; Jugador2.mano.Add(Jugador1.mazo[r]); Jugador2.mazo.Remove(Jugador1.mazo[r]); } } } } } }