def prepareWorld(self, EventManager, PhysicsModel, Viewer, MouseController, CPUSpinner, KeyboardController): self.event_handler=EventManager() self.world=PhysicsModel(self.event_handler) self.screen=Viewer(self.world) self.mouse=MouseController(self.event_handler) self.spinner=CPUSpinner(FPS, self.event_handler) self.keyboard=KeyboardController(self.event_handler)
def run(self): self.spinner.run(1) def on_mouse_left_up(self, event): self.spinner.stop() if __name__ == '__main__': from View.misc import TextOutputView from Model.Model import PhysicsModel from Controller.MouseController import PygameMouseController from Mediator.EventManager import EventManager from Controller.MiscControllers import PygCPUSpinner from Controller.KeyboardController import PygameKeyboardController event_handler=EventManager() world=PhysicsModel(event_handler) log=TextOutputView(world, 'flock_debug.csv') log.set_log_fields(('position','velocity','total_force','ang'), (2,2,2,1)) #screen=PygameViewer(world) mouse=PygameMouseController(event_handler) spinner=PygCPUSpinner(FPS, event_handler) keyboard=PygameKeyboardController(event_handler) python_app=FlockTestApp(event_handler, world, log, mouse, spinner, keyboard) python_app.run() log.save()