public void MoveForward(ISentientEntity TheWarrior, Room TheRoom) { var oldCoordinates = TheRoom.GetCoordinatesOf(TheWarrior); var newCoordinates = oldCoordinates.Compute(TheWarrior.CurrentDirection, 1); if (!(TheRoom.GetEntityAtCoordinate(newCoordinates) is Wall)) { TheRoom.MoveEntity(oldCoordinates, newCoordinates); } }
public void ExitRoom(Warrior TheWarrior, Room TheRoom) { var currentCoordinates = TheRoom.GetCoordinatesOf(TheWarrior); var currentUnit = TheRoom.GetUnitAt(currentCoordinates); if (currentUnit is ExitPoint) { TheRoom.Remove(TheWarrior); } }
public void MoveForward(ISentientEntity TheWarrior, Room TheRoom) { var oldCoordinates = TheRoom.GetCoordinatesOf(TheWarrior); var newCoordinates = oldCoordinates.Compute(TheWarrior.CurrentDirection, 1); if(!(TheRoom.GetEntityAtCoordinate(newCoordinates) is Wall)) TheRoom.MoveEntity(oldCoordinates, newCoordinates); }
public WorldCoordinates GetCoordinatesOf(IEntity theWarrior, Room theRoom) { return theRoom.GetCoordinatesOf(theWarrior); }
public void ExitRoom(Warrior TheWarrior, Room TheRoom) { var currentCoordinates = TheRoom.GetCoordinatesOf(TheWarrior); var currentUnit = TheRoom.GetUnitAt(currentCoordinates); if (currentUnit is ExitPoint) { TheRoom.Remove(TheWarrior); } }
public WorldCoordinates GetCoordinatesOf(IEntity theWarrior, Room theRoom) { return(theRoom.GetCoordinatesOf(theWarrior)); }