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); }
/// <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); }
public PassiveWumpusBehavior(Wumpus wumpus, Map cave) { Wumpus = wumpus; map = cave; }
public ActiveWumpusBehavior(Wumpus wumpus, Map cave) { Wumpus = wumpus; Map = cave; }