class Game(scene.Scene): def __init__(self, world): scene.Scene.__init__(self, world) self.group = group.Group() self._create_ui() self.gui = gui.Gui() self.table = Table(self.gui, self.group, self.turn) self.gui.add_widgets(self.group.sprites()) self.mouse = gui.Mouse(self.gui) self.group.add_mouse(self.mouse) self.background = world.screen.convert() self.update_view() def _create_ui(self): """Crea la interfaz del juego """ # genera el visor de turnos self.turn = gui.Turn() self.group.add(self.turn) def update(self): self.group.update() self._update_view() def draw(self, screen): pass def update_view(self): """ Actualiza la vista""" self.table.draw(self.background) self.world.screen.blit(self.background, (0, 0)) pygame.display.flip() def _update_view(self): """ Actualiza la vista""" self.group.clear(self.world.screen, self.background) pygame.display.update(self.group.draw(self.world.screen)) def on_event(self, event): if event.type in common.MOUSE_EVENTS: self.mouse.send_event(event) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_b: self.table.blink_checkers_that_can_move() elif event.key == pygame.K_u: #for DEBUG mov = ask(self.world.screen, "Convertir a Dama") regular = re.compile(r'^([0-7]),([0-7])$') if not regular.match(mov): message = 'Fichas ' + mov + ' invalida' self.update_view() else: r, _, c = tuple(mov) try: if self.table.square_occupied((int(r),int(c))): self.table.convert_to_king((int(r),int(c))) except ValueError, mesg: print mesg finally: self.update_view()