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"); } }
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"); } }
// 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; } } }