### Stages
#
# Intro
stage_intro = utils.game.StageIntro(screen, config)
user_wears_glasses = stage_intro.loop()
# Webcam
stage_webcam = utils.game.StageWebcam(screen, webcam, config)
stage_webcam.loop()
# Game
data = Data(raw_data_path=config.PATH_DATA_RAW,
            screen_width=config.SCREEN_WIDTH,
            screen_height=config.SCREEN_HEIGHT,
            screen_diagonal=config.SCREEN_DIAGONAL,
            camera_position=config.CAM_POSITION,
            glasses=user_wears_glasses)
data.new_game()
stage_game = utils.game.StageGame(screen, webcam, data, config)
scores = stage_game.loop()
webcam.close()

#
### Terminate
#
pygame.font.quit()
pygame.display.quit()
# Print stats
print "HITS: {}".format(len(scores))
print "HITS PER SECOND: {}".format(len(scores) / float(config.TIME_GAME))
print "PRECISION: {}".format(sum(scores) / float(len(scores)))
print "TOTAL SCORE: {}".format(sum(scores))