0
votes

I'm creating a game where the user will have X seconds to make his move every turn, so I need to show the amount of seconds remaining and control the game.

If the user makes his move before countdown is complete, the countdown is cancelled and started again as a new turn. And if the countdown ends before the user makes his move, the game is ended.

Important: each second (timer tick event) a sound is played and this shouldn't affect the timer interval.

How can I do this? Should I use a Timer, a CountDownTimer or something else?

2

2 Answers

1
votes

You have to use CountDown Timer as your requirement........

here you can control timer calling Below code...

if (!timerHasStarted) { 
           countDownTimer.start(); 
           timerHasStarted = true; 
           startB.setText("STOP"); 
          } else { 
           countDownTimer.cancel(); 
           timerHasStarted = false; 
           startB.setText("RESTART"); 
          }

follow below link..

http://androidbite.blogspot.in/2012/11/android-count-down-timer-example.html

0
votes

You may use CountDownTimer:

new CountDownTimer(30000, 1000) {

     public void onTick(long millisUntilFinished) {
        //Play your audio here
     }

     public void onFinish() {
         //Trigger the game end action
     }
  }.start();

call cancel() to stop the timer.

Reference: CountDownTimer