Exemplo n.º 1
0
 def __init__(self, obj):
     threading.Thread.__init__(self, name="wiiremote")
     self.manager = EventManager()
     self.manager.add_object(
         obj,
         "WIIMOTE_BUTTON_PRESS",
         "WIIMOTE_BUTTON_RELEASE",
         "WIIMOTE_ACCEL",
         "WIIMOTE_GYRO",
         #"WIIMOTE_IR",
         "WIIMOTE_STATUS",
         "WIIMOTE_DISCONNECT",
         "QUIT")
     self.recv_mode = None
     self.set_mode = None
     self.MotionPlusInit = 0
     self.pause = False
     self.yaw = self.pitch = self.roll = -1
     self.yaw_fast = self.pitch_fast = self.roll_fast = -1
     self.Ax = self.Ay = self.Az = -1
     self.button = -1
     self.startup = Queue()
     self.funcs = Queue()
     self.setDaemon(1)
     self.start()
     self.startup.get(True)
def main():
    # Initialize pygame
    pygame.display.init()
    pygame.font.init()

    # Framerate Clock
    clock = pygame.time.Clock()

    pygame.display.set_caption('Battle Viewer')

    # Desired delay between frame redraws (25 fps target framerate)
    frame_rate = 24

    # Create the display
    display_padding = 12
    # Values are hacked for specific XML, needs to be made generic in future
    display_size = (display_padding * 2 + 128 * 4,
                    display_padding * 3 + 400 + 128)
    display_depth = 24
    display_surface = pygame.display.set_mode(display_size, 0, display_depth)

    # Event manager
    event_manager = EventManager()

    # Create the battle controller instance.  This object is responsible for directing the battle
    battle_controller = battlecontroller.BattleController()
    battle_controller.manager = event_manager

    # Create the battle view instance.  This object is responsible for drawing the battle
    battle_view = battleview.BattleView(display_surface)
    battle_view.manager = event_manager

    # Validate and Parse the battle XML
    try:
        xml_validator.validate_dtd(battle_file)
    except xml_validator.ValidationError, e:
        print battle_file, "Failed Validation:", repr(e)
        sys.exit(1)
Exemplo n.º 3
0
            name, position = event.data
            self.append_entity(Entity(name))
            self.emit(EVENT_ENTITY_MOVE, (name, position))


# BattleController class.  Responsible for distributing battle events


class BattleController(BaseObject):
    def __init__(self):
        BaseObject.__init__(self)

    def start(self):
        entity_list = ['Sam', 'Max', 'Joe']
        for entity_name in entity_list:
            self.emit(EVENT_ENTITY_NEW, (entity_name, (0, 0)))


# Main

if __name__ == '__main__':
    event_manager = EventManager()

    controller = BattleController()
    controller.manager = event_manager

    view = BattleView()
    view.manager = event_manager

    # start the ball rolling
    controller.start()