static bool EnemiesAttackPlayer(map m, player p) { int numeroDeEnemigos = m.GetNumEnemies(p.GetPosition()); //cuenta el numero de enemigos que hay en la dungeon donde se encuantra el jugador if (numeroDeEnemigos > 0) { int dañoDeEnemigos = m.ComputeDungeonDamage(p.GetPosition()); //suma los puntos de ataque de todos los enemigos de la dungeon p.ReciveDamage(dañoDeEnemigos); //el jugador recibe el daño return(true); //si hay enemigos } else { return(false); } }
static void Main(string[] args) { map mapa = new map(10, 3); //inicializa el mapa mapa.ReadMap("HauntedHouse.map"); //lee el mapa de archivo player ply = new player(); bool jugando = true; string[] comandos = { "go north", "go east", "go west", "go south", "enemies", "attack", "info", "status", "quit" }; Lista mem = new Lista(); Console.WriteLine("Que deseas hacer? Cargar partida de archivo(1) o jugar(2)"); int resp = int.Parse(Console.ReadLine()); if (resp == 1) { Lectura(ply, mapa, ref jugando, mem); } else { Console.Clear(); Console.WriteLine(mapa.GetDungeonInfo(ply.GetPosition()) + "\n"); //muestra la informacion de la dungeon en la que se encuantra el jugador } //Lectura(ply, mapa, ref jugando, ref mem); while (jugando) { Console.Write("> "); string comando = Console.ReadLine(); comando = comando.ToLower(); while (!ComandoValido(comandos, comando)) { Console.WriteLine("Comando no valido"); Console.Write("> "); comando = Console.ReadLine(); } //en el caso de recibir un comando no valido if (comando == "quit") { jugando = false; //el jugador sale del juego GrabaPartida(mem, "memory"); } else { ProcesaInput(comando, ply, mapa, mem); //procesa el input if (!ply.IsAlive()) //si has muerto tras el ataque { Console.Clear(); Console.WriteLine("Has muerto"); jugando = false; } else if (ply.atExit(mapa)) //si has llegado a una salida { Console.Clear(); jugando = false; Console.WriteLine("Enhorabuena, has encontrado una salida"); //si llegas a una salida se termina el juego } } } //bucle de juago }
static int PlayerAttackEnemies(map m, player p) { return(m.AttackEnemiesInDungeon(p.GetPosition(), Int32.Parse(p.GetATK()))); //devuelve el numero de enemigos que ha matado el jugador }
} //mueve al jugador usando el mapa public bool atExit(map mapa) { bool exit = mapa.isExit(pos); //mira si esa sala tiene salida return(exit); } //devuleve true si la sala en la que se encuantra al jugador tiene salida