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)
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]
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)
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)
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)
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)
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
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
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]