예제 #1
0
 public void Ataque(TipoAtaque ataque, Habilidad habilidad, Jugador j)
 {
     if (habilidad.getGasto() <= stamina)
     {
         CambiarStamina(habilidad.getGasto());
         ataque.Attack(AttackBase, habilidad);
         ataque.Hability(habilidad, j.bitmonActivo());
     }
     else
     {
         Console.WriteLine("No te alcanza la Stamina \n Perdiste tu turno");
     }
 }
예제 #2
0
 public void Habilidad(TipoAtaque especial, Habilidad habilidad, List <Bitmon> equipo)
 {
     if (habilidad.getGasto() <= stamina)
     {
         CambiarStamina(habilidad.getGasto());
         foreach (Bitmon bb in equipo)
         {
             if (bb.nombre == nombre)
             {
                 continue;
             }
             bb.CambiarVida(especial.Attack(AttackBase, habilidad));
             especial.Hability(habilidad, bb);
         }
     }
     else
     {
         Console.WriteLine("No te alcanza la Stamina \n Perdiste tu turno");
     }
 }
예제 #3
0
        // Es el metodo que permite al jugador elegir que hacer en el juego
        public void Estrategia(Jugador jEnemigo)
        {
            Console.WriteLine("Que movimiento deseas hacer {0}?:\n [1] Cambiar Bitmom activo \n [2] Atacar \n [3] Ver info Bitmoms \n [4] Guardar Partida \n [5] Descansar Bitmon");
            ElegirJugada(5);

            //[1] Cambiar Bitmom activo \n [2] Atacar \n [3] Ver info Bitmoms \n [4] Guardar partida \n [5] Descansar
            if (jugada == 1)
            {
                CambiarBitmom();
            }
            else if (jugada == 2)//Atacar
            {
                TipoAtaque.getHabilidades(bitmomActivo.getNaturaleza());
                ElegirJugada(3);
                int habilidad1 = 0;
                foreach (Habilidad h in TipoAtaque.habilidades)//selecciono la posicion de la habilidad escogida dentro de lista de habilidades
                {
                    if (jugada == 1 && h.naturaleza == bitmomActivo.getNaturaleza())
                    {
                        jugada = habilidad1;
                        break;
                    }
                    if (h.naturaleza == bitmomActivo.getNaturaleza())
                    {
                        jugada -= 1;
                    }
                    habilidad1 += 1;
                }
                if (TipoAtaque.habilidades[jugada].getTipo())
                {
                    TipoAtaque n = new Normal();
                    bitmomActivo.Ataque(n, TipoAtaque.habilidades[jugada], jEnemigo);
                }
                else
                {
                    TipoAtaque e           = new Especial();
                    string     pierdeTurno = TipoAtaque.habilidades[jugada].getOperAttack();
                    char       pierde      = pierdeTurno[0];
                    if (Convert.ToInt32(pierde) == 97)//revisa si empieza con una "a"
                    {
                        //en caso que el jugador que este jugando pierda turno es facil de cambiar
                        //habria que agregarle otro char al getOperAttack para revisar a que jugador corresponde aplicarlo
                        //y poner turnosPerdidos = Convert.ToInt32(turno) - 48;
                        char turno = pierdeTurno[1];                           //la cantidad de turnos perdido hay que restarle 48
                        jEnemigo.turnosPerdidos = Convert.ToInt32(turno) - 48; //turnos es la cantidad de turnos que se pierden
                    }
                    bitmomActivo.Habilidad(e, TipoAtaque.habilidades[jugada], equipo);
                }
            }
            else if (jugada == 3)
            {
                verEquipo();
            }
            else if (jugada == 4)
            {
                Console.WriteLine("Guardar partida");// FALTA POR HACER
                //Guardar partida
            }
            else if (jugada == 5)
            {
                bitmomActivo.Descansar();
            }

            foreach (Bitmon bb in equipo) //al final de cada turno los bitmon sufriran los efectos de habilidad
            {
                if (bb.estado > 0)        //reducir vida
                {
                    bb.CambiarVida(5);
                    bb.estado -= 1;
                }
                else if (bb.estado < 0)//aumentar vida
                {
                    bb.CambiarVida(-5);
                    bb.estado += 1;
                }
            }
        }