Esempio n. 1
0
    private Room SetLockedDoor(Room room, Direction direction)
    {
        switch (direction)
        {
        case Direction.N:
            room.doors.lockN = '-';
            break;

        case Direction.S:
            room.doors.lockS = '-';
            break;

        case Direction.E:
            room.doors.lockE = '|';
            break;

        case Direction.W:
            room.doors.lockW = '|';
            break;

        default:
            break;
        }
        room.SetDoorInDirection(direction);
        return(room);
    }
Esempio n. 2
0
    private Room JoinRooms(LinkedListNode <int[]> node1,
                           LinkedListNode <int[]> node2, Room room)
    {
        Direction direction = GetDoorDirection(node2, node1);

        room.SetDoorInDirection(direction);

        return(room);
    }
Esempio n. 3
0
 public void SetLockedDoors(Map map, List <int[]> lockedDoorLocations)
 {
     foreach (var location in lockedDoorLocations)
     {
         Room             room       = map[location];
         List <Direction> directions = room.doors.direction;
         Direction        direction  = directions.ElementAt(random.Next(directions.Count));
         map[location] = SetLockedDoor(room, direction);
     }
 }