コード例 #1
0
 //Este método activa un efecto de habilidad:
 public virtual void Habilidad(string habilidad, int x, List <Objeto> objetivos)
 {
     if (habilidad == "druida")
     {
         (objetivos[0] as Heroe).ataque   += 1;
         (objetivos[0] as Heroe).armadura += 1;
     }
     else if (habilidad == "equipa")
     {
         (objetivos[0] as Heroe).ataque   = 1;
         (objetivos[0] as Heroe).duracion = 2;
     }
     else if (habilidad == "invoca")
     {
         for (int i = 0; i < x; i++)
         {
             Esbirro invocado = (Esbirro)objetivos[1];
             (objetivos[0] as Heroe).campo.Add(new Esbirro(invocado.nombre, invocado.costo, invocado.dueño, invocado.vida, invocado.ataque, invocado.provocacion, invocado.habilidades, invocado.objetivo, invocado.canthabilidad, invocado.descripcion, invocado.imagen));
         }
     }
     else if (habilidad != null)
     {
         foreach (Objeto objetivo in objetivos)
         {
             if (objetivo is Heroe heroe)
             {
                 if (habilidad == "daña")
                 {
                     heroe.RecibirDaño(x);
                 }
                 else if (habilidad == "suma vida")
                 {
                     if (heroe.vida + x > heroe.maxvida)
                     {
                         heroe.vida = heroe.maxvida;
                     }
                     else
                     {
                         heroe.vida += x;
                     }
                 }
                 else if (habilidad == "suma mana")
                 {
                     heroe.mana += x;
                 }
                 else if (habilidad == "suma ataque")
                 {
                     heroe.ataque += x;
                 }
                 else if (habilidad == "suma armadura")
                 {
                     heroe.armadura += x;
                 }
                 else if (habilidad == "roba carta")
                 {
                     for (int i = 1; i <= x; i++)
                     {
                         heroe.Robar();
                     }
                 }
                 else
                 {
                     habilidad = null;
                 }
             }
             if (objetivo is Esbirro esbirro)
             {
                 if (habilidad == "daña")
                 {
                     esbirro.RecibirDaño(x);
                 }
                 else if (habilidad == "suma vida")
                 {
                     if (esbirro.vida + x > esbirro.maxvida)
                     {
                         esbirro.vida = esbirro.maxvida;
                     }
                     else
                     {
                         esbirro.vida += x;
                         if (esbirro.vida <= 0)
                         {
                             esbirro.Morir();
                         }
                     }
                 }
                 else
                 {
                     habilidad = null;
                 }
             }
         }
     }
 }
コード例 #2
0
        //Método para definir las caracteristicas de un héroe a un jugador:
        public void DefinirHeroe(Heroe jug, string nombre, string heroe)
        {
            //Verificando que se haya ingresado un nombre y no sea el mismo del jugador anterior:
            if (TBOnombre.Text == "")
            {
                Lporfa.Visibility = Visibility.Visible;
            }
            else if (TBOnombre.Text == jug.enemigo.nombre)
            {
                Lporfa2.Visibility = Visibility.Visible;
            }
            else
            {
                //Se modifica la ventana:
                Lporfa.Visibility = Visibility.Hidden;
                Lporfa.Visibility = Visibility.Hidden;
                TBLjugador.Text   = "Jugador2";
                TBOnombre.Text    = "";

                List <Carta>          tempmazo          = new List <Carta>();
                List <string>         temphabilidad     = new List <string>();
                List <int>            tempcanthabilidad = new List <int>();
                List <List <Objeto> > tempobjetivos     = new List <List <Objeto> >();


                //Se modifica las caracteristicas del heroe según la opción elegida (cambiar imagen para cada uno):
                if (heroe == "cazador")
                {
                    jug.descripcion = "Inflige 2 de daño al heroe enemigo";
                    jug.heroe       = "Cazador";
                    temphabilidad.Add("daña");
                    List <Objeto> tempobjetivo = new List <Objeto>();
                    tempobjetivo.Add(jug.enemigo);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(2);
                }
                else if (heroe == "guerrero")
                {
                    jug.descripcion = "Obtiene 2 de armadura";
                    jug.heroe       = "Guerrero";
                    temphabilidad.Add("suma armadura");
                    List <Objeto> tempobjetivo = new List <Objeto>();
                    tempobjetivo.Add(jug);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(2);
                }
                else if (heroe == "paladin")
                {
                    jug.heroe       = "Paladin";
                    jug.descripcion = "Invoca un Recluta de la Mano de Plata 1/1";
                    temphabilidad.Add("invoca");
                    List <Objeto> tempobjetivo = new List <Objeto>();
                    Esbirro       tempesbirro1 = new Esbirro("Recluta de la Mano de Plata", 1, jug, 1, 1, false, null, null, null, null, null); //Cambiar null final por imagen.
                    tempobjetivo.Add(jug);
                    tempobjetivo.Add(tempesbirro1);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(1);
                }
                else if (heroe == "mago")
                {
                    jug.descripcion = "Inflige 1 de daño";
                    jug.heroe       = "Mago";
                    temphabilidad.Add("daña");
                    tempcanthabilidad.Add(1);
                }
                else if (heroe == "sacerdote")
                {
                    jug.descripcion = "Restaura 2 de vida";
                    jug.heroe       = "Sacerdote";
                    temphabilidad.Add("suma vida");
                    tempcanthabilidad.Add(2);
                }
                else if (heroe == "brujo")
                {
                    jug.descripcion = "Pierdes 2 de vida, roba una carta";
                    jug.heroe       = "Brujo";

                    temphabilidad.Add("daña");
                    List <Objeto> tempobjetivo = new List <Objeto>();
                    tempobjetivo.Add(jug);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(2);

                    temphabilidad.Add("roba carta");
                    tempobjetivo = new List <Objeto>();
                    tempobjetivo.Add(jug);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(1);
                }
                else if (heroe == "rogue")
                {
                    jug.heroe       = "Pícaro";
                    jug.descripcion = "Equipas una Daga 1/2";
                    temphabilidad.Add("equipa");
                    List <Objeto> tempobjetivo = new List <Objeto>();
                    tempobjetivo.Add(jug);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(2);
                }
                else if (heroe == "druida")
                {
                    jug.heroe       = "Druida";
                    jug.descripcion = "Obtienes 1 de ataque y armadura";
                    temphabilidad.Add("druida");
                    List <Objeto> tempobjetivo = new List <Objeto>();
                    tempobjetivo.Add(jug);
                    tempobjetivos.Add(tempobjetivo);
                    tempcanthabilidad.Add(2);
                }

                jug.mazo          = tempmazo;
                jug.objetivo      = tempobjetivos;
                jug.habilidades   = temphabilidad;
                jug.canthabilidad = tempcanthabilidad;
                jug.nombre        = nombre;
                //Creando el mazo (cambiar imagen para cada uno):
                Esbirro tempesbirro = null;
                //3 wisp:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Wisp", 0, jug, 1, 1, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 murloc raider:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Murloc raider", 1, jug, 1, 2, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 Bloodfen Raptor:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Bloodfen Raptor", 2, jug, 2, 3, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 River Crocolist:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("River Crocolist", 2, jug, 3, 2, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 Magma Rager:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Magma Rager", 3, jug, 1, 5, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 ChillWind Yeti:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Chillwind Yeti", 4, jug, 5, 4, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 Oasis Snapjaw:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Oasis Snapjaw", 4, jug, 7, 2, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 Boulderfist Ogre:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Boulderfist Ogre", 6, jug, 7, 6, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 War Golem:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("War Golem", 7, jug, 7, 7, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                //3 Core Hound:
                for (int ii = 0; ii <= 2; ii++)
                {
                    tempesbirro = new Esbirro("Core Hound", 7, jug, 5, 9, false, null, null, null, null, null);
                    jug.mazo.Add(tempesbirro);
                }
                jug.mazo = DesordenarLista(jug.mazo);
                //Cada jugador roba 3 cartas:
                for (int ii = 0; ii <= 2; ii++)
                {
                    jug.Robar();
                }
                coin.Add(jug);

                if (jug == j1)
                {
                    TBLnj1.Text = jug.nombre;
                    TBLhj1.Text = jug.heroe;
                }

                if (jug == j2)
                {
                    TBLnj2.Text = jug.nombre;
                    TBLhj2.Text = jug.heroe;
                    //Seguro()//
                    EmpezarPartida();
                }
            }
        }