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
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)
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)
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)
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
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
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, }
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)
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
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
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)
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
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)
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)
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)
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)
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)
def empty_map(): return gamemap.GameMap(width=10, height=10, fill_tile=tiles.floor)
def std_map(): return gamemap.GameMap(width=10, height=15)