Exemplo n.º 1
0
        static void ProcesaInput(string com, player p, map m, Lista mem)
        {
            if (com == "go north")
            {
                Console.Clear();
                p.Move(m, Direction.North);                                  //mueve al jugador
                EnemiesAttackPlayer(m, p);                                   //si hay enemigos en la dungeon donde se encuentra el jugador, estos le atacan
                Console.WriteLine(m.GetDungeonInfo(p.GetPosition()) + "\n"); //muestra la informacion de la dungeon en la que se encuantra el jugador
            } //norte
            else if (com == "go east")
            {
                Console.Clear();
                p.Move(m, Direction.East);                                   //mueve al jugador
                EnemiesAttackPlayer(m, p);                                   //si hay enemigos en la dungeon donde se encuentra el jugador, estos le atacan
                Console.WriteLine(m.GetDungeonInfo(p.GetPosition()) + "\n"); //muestra la informacion de la dungeon en la que se encuantra el jugador
            } //este
            else if (com == "go south")
            {
                Console.Clear();
                p.Move(m, Direction.South);                                  //mueve al jugador
                EnemiesAttackPlayer(m, p);                                   //si hay enemigos en la dungeon donde se encuentra el jugador, estos le atacan
                Console.WriteLine(m.GetDungeonInfo(p.GetPosition()) + "\n"); //muestra la informacion de la dungeon en la que se encuantra el jugador
            } //sur
            else if (com == "go west")
            {
                Console.Clear();
                p.Move(m, Direction.West);                                   //mueve al jugador
                EnemiesAttackPlayer(m, p);                                   //si hay enemigos en la dungeon donde se encuentra el jugador, estos le atacan
                Console.WriteLine(m.GetDungeonInfo(p.GetPosition()) + "\n"); //muestra la informacion de la dungeon en la que se encuantra el jugador
            } //oeste
            else if (com == "enemies")
            {
                Console.WriteLine(m.GetEnemiesInfo(p.GetPosition()) + "\n");  //mustra la informacion de todos los enemigos que hay en la dungeon donde se encuantra el jugador
            }
            else if (com == "attack")
            {
                Console.WriteLine("Numero de enemigos eliminados " + PlayerAttackEnemies(m, p) + "\n"); //ataca a los enemigos que se encuantran en la dungeon
                EnemiesAttackPlayer(m, p);                                                              //si hay enemigos en la dungeon donde se encuentra el jugador, estos le atacan
            } //atacar
            else if (com == "status")
            {
                Console.WriteLine(p.PrintStatus() + "\n");  //imprime status del jugador
            }
            else if (com == "info")
            {
                Console.WriteLine(m.GetDungeonInfo(p.GetPosition()) + "\n"); //muestra la informacion de la dungeon en la que se encuantra el jugador
                Console.WriteLine(m.GetMoves(p.GetPosition()) + "\n");       //muestra las posibles direcciones en las que se pueden mover el jugador
            }

            if (com.Contains("go") || com.Contains("attack"))
            {
                GuardaProgreso(mem, com);
            }
        }
Exemplo n.º 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
        }