예제 #1
0
        public void Agregarcartalado(Jugador jugador, int indice)
        {
            if (Tablerojugador.Count == 7)
            {
                MessageBox.Show("Ha llegado al maximo de cartas en el tablero");
            }
            else
            {
                if (Mano.ElementAt(indice).costo <= gema)
                {
                    if (Mano.ElementAt(indice).tipo == "Esbirro")
                    {
                        Carta aux = Mano.ElementAt(indice);
                        if (aux.GetType().Equals(typeof(Esbirro)))
                        {
                            Esbirro esbirro = (Esbirro)aux;
                            Tablerojugador.Add(esbirro);
                            jugador.gema = jugador.gema - Mano.ElementAt(indice).costo;
                            Mano.RemoveAt(indice);
                        }

                        else
                        {
                        }
                    }
                    else
                    {
                        Carta aux = Mano.ElementAt(indice);
                        if (aux.GetType().Equals(typeof(Hechizo)))
                        {
                            Hechizo hechizo = (Hechizo)aux;
                            if (jugador.gema < 10)
                            {
                                hechizo.HabilidadMoneda(jugador);
                                jugador.gema = jugador.gema - Mano.ElementAt(indice).costo;
                                Mano.RemoveAt(indice);
                            }
                            else
                            {
                                MessageBox.Show("Ya tienes el maximo de gema");
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("No tienes suficiente gema");
                }
            }
        }
예제 #2
0
        public void HabilidadHeroe(Jugador jugador1, Jugador jugador2, int indiceJ1, int indiceJ2, int eleccion)
        {
            if (jugador1.habilidadheroe == "Steady Shot")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                if (jugador2.defensa <= 0)
                {
                    jugador2.vida -= 2;
                    if (jugador2.vida <= 0)
                    {
                        jugador2.ganper = true;
                        MessageBox.Show(jugador1.nombrejugador + " gano la partida");
                        Application.Current.Shutdown();
                    }
                }

                else
                {
                    jugador2.defensa -= 2;
                    if (jugador2.defensa <= 0)
                    {
                        jugador2.vida   += jugador2.defensa;
                        jugador2.defensa = 0;
                        if (jugador2.vida <= 0)
                        {
                            jugador2.ganper = true;
                            MessageBox.Show(jugador1.nombrejugador + " gano la partida");
                            Application.Current.Shutdown();
                        }
                    }
                }
            }
            else if (jugador1.habilidadheroe == "Armor Up!")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                jugador1.defensa       += 2;
            }
            else if (jugador1.habilidadheroe == "Lesser Heal")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                if (eleccion == 1)
                {
                    if (jugador1.vida <= 28)
                    {
                        jugador1.vida += 2;
                    }
                    else
                    {
                        jugador1.vida = 30;
                    }
                }
                else
                {
                    jugador1.Tablerojugador[indiceJ1].defensa += 2;
                    if (jugador1.Tablerojugador[indiceJ1].defensa >= jugador1.Tablerojugador[indiceJ1].maxdefensa)
                    {
                        jugador1.Tablerojugador[indiceJ1].defensa = jugador1.Tablerojugador[indiceJ1].maxdefensa;
                    }
                }
            }
            else if (jugador1.habilidadheroe == "Life Tap")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                jugador1.Agregarcartamano();
                jugador1.vida = jugador1.vida - 2;
                if (jugador1.vida <= 0)
                {
                    jugador1.ganper = true;
                    MessageBox.Show(jugador2.nombrejugador + " gano la partida");
                    Application.Current.Shutdown();
                }
            }
            else if (jugador1.habilidadheroe == "Fireblast")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                if (eleccion == 1)
                {
                    if (jugador2.defensa <= 0)
                    {
                        jugador2.vida -= 1;
                        if (jugador2.vida <= 0)
                        {
                            jugador2.ganper = true;
                            MessageBox.Show(jugador1.nombrejugador + " gano la partida");
                            Application.Current.Shutdown();
                        }
                    }

                    else
                    {
                        jugador2.defensa -= 1;
                        if (jugador2.defensa <= 0)
                        {
                            jugador2.vida   += jugador2.defensa;
                            jugador2.defensa = 0;
                            if (jugador2.vida <= 0)
                            {
                                jugador2.ganper = true;
                                MessageBox.Show(jugador1.nombrejugador + " gano la partida");
                                Application.Current.Shutdown();
                            }
                        }
                    }
                }
                else
                {
                    jugador2.Tablerojugador[indiceJ2].defensa -= 1;
                    jugador2.Morir(jugador2, indiceJ2);
                }
            }
            else if (jugador1.habilidadheroe == "Shapeshift")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                jugador1.defensa        = jugador1.defensa + 1;
                if (eleccion == 1)
                {
                    if (jugador2.defensa <= 0)
                    {
                        jugador2.vida -= 1;
                        if (jugador2.vida <= 0)
                        {
                            jugador2.ganper = true;
                            MessageBox.Show(jugador1.nombrejugador + " gano la partida");
                            Application.Current.Shutdown();
                        }
                    }

                    else
                    {
                        jugador2.defensa -= 1;
                    }
                }
                else
                {
                    jugador2.Tablerojugador[indiceJ2].defensa -= 1;
                    if (jugador1.defensa <= 0)
                    {
                        jugador1.vida -= jugador2.Tablerojugador[indiceJ2].ataque;
                        if (jugador1.vida <= 0)
                        {
                            jugador1.ganper = true;
                            MessageBox.Show(jugador2.nombrejugador + " gano la partida");
                            Application.Current.Shutdown();
                        }
                    }

                    else
                    {
                        jugador1.defensa -= jugador2.Tablerojugador[indiceJ2].ataque;
                        if (jugador1.defensa <= 0)
                        {
                            jugador1.vida   += jugador1.defensa;
                            jugador1.defensa = 0;
                            if (jugador1.vida <= 0)
                            {
                                jugador1.ganper = true;
                                MessageBox.Show(jugador2.nombrejugador + " gano la partida");
                                Application.Current.Shutdown();
                            }
                        }
                    }
                    jugador2.Morir(jugador2, indiceJ2);
                }
            }
            else if (jugador1.habilidadheroe == "Reinforce")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                Esbirro SilverHandRecruit = new Esbirro();
                SilverHandRecruit.nombre    = "Silver Hand Recruit";
                SilverHandRecruit.costo     = 1;
                SilverHandRecruit.ataque    = 1;
                SilverHandRecruit.defensa   = 1;
                SilverHandRecruit.tipo      = "Esbirro";
                SilverHandRecruit.subtipo   = null;
                SilverHandRecruit.despierto = false;
                SilverHandRecruit.ataco     = false;
                jugador1.Tablerojugador.Add(SilverHandRecruit);
            }
            else if (jugador1.habilidadheroe == "Dagger Mastery")
            {
                if (eleccion == 1)
                {
                    if (jugador2.defensa <= 0)
                    {
                        jugador2.vida -= 1;
                        if (jugador2.vida <= 0)
                        {
                            jugador2.ganper = true;
                            MessageBox.Show(jugador1.nombrejugador + " gano la partida");
                            Application.Current.Shutdown();
                        }
                    }

                    else
                    {
                        jugador2.defensa -= 1;
                    }
                }
                else
                {
                    jugador2.Tablerojugador[indiceJ2].defensa -= 1;
                    if (jugador1.defensa <= 0)
                    {
                        jugador1.vida -= jugador2.Tablerojugador[indiceJ2].ataque;
                        if (jugador1.vida <= 0)
                        {
                            jugador1.ganper = true;
                            MessageBox.Show(jugador2.nombrejugador + " gano la partida");
                            Application.Current.Shutdown();
                        }
                    }

                    else
                    {
                        jugador1.defensa -= jugador2.Tablerojugador[indiceJ2].ataque;
                        if (jugador1.defensa <= 0)
                        {
                            jugador1.vida   += jugador1.defensa;
                            jugador1.defensa = 0;
                            if (jugador1.vida <= 0)
                            {
                                jugador1.ganper = true;
                                MessageBox.Show(jugador2.nombrejugador + " gano la partida");
                                Application.Current.Shutdown();
                            }
                        }
                    }
                    jugador2.Morir(jugador2, indiceJ2);
                }
            }
            else if (jugador1.habilidadheroe == "Totemic Call")
            {
                jugador1.habilidadusada = true;
                jugador1.gema           = jugador1.gema - 2;
                Esbirro Healingtotem = new Esbirro();
                Healingtotem.nombre    = "Healing Totem";
                Healingtotem.costo     = 1;
                Healingtotem.ataque    = 0;
                Healingtotem.defensa   = 2;
                Healingtotem.tipo      = "Esbirro";
                Healingtotem.subtipo   = null;
                Healingtotem.despierto = false;
                Healingtotem.ataco     = false;
                jugador1.Tablerojugador.Add(Healingtotem);
            }
        }