def load_tile_zone(self): print("Loading zone: {}".format(self.zone_name)) tile_kind_filename = "{}.txt".format(self.zone_name) filepath = os.path.join("data", "player_files", self.char_dir, "tiles", tile_kind_filename) with open(filepath, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] # mylines = [i.replace(";", "") for i in mylines] if len(mylines) == 0: raise ValueError("Error!") mylist = [] for i in range(0, len(mylines), 8): # print("debugging: ") # print(mylines[i]) mydict = {} for j in range(8): elem = mylines[i + j] # print("elem: ", elem) mydict = utils.key_value_pair(elem, mydict) mylist.append(mydict) # ---- big_list = [] for mydict in mylist: new_elem = Tile(mydict) big_list.append(new_elem) self.inner = big_list
def __init__(self, tiles, zone_name): char_name, char_kind = utils.get_char_info() self.player_name = char_name self.player_kind = char_kind self.zone_name = zone_name # ------------------------------------- char_dir = "{}_{}".format(char_name, char_kind) filename = "{}.txt".format(char_kind) filepath = os.path.join("data", "player_files", char_dir, filename) if p: print("Player.__init__: reading from filepath:", filepath) with open(filepath, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] mydict = {} for elem in mylines: mydict = utils.key_value_pair(elem, mydict) # ------------------------------------- self.max_hp = int(mydict["max_hp"]) self.max_mp = int(mydict["max_hp"]) self.level = int(mydict["max_hp"]) self.experience_points = int(mydict["experience_points"]) # ------------------------------------- self.gold = int(mydict["gold"]) self.weapon = mydict["weapon"] # We'll flesh this out down the road self.status_effects = None # We'll flesh this out down the road self.explored_locations = [] # We'll flesh this out down the road self.has_killed = bool( mydict["has_killed"]) # We'll flesh this out down the road # ------------------------------------- self.tiles = tiles self.current_tile = self.tiles.get_tile(mydict["current_tile_index"]) # ------------------------------------- self.items = Items() item_list = utils.string_to_list(mydict["items"]) self.items.load_items(item_list) # ------------------------------------- self.quests_current = Quests() quests_list = utils.string_to_list(mydict["quests_current"]) self.quests_current.load_quests(quests_list) # ---- self.quests_completed = Quests() quests_list = utils.string_to_list(mydict["quests_completed"]) self.quests_completed.load_quests(quests_list)
def __init__(self): self.inner = [] # --------------- char_name, char_kind = utils.get_char_info() char_dir = "{}_{}".format(char_name, char_kind) filepath = os.path.join("data", "player_files", char_dir, "NPCs", "npcs.txt") if p: print("filepath: ", filepath) with open(filepath, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] for i in range(0, len(mylines), 9): mydict = {} for j in range(9): elem = mylines[i + j] # print("elem:", elem) mydict = utils.key_value_pair(elem, mydict) new_npc = Npc(mydict) self.inner.append(new_npc)
def _load_all_items(self): big_list = [] # ------------------ char_name, char_kind = utils.get_char_info() char_dir = "{}_{}".format(char_name, char_kind) filepath = os.path.join("data", "player_files", char_dir, "all_items.txt") with open(filepath, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] # ------------------ for i in range(0, len(mylines), 11): mydict = {} for j in range(11): elem = mylines[i + j] mydict = utils.key_value_pair(elem, mydict) # print(elem) new_item = Item(mydict) big_list.append(new_item) return big_list
def __init__(self, npc_name, npc_kind): self.inner = [] # ------------------ char_name, char_kind = utils.get_char_info() npc_filename = "{}_{}_items.txt".format(npc_name, npc_kind) char_dir = "{}_{}".format(char_name, char_kind) self.item_filename = "{}_{}_items.txt".format(npc_name, npc_kind) mypath = os.path.join("data", "player_files", char_dir, "NPCs", npc_filename) with open(mypath, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] # ---- for i in range(0, len(mylines), 11): mydict = {} for j in range(11): elem = mylines[i + j] mydict = utils.key_value_pair(elem, mydict) # print(elem) new_item = Item(mydict) self.inner.append(new_item)
def main(path_in, path_out): with open(path_in, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] # mylines = [i.replace(";", "") for i in mylines] mylist = [] for i in range(0, len(mylines), 8): mydict = {} for j in range(8): elem = mylines[i + j] # print("elem: ", elem) mydict = utils.key_value_pair(elem, mydict) mylist.append(mydict) print("=" * 20) for elem in mylist: print(elem) print("=" * 20) with open(path_out, "w") as f: for mydict in mylist: for key, value in mydict.items(): s = "{}: {}\n".format(key, value) # print(s) f.write(s)
def load_tile_zone(self, npcs): tile_kind_filename = "{}.txt".format(self.zone_name) filepath = os.path.join("data", "player_files", self.char_dir, "tiles", tile_kind_filename) if p: print("Tiles._load_tile_zone: ", filepath) with open(filepath, "r") as f: mylines = f.readlines() mylines = [i.strip() for i in mylines if len(i.strip()) > 0] # mylines = [i.replace(";", "") for i in mylines] if len(mylines) == 0: raise ValueError("Error!") mylist = [] for i in range(0, len(mylines), 9): mydict = {} for j in range(9): elem = mylines[i + j] mydict = utils.key_value_pair(elem, mydict) mylist.append(mydict) # ---- big_list = [] for adict in mylist: new_elem = Tile(adict, npcs) big_list.append(new_elem) self.inner = big_list