Exemplo n.º 1
0
    @Override
    public Void call() throws Exception {
      if (continueExercise) {
        missedTargets += shootTargets.size();

        if (shootTargets.size() == 1) {
          TextToSpeech.say(String.format("You missed %d target.", shootTargets.size()));
        } else if (shootTargets.size() > 1) {
          TextToSpeech.say(String.format("You missed %d targets.", shootTargets.size()));
        }

        thisSuper.showTextOnFeed(
            String.format("missed targets: %d%nbad hits: %d", missedTargets, badHits));

        for (Target target : shootTargets) thisSuper.removeTarget(target);
        shootTargets.clear();
        for (Target target : dontShootTargets) thisSuper.removeTarget(target);
        dontShootTargets.clear();

        addTargets(shootTargets, "targets/shoot_dont_shoot/shoot.target");
        addTargets(dontShootTargets, "targets/shoot_dont_shoot/dont_shoot.target");

        thisSuper.clearShots();

        if (continueExercise)
          executorService.schedule(new NewRound(), ROUND_DURATION, TimeUnit.SECONDS);
      }

      return null;
    }
Exemplo n.º 2
0
  @Override
  public void shotListener(Shot shot, Optional<TargetRegion> hitRegion) {
    if (hitRegion.isPresent()) {
      if (hitRegion.get().tagExists("subtarget")) {
        switch (hitRegion.get().getTag("subtarget")) {
          case "shoot":
            {
              removeTarget(shootTargets, hitRegion.get());
              super.setShotTimerColumnText(TARGET_COL_NAME, "shoot");
            }
            break;

          case "dont_shoot":
            {
              removeTarget(dontShootTargets, hitRegion.get());
              badHits++;
              super.setShotTimerColumnText(TARGET_COL_NAME, "dont_shoot");
              TextToSpeech.say("Bad shoot!");
            }
            break;
        }
      }
    }
  }