Example #1
0
        public EstrategiasDeAtaqueContexto(int tipo)
        {
            switch (tipo)
            {
            case (int)ATAQUE.Bombas: this.oAtacar = new EstrategiaBombas(); break;

            case (int)ATAQUE.Ojos: this.oAtacar = new EstrategiaOjitos(); break;

            default: this.oAtacar = null; break;
            }
        }
Example #2
0
        public void Jugar(Usuario contrincante)
        {
            mano = new List <Carta>();
            AgregarCartaMano(mazo[0]);
            mazo.RemoveAt(0);
            int manaUsado = 0;

            mana++;
            while (true)
            {
                Console.Write("¿Qué quiere hacer? (ingrese una opcion)");
                Console.Write("1. Usar Carta de la mano");
                Console.Write("2. Usar Habilidad");
                Console.Write("3. Usar Carta en juego");
                Console.Write("4. Terminar turno");
                Console.Write("5. Rendirse");
                int opcion = Console.Read();
                if (opcion == 1) //Elegir carta de la mano
                {
                    Console.Write("Elije una carta a usar");
                    for (int i = 0; i < mano.Count; i++)
                    {
                        Console.WriteLine(i.ToString() + " " + mano[i]);
                    }
                    int opcion2 = Console.Read();
                    if (mana - manaUsado - mano[opcion2].VerCantidadMana() >= 0)
                    {
                        manaUsado = manaUsado + mano[opcion2].VerCantidadMana();
                        UsarCarta(mano[opcion2]);
                        mano.RemoveAt(opcion2);
                    }
                    else
                    {
                        Console.Write("No hay suficiente mana");
                    }
                }
                else if (opcion == 2)              //usar habilidad heroe
                {
                    if (mana - manaUsado - 2 >= 0) //tiene suficiente mana para usar la habilidad
                    {
                        manaUsado = manaUsado + 2;
                        heroe.IHabilidad();
                    }
                    else //no tiene mana suficiente para usar habilidad
                    {
                        Console.Write("No hay suficiente mana");
                    }
                }
                else if (opcion == 3) //usar carta que esta en el juego
                {
                    for (int i = 0; i < cartasJuego.Count; i++)
                    {
                        Console.WriteLine(i.ToString() + " " + cartasJuego[i]);
                    }
                    int     opcion3 = Console.Read();
                    IAtacar atauqe  = cartasJuego[opcion3];
                    atauqe.Ataque();
                }
                else if (opcion == 4) //terminar el turno
                {
                    Console.Write("Terminó turno");
                    break;
                }
                else //rendirse
                {
                }
            }
        }
Example #3
0
 public void AtacarConBombas()
 {
     this.oAtacar = new EstrategiaBombas();
 }
Example #4
0
 //Genero los métodos para que implementen esa interfaz de acuerdo a la estrategia.
 public void AtacarConOjitos()
 {
     this.oAtacar = new EstrategiaOjitos();
 }