X-Git-Url: https://plomlompom.com/repos/?p=plomrogue2-experiments;a=blobdiff_plain;f=new%2Fplomrogue%2Fgame.py;h=669fae3dd0b42483d3800e5ba989bdce37428daf;hp=7bf958f2a513714f99158475a0e3220d3db1530c;hb=adbbe8b5526c6d9ae05ca646a5d6da2f347d93c8;hpb=bc8966e5d8af45c551f7b2b42503b08609887475 diff --git a/new/plomrogue/game.py b/new/plomrogue/game.py index 7bf958f..669fae3 100755 --- a/new/plomrogue/game.py +++ b/new/plomrogue/game.py @@ -79,10 +79,16 @@ class World(WorldBase): return 0 return self.things[-1].id_ + 1 - 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 get_map(self, map_pos, create_unfound=True): + if not (map_pos in self.maps and + self.maps[map_pos].size == self.map_size): + if create_unfound: + self.maps[map_pos] = self.game.map_type(self.map_size) + for pos in self.maps[map_pos]: + self.maps[map_pos][pos] = '~' + else: + return None + return self.maps[map_pos] def proceed_to_next_player_turn(self): """Run game world turns until player can decide their next step. @@ -138,23 +144,9 @@ class World(WorldBase): self.turn = 0 self.maps = {} self.map_size = yx - 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: - for pos in map_: - map_[pos] = self.rand.choice(('.', '.', '.', '.', 'x')) - else: - for pos in map_: - map_[pos] = '~' + map_ = self.get_map(YX(0,0)) + for pos in map_: + map_[pos] = self.rand.choice(('.', '.', '.', '.', 'x')) player = add_thing_at_random('human') self.player_id = player.id_ add_thing_at_random('monster')