コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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
        }
コード例 #3
0
 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
 }
コード例 #4
0
        }  //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