X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=new%2Fplomrogue%2Fgame.py;fp=new%2Fplomrogue%2Fgame.py;h=669fae3dd0b42483d3800e5ba989bdce37428daf;hb=adbbe8b5526c6d9ae05ca646a5d6da2f347d93c8;hp=7bf958f2a513714f99158475a0e3220d3db1530c;hpb=bc8966e5d8af45c551f7b2b42503b08609887475;p=plomrogue2-experiments
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')