class Sce_Name(Scene): ''' classdocs ''' def __init__(self, director, background_name): ''' Constructor ''' Scene.__init__(self, director, background_name) self.name = Name() self.scene_winner = Sce_Winner(director, 'winner', NAME_SCENE) self.c_fails = 0 self.name.generate_table() for buttom in self.common_buttoms.itervalues(): buttom.is_visible = True def on_update(self): self.time = self.director.time if not self.is_failed: self.update() for key, option in self.name.options_names.iteritems(): if option.is_release: if option.rect.colliderect(self.name.text_field_rect): if key == self.name.current_exercise_key: option.move(self.name.text_field_rect.center) option.is_correct = True else: self.c_fails += 1 if self.c_fails >= 2: self.c_fails = 0 self.is_failed = True option.move_to_firts_pos() else: option.move_to_firts_pos() if option.is_pressed: if not option.is_correct: option.move(pygame.mouse.get_pos()) self.is_complete = self.name.check_complete() def on_event(self, event): self.event(event) if event.type == pygame.MOUSEBUTTONDOWN: mouse_pos = pygame.mouse.get_pos() for option in self.name.options_names.itervalues(): option.pressed(mouse_pos) elif event.type == pygame.MOUSEBUTTONUP: for option in self.name.options_names.itervalues(): option.release() def on_draw(self, screen): self.draw(screen) self.name.draw(screen) if self.is_failed: screen.blit(self.failed_img, self.failed_rect)