示例#1
0
def room_map():
    m = gamemap.GameMap(width=20, height=20)
    a = room.Room(0, 0, 3, 3)
    b = room.Room(4, 0, 3, 3)
    c = room.Room(0, 5, 3, 3)
    d = room.Room(4, 4, 3, 3)
    for i, r in enumerate([a, b, c, d]):
        r.label = i
        m.rooms.append(r)
    m.room_coords = m.room_coordinates()
    return m
示例#2
0
def test_vert_walls_4x4_room():
    r = room.Room(0, 0, 4, 4)
    result = r.vert_walls()
    assert result == {
        (0, 0), (0, 1), (0, 2), (0, 3),
        (3, 0), (3, 1), (3, 2), (3, 3),
    }
示例#3
0
def test_vert_walls_3x3_room():
    r = room.Room(0, 0, 3, 3)
    result = r.vert_walls()
    assert result == {
        (0, 0), (0, 1), (0, 2),
        (2, 0), (2, 1), (2, 2),
    }
示例#4
0
def test_horz_walls_4x4_room():
    r = room.Room(0, 0, 4, 4)
    result = r.horz_walls()
    assert result == {
        (0, 0), (1, 0), (2, 0), (3, 0),
        (0, 3), (1, 3), (2, 3), (3, 3),
    }
示例#5
0
def test_horz_walls_3x3_room():
    r = room.Room(0, 0, 3, 3)
    result = r.horz_walls()
    assert result == {
        (0, 0), (1, 0), (2, 0),
        (0, 2), (1, 2), (2, 2),
    }
示例#6
0
def test_valid_door_neighbors__next_to_floors__facing_south():
    m = gamemap.GameMap(width=20, height=20)
    r = room.Room(0, 0, 10, 3)
    m.rooms.append(r)
    m.tiles[3][2] = tiles.floor
    m.tiles[5][2] = tiles.floor
    assert not m.valid_door_neighbors(r, 4, 2)
示例#7
0
def test_floor_light_dict__4x4_room():
    r = room.Room(0, 0, 4, 4)
    assert r.floor_light_dict() == {
        (1, 1): {(0, 0), (1, 0), (0, 1)},
        (2, 1): {(2, 0), (3, 0), (3, 1)},
        (1, 2): {(0, 2), (0, 3), (1, 3)},
        (2, 2): {(3, 2), (2, 3), (3, 3)}
    }
示例#8
0
def test_all_coords__3x3_room():
    r = room.Room(0, 0, 3, 3)
    result = r.all_coords()
    assert result == [
        (0, 0), (0, 1), (0, 2),
        (1, 0), (1, 1), (1, 2),
        (2, 0), (2, 1), (2, 2),
    ]
示例#9
0
def test_perimeter_3x3_room():
    r = room.Room(0, 0, 3, 3)
    result = r.perimeter()
    assert result == {
        (0, 0), (1, 0), (2, 0),
        (0, 1), (2, 1),
        (0, 2), (1, 2), (2, 2),
    }
示例#10
0
def test_valid_door_neighbors__facing_east():
    m = gamemap.GameMap(width=10, height=10)
    r = room.Room(1, 1, 3, 3)
    m.rooms.append(r)
    # Need to set the tiles for the flanking check!
    m.tiles[3][1] = tiles.room_ne_corner
    m.tiles[3][3] = tiles.room_se_corner
    assert m.valid_door_neighbors(r, 3, 2)
示例#11
0
def test_floor_light_dict__3x3_room():
    r = room.Room(0, 0, 3, 3)
    assert r.floor_light_dict() == {
        (1, 1): {
            (0, 0), (1, 0), (2, 0),
            (0, 1), (2, 1),
            (0, 2), (1, 2), (2, 2)
        }
    }
示例#12
0
def test_perimeter_4x4_room():
    r = room.Room(0, 0, 4, 4)
    result = r.perimeter()
    assert result == {
        (0, 0), (1, 0), (2, 0), (3, 0),
        (0, 1), (3, 1),
        (0, 2), (3, 2),
        (0, 3), (1, 3), (2, 3), (3, 3)
    }
示例#13
0
def main():
    play = player.Player()
    done = False

    current_room = room.Room(True, False, False, False, "You are in a room.",
                             [])

    while not done:
        done = command.read_cmd(input("> ").split(" "), current_room, play)
示例#14
0
def test_wall_light_dict__3x3_room():
    r = room.Room(0, 0, 3, 3)
    assert r.wall_light_dict() == {
        (0, 0): (1, 1),
        (1, 0): (1, 1),
        (2, 0): (1, 1),
        (0, 1): (1, 1),
        (2, 1): (1, 1),
        (0, 2): (1, 1),
        (1, 2): (1, 1),
        (2, 2): (1, 1),
    }
示例#15
0
def test_wall_light_dict__4x4_room():
    r = room.Room(0, 0, 4, 4)
    assert r.wall_light_dict() == {
        (0, 0): (1, 1),
        (1, 0): (1, 1),
        (2, 0): (2, 1),
        (3, 0): (2, 1),
        (0, 1): (1, 1),
        (3, 1): (2, 1),
        (0, 2): (1, 2),
        (3, 2): (2, 2),
        (0, 3): (1, 2),
        (1, 3): (1, 2),
        (2, 3): (2, 2),
        (3, 3): (2, 2)
    }
示例#16
0
def test_room_coordinates():
    m = gamemap.GameMap(width=20, height=20)
    r = room.Room(0, 0, 3, 3)
    m.rooms.append(r)

    result = m.room_coordinates()
    assert result == {
        (0, 0): r,
        (0, 1): r,
        (0, 2): r,
        (1, 0): r,
        (1, 1): r,
        (1, 2): r,
        (2, 0): r,
        (2, 1): r,
        (2, 2): r,
    }
示例#17
0
def test_inner_4x3_square_room():
    r = room.Room(0, 0, 4, 3)
    inner = r.inner
    assert inner[0] == slice(1, 3, None)  # x slice
    assert inner[1] == slice(1, 2, None)  # y slice
示例#18
0
def test_corners():
    r = room.Room(0, 0, 3, 3)
    assert r.corners() == {(0, 0), (0, 2), (2, 0), (2, 2)}
示例#19
0
def test_inner_4x4_square_room():
    r = room.Room(0, 0, 4, 4)
    inner = r.inner
    assert len(inner) == 2  # We should get a Tuple length 2
    assert inner[0] == slice(1, 3, None)  # x slice
    assert inner[1] == slice(1, 3, None)  # y slice
示例#20
0
def test_sw_corner():
    r = room.Room(0, 0, 3, 3)
    assert r.sw_corner == (0, 2)
示例#21
0
def test_se_corner():
    r = room.Room(0, 0, 3, 3)
    assert r.se_corner == (2, 2)
示例#22
0
def test_nw_corner():
    r = room.Room(0, 0, 3, 3)
    assert r.nw_corner == (0, 0)
示例#23
0
def test_ne_corner():
    r = room.Room(0, 0, 3, 3)
    assert r.ne_corner == (2, 0)
示例#24
0
def test_Room_init():
    r = room.Room(0, 0, 3, 3)
    assert r
示例#25
0
def test_center():
    r = room.Room(0, 0, 3, 3)
    center = (1, 1)
    assert r.center == center
示例#26
0
def test_init_low_h_raises_ValueError():
    with pytest.raises(ValueError):
        room.Room(2, 2, 3, 2)
示例#27
0
def test_init_negative_y_raises_ValueError():
    with pytest.raises(ValueError):
        room.Room(2, -2, 2, 2)
示例#28
0
def test_direction_facing__inner_point_returns_None():
    r = room.Room(0, 0, 3, 3)
    assert r.direction_facing(1, 1) is None
示例#29
0
def test_direction_facing__corner_returns_None():
    r = room.Room(0, 0, 3, 3)
    assert r.direction_facing(0, 0) is None
示例#30
0
def test_init_y2():
    r = room.Room(0, 0, 5, 10)
    assert r.y2 == 9