public void Ganador(Jugador jugadorlocal) { NextMatch = jugadorlocal; }
public void SetRival(Jugador jugadorlocal) { Rival = jugadorlocal; }
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]); } } } } } }
public void AtacarJugador(List <Cartas> posiblesAtacantes, int cartaElegida, Jugador jugador) { jugador.vida -= posiblesAtacantes[cartaElegida].ataque; }
static void Main(string[] args) { Console.WriteLine("Bienvenido al tateti para que fausto pruebe el lenguaje de programación c#"); Console.WriteLine(); Console.WriteLine("¿Quieres iniciar una partida?"); Console.WriteLine("si o no, fácil"); bool comenzar = false; while (!comenzar) { string entrada = Console.ReadLine().ToLower().Trim(); if (entrada.Equals("si")) { comenzar = true; Console.Clear(); } else if (entrada.Equals("no")) { Environment.Exit(0); } else { Console.Clear(); Console.WriteLine("Si o No, no es tan dificil bro"); Console.WriteLine("Dale mandale de nuevo, vos podés"); } } Console.WriteLine("¿Quieres jugar de a 2 o contra la maquina?"); Console.WriteLine("Ingresa Maquina o 2 segun quieras"); comenzar = false; while (!comenzar) { string entrada = Console.ReadLine().ToLower().Trim(); if (entrada.Equals("maquina")) { Console.Clear(); Console.WriteLine("jajajajaja te pensas que se hacer una IA para que juegue contra vos dale contate otra, largando de a 2"); Console.WriteLine(); Console.WriteLine(); comenzar = true; } else if (entrada.Equals("2")) { Console.Clear(); Console.WriteLine("Dale maquinola largando"); comenzar = true; } else { Console.WriteLine("Dale man poneme una de las 2 opciones no seas tan trolo"); } } //Registro de datos string nombre; Ficha ficha; //Jugador 1 Console.Write("jugador1 ingresa tu nombre: "); nombre = Console.ReadLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Si quieres ser el O ingresa 1, si quieres la X, 2: "); ficha = (Ficha)int.Parse(Console.ReadLine()); Jugador jugador1 = new Jugador(nombre, ficha); Console.Clear(); //Jugador 2 Console.Write("jugador2 ingresa tu nombre: "); nombre = Console.ReadLine(); if (ficha.Equals(Ficha.O)) { ficha = Ficha.X; } else { ficha = Ficha.O; } Jugador jugador2 = new Jugador(nombre, ficha); Console.Clear(); bool ganador = false; bool empate = false; Jugador jugador_ganador = null; Tablero tablero = new Tablero(); Console.WriteLine("El nombre del jugador 1 es: " + jugador1.Nombre); Console.WriteLine("La ficha asignada es: " + jugador1.Ficha); Console.WriteLine(); Console.WriteLine("El nombre del jugador 2 es: " + jugador2.Nombre); Console.WriteLine("La ficha asignada es: " + jugador2.Ficha); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Para colocar la ficha ingresa la posicion que figura en el tablero"); Console.WriteLine(); Console.WriteLine(); bool validar = true; while (!ganador || !empate) { //Turno jugador 1 do { tablero.imprimirTablero(); Console.Write("{0} ingresa una posición: ", jugador1.Nombre); if (!tablero.jugar(jugador1.Ficha, Console.ReadLine())) { Console.Clear(); Console.WriteLine("La posicion esta ocupada"); Console.WriteLine(); Console.WriteLine(); validar = false; } } while (!validar); if (tablero.hayGanador()) { ganador = true; jugador_ganador = jugador1; break; } if (tablero.hayEmpate()) { empate = true; break; } Console.Clear(); //Turno jugador 2 do { tablero.imprimirTablero(); Console.Write("{0} ingresa una posición: ", jugador2.Nombre); if (!tablero.jugar(jugador2.Ficha, Console.ReadLine())) { Console.Clear(); Console.WriteLine("La posicion esta ocupada"); Console.WriteLine(); Console.WriteLine(); validar = false; } } while (!validar); if (tablero.hayGanador()) { ganador = true; jugador_ganador = jugador2; break; } if (tablero.hayEmpate()) { empate = true; break; } Console.Clear(); } if (ganador) { Console.Clear(); tablero.imprimirTablero(); Console.WriteLine("Felicidades {0}, ganaste", jugador_ganador.Nombre); } else { Console.Clear(); tablero.imprimirTablero(); Console.WriteLine("Empate, unos mancos"); } }