Exemplo n.º 1
0
def get_top(bottom, pos):
    if bottom == Bottom_Tile.water_bottom:
        new_tile = get_water_tile()
        new_tile.insert(0, pos)
        return new_tile
    elif bottom == Bottom_Tile.waterL_sandR_bottom:
        return general_map_methods.get_random_tile(island_tiles.waterL_ysandR_top, pos)
    elif bottom == Bottom_Tile.waterR_sandL_bottom:
        return general_map_methods.get_random_tile(island_tiles.waterR_ysandL_top, pos)
    elif bottom == Bottom_Tile.sand_bottom:
        return general_map_methods.get_random_tile(island_tiles.ysand_top, pos)
Exemplo n.º 2
0
def create_tile_map(map_size_y, map_size_x):
    for i in range(map_size_y):
        for j in range(map_size_x):
            pos = (GD_STEP_SIZE * i) + j
            chosen_tile = []
            # set overlap tiles

            if i == 0 and j == 0:
                # left top tile
                chosen_tile.append(pos)
                chosen_tile.append(castle_tiles.castle_tiles["lt"][0])
                chosen_tile.append(castle_tiles.castle_tiles["lt"][1])
            elif i == map_size_y - 1 and j == map_size_x - 1:
                # right bottom tile
                chosen_tile.append(pos)
                chosen_tile.append(castle_tiles.castle_tiles["rb"][0])
                chosen_tile.append(castle_tiles.castle_tiles["rb"][1])
            elif i == map_size_y - 1 and j == 0:
                # left bottom tile
                chosen_tile.append(pos)
                chosen_tile.append(castle_tiles.castle_tiles["lb"][0])
                chosen_tile.append(castle_tiles.castle_tiles["lb"][1])
            elif i == 0 and j == map_size_x - 1:
                # right top tile
                chosen_tile.append(pos)
                chosen_tile.append(castle_tiles.castle_tiles["rt"][0])
                chosen_tile.append(castle_tiles.castle_tiles["rt"][1])
            elif i == 0:
                chosen_tile = general_map_methods.get_random_tile(
                    castle_tiles.castle_full, pos)
            elif j == 0:
                chosen_tile = general_map_methods.get_random_tile(
                    castle_tiles.castle_lh, pos)
            elif i == map_size_y - 1:
                chosen_tile = general_map_methods.get_random_tile(
                    castle_tiles.castle_full, pos)
            elif j == map_size_x - 1:
                chosen_tile = general_map_methods.get_random_tile(
                    castle_tiles.castle_rh, pos)

            ground_tile = general_map_methods.get_road_tile()
            ground_tile.insert(0, pos)

            if len(ground_tile) > 0:
                for part in ground_tile:
                    floor_map.append(part)

            if len(chosen_tile) > 0:
                for part in chosen_tile:
                    wall_map.append(part)

    return [wall_map, floor_map]
Exemplo n.º 3
0
def get_top(bottom, pos):
    if bottom == Bottom_Tile.grass_bottom:
        return general_map_methods.get_random_tile(
            ground_road_grass_tiles.grass_top, pos)
    elif bottom == Bottom_Tile.grassL_sandR_bottom:
        return general_map_methods.get_random_tile(
            ground_road_grass_tiles.grassL_sandR_top, pos)
    elif bottom == Bottom_Tile.grassR_sandL_bottom:
        return general_map_methods.get_random_tile(
            ground_road_grass_tiles.grassR_sandL_top, pos)
    elif bottom == Bottom_Tile.sand_bottom:
        return general_map_methods.get_random_tile(
            ground_road_grass_tiles.sand_top, pos)
Exemplo n.º 4
0
def get_top(bottom, pos):
    if bottom == Bottom_Tile.empty_bottom:
        return general_map_methods.get_random_tile(
            lava_tiles.black_empty_top_canyon, pos)
    elif bottom == Bottom_Tile.canyon_bottom:
        return general_map_methods.get_random_tile(
            lava_tiles.black_ground_top_canyon, pos)
    elif bottom == Bottom_Tile.canyonR_emptyL_bottom:
        return general_map_methods.get_random_tile(
            lava_tiles.blackR_emptyL_top_canyon, pos)
    elif bottom == Bottom_Tile.canyonL_emptyR_bottom:
        return general_map_methods.get_random_tile(
            lava_tiles.blackL_emptyR_top_canyon, pos)
Exemplo n.º 5
0
def get_top(bottom, pos):
    if bottom == Bottom_Tile.wall_bottom:
        return general_map_methods.get_random_tile(castle_tiles.wall_top, pos)
    elif bottom == Bottom_Tile.wallL_emptyR_bottom:
        return general_map_methods.get_random_tile(
            castle_tiles.wallL_emptyR_top, pos)
    elif bottom == Bottom_Tile.wallL_emptyR_bottom_connect:
        return general_map_methods.get_random_tile(
            castle_tiles.wallL_emptyR_top_connect, pos)
    elif bottom == Bottom_Tile.wallR_emptyL_bottom:
        return general_map_methods.get_random_tile(
            castle_tiles.wallR_emptyL_top, pos)
    elif bottom == Bottom_Tile.wallR_emptyL_bottom_connect:
        return general_map_methods.get_random_tile(
            castle_tiles.wallR_emptyL_top_connect, pos)
Exemplo n.º 6
0
def get_top(bottom, pos):
    if bottom == Bottom_Tile.empty_bottom:
        return general_map_methods.get_random_tile(
            cave_tiles.dark_empty_top_canyon, pos)
    # elif bottom == Bottom_Tile.ground_bottom:
    #     return get_random_tile(cave_tiles.dark_ground_top, pos)
    # elif bottom == Bottom_Tile.groundR_emptyL_bottom:
    #     return get_random_tile(cave_tiles.darkR_emptyL_top, pos)
    # elif bottom == Bottom_Tile.groundL_emptyR_bottom:
    #     return get_random_tile(cave_tiles.darkL_emptyR_top, pos)
    elif bottom == Bottom_Tile.canyon_bottom:
        return general_map_methods.get_random_tile(
            cave_tiles.dark_ground_top_canyon, pos)
    elif bottom == Bottom_Tile.canyonR_emptyL_bottom:
        return general_map_methods.get_random_tile(
            cave_tiles.darkR_emptyL_top_canyon, pos)
    elif bottom == Bottom_Tile.canyonL_emptyR_bottom:
        return general_map_methods.get_random_tile(
            cave_tiles.darkL_emptyR_top_canyon, pos)
Exemplo n.º 7
0
def create_tile_map(x, y):
    sub_map = []
    for i in range(y):
        for j in range(x):
            pos = (GD_STEP_SIZE * i) + j
            if i == 0 or pos % GD_STEP_SIZE == 0:
                # get random value from
                tile = general_map_methods.get_random_tile(
                    ground_road_grass_tiles.border_tiles, pos)

                sub_map.append(tile)
            elif i > 0 and j > 0:
                # only check the tile to the left and to the above

                # left tile
                left_tile = []
                left_tile.append(sub_map[-1][1])
                left_tile.append(sub_map[-1][2])

                # above tile
                above_tile = []
                above_tile.append(sub_map[-x][1])
                above_tile.append(sub_map[-x][2])

                success = False

                top = check_tile_above(above_tile)
                left = check_tile_left(left_tile)
                fetched_tile = []

                tries = 0
                while success == False:
                    fetched_tile = get_top(top, pos)
                    if get_left(left, fetched_tile) == True:
                        success = True
                    else:
                        tries += 1

                if success:
                    new_tile = []
                    new_tile.append(pos)
                    new_tile.append(fetched_tile[0])
                    new_tile.append(fetched_tile[1])
                    sub_map.append(new_tile)
    converted_map = []
    for tile in sub_map:
        for part in tile:
            converted_map.append(part)

    return converted_map
Exemplo n.º 8
0
def create_tile_map():
    for i in range(map_size_y):
        for j in range(map_size_x):
            pos = (GD_STEP_SIZE * i) + j
            if i == 0 or pos % GD_STEP_SIZE == 0:
                # get random value from
                tile = general_map_methods.get_random_tile(
                    cave_tiles.dark_canyon_border, pos)

                final_map.append(tile)
            elif i > 0 and j > 0:
                # only check the tile to the left and to the above

                # left tile
                left_tile = []
                left_tile.append(final_map[-1][1])
                left_tile.append(final_map[-1][2])

                # above tile
                above_tile = []
                above_tile.append(final_map[-map_size_x][1])
                above_tile.append(final_map[-map_size_x][2])

                success = False

                top = check_tile_above(above_tile)
                left = check_tile_left(left_tile)
                fetched_tile = []

                tries = 0
                while success == False:
                    fetched_tile = get_top(top, pos)
                    if get_left(left, fetched_tile) == True:
                        success = True
                    else:
                        tries += 1

                if success:
                    new_tile = []
                    new_tile.append(pos)
                    new_tile.append(fetched_tile[0])
                    new_tile.append(fetched_tile[1])
                    final_map.append(new_tile)

    return final_map
Exemplo n.º 9
0
def create_water(height, width, start):
    complete_water = []
    for i in range(height):
        for j in range(width):
            pos = (GD_STEP_SIZE * i) + j + (GD_STEP_SIZE * start[1]) + start[0]
            new_tile = general_map_methods.get_random_tile(
                ground_road_grass_tiles.full_water, pos)

            if i == 0 or j == 0 or i == height - 1 or j == width - 1:
                ground_water.append(new_tile[0])
                ground_water.append(new_tile[1])
                ground_water.append(new_tile[2])
            else:
                complete_water.append(new_tile[0])
                complete_water.append(new_tile[1])
                complete_water.append(new_tile[2])

    return [complete_water, ground_water]