Example #1
0
        /*
         * Return true if move is end
         */
        public bool execPlayerMove(Board board, Position movePos)
        {
            if (currMoveScenarios == null)
            {
                allMoveScenarios  = moveFinder.getMoveScenarios(board, movePos);
                currMoveScenarios = allMoveScenarios;
                currMoveIndex     = 0;
            }
            else
            {
                currMoveScenarios = currMoveScenarios.getMatchScenarios(movePos, currMoveIndex);
                currMoveIndex++;

                if (currMoveScenarios.Count() == 1 && currMoveScenarios.getScenario(0).Count == currMoveIndex)
                {
                    execScenario(board, currMoveScenarios, 0);

                    currMoveScenarios = null;

                    return(true);
                }
            }

            return(false);
        }