Added width/height to actor and display

This commit is contained in:
2013-12-14 23:15:42 -05:00
parent 48b3900fe2
commit c56e0e963d
3 changed files with 14 additions and 2 deletions

View File

@@ -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):

View File

@@ -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)

View File

@@ -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])