예제 #1
0
파일: Reversi.cs 프로젝트: jakbrtz/MCTS
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            while (((gamenode.ActivePlayer == 0 && checkBox0.Checked) || (gamenode.ActivePlayer == 1 && checkBox1.Checked)) && gamenode.GameInProgress())
            {
                Draw("Thinking...");
                int move = gamenode.PickNextMove((int)numericUpDown1.Value);
                gamenode = gamenode.DoMove(move) as ReversiNode;
                Thread.Sleep(10);
            }
            string msg = "Your turn";

            if (!gamenode.GameInProgress())
            {
                switch (gamenode.Winner())
                {
                case 0:
                    msg = "White wins";
                    break;

                case 1:
                    msg = "Black wins";
                    break;

                default:
                    msg = "It's a tie";
                    break;
                }
            }
            Draw(msg);
        }