コード例 #1
0
 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
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
ファイル: myclasses_other.py プロジェクト: aic5/Tutorials
 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
コード例 #5
0
ファイル: myclasses_other.py プロジェクト: aic5/Tutorials
 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)
コード例 #6
0
ファイル: utility.py プロジェクト: aic5/Tutorials
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)
コード例 #7
0
ファイル: myclasses_other.py プロジェクト: aic5/Tutorials
 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