Example #1
0
        public void Reset()
        {
            Log.Info("Generating map...");
            Cave   = MapGenerator.GenerateRandomCave();
            Wumpus = new Wumpus(this);
            Player = new Player();

            PlayerRoomLocation = new Point(0, 0);
            MoveCount          = 0;

            Room FirstSafeRoom = GetPlayerStartRoom();

            if (FirstSafeRoom != null)
            {
                PlayerRoom = FirstSafeRoom.RoomID;
            }
            else
            {
                Log.Error("Couldn't find valid room to move player to!");
            }

            Wumpus.SetInitialPosition();
            CollectItemsFromRoom();
            PlayerPath.Clear();
            PlayerPath.Enqueue(PlayerRoom);
        }
Example #2
0
        /// <summary>
        ///     Moves the player relatively to a new room if this room connects to that room.
        /// </summary>
        /// <param name="dir"></param>
        public bool MovePlayer(int dir)
        {
            Room currentRoom = Cave.GetRoom(PlayerRoom);

            //if the room in the direction exists
            if (currentRoom.AdjacentRooms[dir] != -1)
            {
                //set our current room to that room
                PlayerRoom = Cave.GetRoom(currentRoom.AdjacentRooms[dir]).RoomID;

                //Wumpus has to move after the player does
                Wumpus.Move();

                // Update player tracking
                ProcessPlayerMove();

                return(true);
            }

            Wumpus.Move();
            return(false);
        }
Example #3
0
 public PassiveWumpusBehavior(Wumpus wumpus, Map cave)
 {
     Wumpus = wumpus;
     map    = cave;
 }
Example #4
0
 public ActiveWumpusBehavior(Wumpus wumpus, Map cave)
 {
     Wumpus = wumpus;
     Map    = cave;
 }