X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=client.py;h=e02de21017dad347c5e9017bced5451db242cf18;hb=ff74c51e99384a7d290cf14788e13e52615164cc;hp=9d0da0d534399be8f546258d8976036ac53c9eb6;hpb=64bf1873a6686c1bc974321c13d3c9f7800db0d6;p=plomrogue2-experiments
diff --git a/client.py b/client.py
index 9d0da0d..e02de21 100755
--- a/client.py
+++ b/client.py
@@ -7,10 +7,6 @@ from parser import ArgError, Parser
import game_common
-def get_map_class(geometry):
- return globals()['Map' + geometry]
-
-
class MapSquare(game_common.Map):
def list_terrain_to_lines(self, terrain_as_list):
@@ -18,7 +14,7 @@ class MapSquare(game_common.Map):
map_lines = []
start_cut = 0
while start_cut < len(terrain):
- limit = start_cut + self.game.world.map_.size[1]
+ limit = start_cut + self.size[1]
map_lines += [terrain[start_cut:limit]]
start_cut = limit
return "\n".join(map_lines)
@@ -27,7 +23,7 @@ class MapSquare(game_common.Map):
class MapHex(game_common.Map):
def list_terrain_to_lines(self, terrain_as_list):
- new_terrain_list = []
+ new_terrain_list = [' ']
x = 0
y = 0
for c in terrain_as_list:
@@ -37,27 +33,33 @@ class MapHex(game_common.Map):
new_terrain_list += ['\n']
x = 0
y += 1
- if y % 2 != 0:
+ if y % 2 == 0:
new_terrain_list += [' ']
return ''.join(new_terrain_list)
+map_manager = game_common.MapManager(globals())
+
+
class World(game_common.World):
- def __init__(self, *args, **kwargs):
+ def __init__(self, game, *args, **kwargs):
"""Extend original with local classes and empty default map.
We need the empty default map because we draw the map widget
on any update, even before we actually receive map data.
"""
super().__init__(*args, **kwargs)
- self.get_map_class = get_map_class
- self.map_ = self.get_map_class('Hex')()
+ self.game = game
+ self.map_ = self.game.map_manager.get_map_class('Hex')()
class Game(game_common.CommonCommandsMixin):
- world = World()
- log_text = ''
+
+ def __init__(self):
+ self.map_manager = map_manager
+ self.world = World(self)
+ self.log_text = ''
def log(self, msg):
"""Prefix msg plus newline to self.log_text."""