Ejemplo n.º 1
0
def hidden_map():
    # Door pending

    #   0 1 2 3 4
    # 0 # # . # #
    # 1 # # b # #   b=hidden banana trap
    # 2 . + @ % .   +=hidden door, and %=hidden corridor
    # 3 # # ^ # #   ^=hidden bear trap
    # 4 # # . # #

    new_map = gamemap.GameMap(width=6, height=6, fill_tile=tiles.wall)
    floors = [(2, 0), (2, 1), (0, 2), (1, 2), (2, 2), (3, 2), (4, 2), (2, 3),
              (2, 4)]

    for x, y in floors:
        new_map.tiles[x, y] = tiles.floor

    # Create a player at 5, 5
    new_player = player.Player()
    new_map.place(new_player, 2, 2)
    new_map.player = new_player

    # Create bear trap at 2, 3
    new_trap = factory.make("bear trap")
    new_map.place(new_trap, 2, 3)

    return new_map
Ejemplo n.º 2
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)
Ejemplo n.º 3
0
def test_get_random_unoccupied_tile__1floor_1actor(test_player):
    m = gamemap.GameMap(width=3, height=3)
    m.tiles[0][0] = tiles.floor
    m.tiles[1][1] = tiles.floor
    m.place(test_player, 0, 0)

    result = m.get_random_unoccupied_tile()
    assert result == (1, 1)
Ejemplo n.º 4
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)
Ejemplo n.º 5
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
Ejemplo n.º 6
0
def test_map():
    # Door pending

    #   0 1 2 3 4 5
    # 0 # # . . . .
    # 1 # # . . . .
    # 2 . + . . . .
    # 3 # # . . # .
    # 4 # # . . # o
    # 5 # # x . . @

    new_map = gamemap.GameMap(width=6, height=6, fill_tile=tiles.floor)

    walls = [
        (0, 0),
        (1, 0),
        (0, 1),
        (1, 1),
        (0, 3),
        (1, 3),
        (4, 3),
        (0, 4),
        (1, 4),
        (4, 4),
        (0, 5),
        (1, 5),
    ]

    for x, y in walls:
        new_map.tiles[x, y] = tiles.wall

    # Create a player at 5, 5
    new_player = player.Player()
    new_map.place(new_player, 5, 5)
    new_map.player = new_player

    # Give the player items for testing
    dagger = factory.make("dagger")
    new_player.inventory.add_inv_item(dagger)

    leather_armor = factory.make("leather vest")
    new_player.inventory.add_inv_item(leather_armor)

    health_vial = factory.make("healing vial")
    new_player.inventory.add_inv_item(health_vial)

    # Create a grid bug at 2, 5
    factory.spawn("grid bug", new_map, 2, 5)

    # Create a spider drone at 5, 4
    factory.spawn("henchman", new_map, 5, 4)

    return new_map
Ejemplo n.º 7
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,
    }
Ejemplo n.º 8
0
def test_get_random_unoccupied_tile__1_valid_tile():
    m = gamemap.GameMap(width=3, height=3)
    m.tiles[1][1] = tiles.floor
    result = m.get_random_unoccupied_tile()
    assert result == (1, 1)
Ejemplo n.º 9
0
def test_get_random_unoccupied_tile__all_wall():
    m = gamemap.GameMap(width=3, height=3)
    result = m.get_random_unoccupied_tile()
    assert result is None
Ejemplo n.º 10
0
def test_on_edge_of_map__middle_of_map__returns_False():
    m = gamemap.GameMap(width=20, height=20)
    assert m.on_edge_of_map(x=10, y=10) is False
Ejemplo n.º 11
0
def test_on_edge_of_map__y_1off_from_height__returns_True():
    m = gamemap.GameMap(width=20, height=20)
    assert m.on_edge_of_map(x=5, y=19)
Ejemplo n.º 12
0
def stair_map():
    new_map = gamemap.GameMap(width=10, height=10, fill_tile=tiles.floor)
    new_map.tiles[0, 0] = tiles.up_stairs
    new_map.tiles[9, 9] = tiles.down_stairs

    return new_map
Ejemplo n.º 13
0
def test_valid_door_neighbors__next_to_floor__facing_east():
    m = gamemap.GameMap(width=20, height=20)
    r = room.Room(0, 0, 10, 3)
    m.rooms.append(r)
    m.tiles[9][0] = tiles.floor
    assert not m.valid_door_neighbors(r, 9, 1)
Ejemplo n.º 14
0
def test_valid_door_neighbors__no_closet_space_north():
    m = gamemap.GameMap(width=20, height=20)
    r = room.Room(0, 0, 10, 3)
    m.rooms.append(r)
    assert not m.valid_door_neighbors(r, 1, 0)
Ejemplo n.º 15
0
def test_valid_door_neighbors__corner_returns_false():
    m = gamemap.GameMap(width=20, height=20)
    r = room.Room(0, 0, 3, 3)
    m.rooms.append(r)
    assert not m.valid_door_neighbors(r, 0, 0)
Ejemplo n.º 16
0
def test_on_edge_of_map__y_is_0__returns_True():
    m = gamemap.GameMap(width=20, height=20)
    assert m.on_edge_of_map(x=5, y=0)
Ejemplo n.º 17
0
def test_on_edge_of_map__x_1off_from_width__returns_True():
    m = gamemap.GameMap(width=20, height=20)
    assert m.on_edge_of_map(x=19, y=5)
Ejemplo n.º 18
0
def empty_map():
    return gamemap.GameMap(width=10, height=10, fill_tile=tiles.floor)
Ejemplo n.º 19
0
def std_map():
    return gamemap.GameMap(width=10, height=15)