Esempio n. 1
0
        /// <summary>
        /// Gets the player move.
        /// GamestateにplayerMoveを代入する
        /// </summary>
        private void GetPlayerMove(CancellationToken cancelToken)
        {
            try
            {
                //
                // もし、外部でキャンセルされていた場合
                // このメソッドはOperationCanceledExceptionを発生させる。
                //
                cancelToken.ThrowIfCancellationRequested();

                if (gamestate.currentPlayer.Equals(FieldObject.P1))
                {
                    gamestate.CurrentPlayerMove = P1.GetMove();
                }
                else
                if (gamestate.currentPlayer.Equals(FieldObject.P2))
                {
                    gamestate.CurrentPlayerMove = ConvertPosition(P2.GetMove());
                }
            }
            catch (OperationCanceledException ex)
            {
                //
                // キャンセルされた.
                //
                Debug.WriteLine(">>> {0}", ex.Message);
            }
        }