diff --git a/actor.py b/actor.py index 5c9f6cc..f2006da 100755 --- a/actor.py +++ b/actor.py @@ -11,6 +11,8 @@ class Actor(event.EventHandler, registry.Registerable): def __init__(self, *args, **kwargs): registry.Registerable.__init__(self, *args, **kwargs) event.EventHandler.__init__(self, *args, **kwargs) + self.width = 0 + self.height = 0 self.x = 0 self.y = 0 self.vx = 0 @@ -38,10 +40,15 @@ class Actor(event.EventHandler, registry.Registerable): class Text(Actor): def __init__(self, *args, **kwargs): Actor.__init__(self, *args, **kwargs) - self.__text__ = kwargs.get('text', "") + self.setText(kwargs.get('text', "")) def setText(self, text): self.__text__ = text + widths = [] + for line in self.__text__.split('\n'): + widths.append(len(line)) + self.width = max(widths) + self.height = len(self.__text__.split("\n")) def frameForCursesDisplay(self): def drawForCurses(disp): diff --git a/display.py b/display.py index cd76556..35373bc 100755 --- a/display.py +++ b/display.py @@ -25,6 +25,8 @@ class Display(event.EventHandler, registry.Registerable): def __init__(self, *args, **kwargs): registry.Registerable.__init__(self, *args, **kwargs) event.EventHandler.__init__(self, *args, **kwargs) + self.width = 0 + self.height = 0 self.__lock_actors__ = threading.RLock() self.__lock_timer__ = threading.RLock() self.__lock_drawing__ = threading.RLock() @@ -73,6 +75,9 @@ class CursesDisplay(Display): self.logger.info("CursesDisplay starting") Display.__init__(self, *args, **kwargs) self.__screen__ = curses.initscr() + maxyx = self.__screen__.getmaxyx() + self.width = maxyx[1] + self.height = maxyx[0] self.__screen__.keypad(1) try: curses.curs_set(0) diff --git a/game.py b/game.py index e506866..23d3da3 100755 --- a/game.py +++ b/game.py @@ -43,7 +43,7 @@ class Game(event.EventHandler, registry.Registerable): self.__players__.append(player.Player(registryKey='player1')) self.__players__.append(player.Player(registryKey='player2')) - self.__players__[1].x = 25 + self.__players__[1].x = (self.__display__.width - self.__players__[1].width - 1) logger = logging.getLogger() logger.debug("Adding actors {} and {}".format(self.__players__[0].uuid, self.__players__[1].uuid)) self.__display__.addActor(self.__players__[0])