2013-04-24 2 views
1

나는 두명의 플레이어 게임을 할 때마다 플레이어를 바꿔야한다.javascript : 플레이어를 교환하는 방법 게임에서 나타 납니까?

현재 나는이 자바 스크립트가 있습니다

var play = function(player, opp) { 
    var index; 
    player.play(function(move) { 
     index = move; 
     board.board[index][1] = player.mark; 
     if (board.weHaveWinner()==undefined||!board.isFull()) { 
      play(opp,player); 
     } 
    }); 
} 

상대가 자신의 움직임을 계산 할 때까지 늘 이동 플레이어가 그려 것이 문제.

어떻게하면 비동기식으로 만들 수 있습니까?

+0

'player.play'는 무엇입니까? 그 함수에 콜백을 전달하는 것처럼 보입니다. 비동기입니까? 또한,'play' 호출을 유발하는 것은 무엇입니까? – plalx

+0

또한 드로잉 코드는 언제 실행됩니까? – plalx

답변

1

재귀 함수를 실행하면 브라우저가 중단됩니다.

https://developer.mozilla.org/en-US/docs/DOM/window.setTimeout

을 그래서 이런 식으로 뭔가 :

window.setInterval(play(opp,player),100); 

그래서 자바 스크립트 함수 setTimeout(...) 다음 시간 후에는 play(...)를 호출 재귀 적으로 재개 짧게 보드를 렌더링 다시 브라우저로 제어를 전달합니다 브라우저는 표시가있는 보드를 렌더링 한 다음 100 밀리 초 후에 메소드 재생의 다음 레이어를 호출하기 시작합니다.

관련 문제