X-Git-Url: https://plomlompom.com/repos/day?a=blobdiff_plain;f=new%2Fplomrogue%2Fgame.py;h=7bf958f2a513714f99158475a0e3220d3db1530c;hb=bc8966e5d8af45c551f7b2b42503b08609887475;hp=de6f0c03d00f22a23f278b5c8dfa4c08b8c05e52;hpb=b707d9f6b6351f3cb8be13f67edfd18b1801e3d5;p=plomrogue2-experiments diff --git a/new/plomrogue/game.py b/new/plomrogue/game.py index de6f0c0..7bf958f 100755 --- a/new/plomrogue/game.py +++ b/new/plomrogue/game.py @@ -79,7 +79,9 @@ class World(WorldBase): return 0 return self.things[-1].id_ + 1 - def new_map(self, map_pos): + def ensure_map(self, map_pos): + if map_pos in self.maps and self.maps[map_pos].size == self.map_size: + return self.maps[map_pos] = self.game.map_type(self.map_size) def proceed_to_next_player_turn(self): @@ -136,15 +138,15 @@ class World(WorldBase): self.turn = 0 self.maps = {} self.map_size = yx - self.new_map(YX(0,0)) - self.new_map(YX(0,1)) - self.new_map(YX(1,1)) - self.new_map(YX(1,0)) - self.new_map(YX(1,-1)) - self.new_map(YX(0,-1)) - self.new_map(YX(-1,-1)) - self.new_map(YX(-1,0)) - self.new_map(YX(-1,1)) + self.ensure_map(YX(0,0)) + self.ensure_map(YX(0,1)) + self.ensure_map(YX(1,1)) + self.ensure_map(YX(1,0)) + self.ensure_map(YX(1,-1)) + self.ensure_map(YX(0,-1)) + self.ensure_map(YX(-1,-1)) + self.ensure_map(YX(-1,0)) + self.ensure_map(YX(-1,1)) for map_pos in self.maps: map_ = self.maps[map_pos] if YX(0,0) == map_pos: @@ -199,7 +201,7 @@ class Game: def get_string_options(self, string_option_type): if string_option_type == 'direction': - return self.world.maps[YX(0,0)].get_directions() + return self.map_type().get_directions() elif string_option_type == 'thingtype': return list(self.thing_types.keys()) return None