コード例 #1
0
        private void onDo(Cell to)
        {
            ITurn turn = rule.checkTurn(board, selected, to);

            if (turn == null)
            {
                selected = null;
                return;
            }

            turn.Perform(board);
            bool isEnd = rule.checkEnd(board);

            if (isEnd)
            {
                int cur  = players.IndexOf(currentPlayer);
                int next = (cur + 1) % players.Count;
                currentPlayer.Active = false;
                currentPlayer        = players[next];
                currentPlayer.Active = true;
            }
        }