java - Time delaying computer move tic tac toe -


i learning java/android, , have wrote simple tic tac toe program. works, game play feels weird. have 9 methods (1 each move) if 1 player game playertest call computermove method. move, have 2 second delay computer moves. when time delay computer move. program waits 2 seconds , displays move, , computers move @ same time.

 public void displayforposition1(view view) {          pieceplaced = false;         // determine players piece          if (pos1.equals("") && !gameover) {              if (sound) {                 button 1 = (button) this.findviewbyid(r.id.position2);                 final mediaplayer mp = mediaplayer.create(main2activity.this, r.raw.button_sound);                 mp.start();             }              if (movecounter % 2 == 0) {                 piece = player1;             } else {                 piece = player2;             }              textview scoreview = (textview) findviewbyid(r.id.position1);             scoreview.settext(piece);              movecounter++;             pos1 = piece;             wintest();         }         playertest();     } 

there better ways this, can see of code, think should work.

the on-screen view not updated player's move until displayforposition1 method returns, , method not return until playertest method too. 2 second delay inside playertest method, , computer moves , it's move displayed. so, displayforposition1 not return, , new view not appear on screen, until after 2 second delay , computer's move.

one solution might execute playertest method on new thread. displayforposition1 method return immediately, , player's move displayed. meanwhile, second thread sleep 2 seconds , make computer's move.

new thread(new runnable() {      @override     public void run() {         playertest();     }}).start(); 

my fear when playertest executed outside displayforposition1 method, computer's move not displayed until displayforposition1 next executed. both moves still appear @ same time. try it, , see happens.


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -