当前位置: 首页>>代码示例>>C#>>正文


C# IBoard.AddFigure方法代码示例

本文整理汇总了C#中IBoard.AddFigure方法的典型用法代码示例。如果您正苦于以下问题:C# IBoard.AddFigure方法的具体用法?C# IBoard.AddFigure怎么用?C# IBoard.AddFigure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IBoard的用法示例。


在下文中一共展示了IBoard.AddFigure方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddFigureToBoard

        public void AddFigureToBoard(IPlayer firstPlayser, IPlayer secondPlayer, IBoard board, string fen)
        {
            var splitedFen = fen.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
            var index = 0;

            for (int row = splitedFen.Length - 1; row >= 0; row--)
            {
                var currentRow = this.MakeRow(splitedFen[row]);

                for (int col = 0; col < currentRow.Length; col++)
                {
                    if (currentRow[col] == Pown)
                    {
                        var pawn = new Pawn(secondPlayer.Color);
                        secondPlayer.AddFigure(pawn);
                        var position = new Position(index + 1, (char)(col + 'a'));
                        board.AddFigure(pawn, position);
                    }
                    else if (currentRow[col] == King)
                    {
                        var figureInstance = new King(firstPlayser.Color);
                        firstPlayser.AddFigure(figureInstance);
                        var position = new Position(index + 1, (char)(col + 'a'));
                        board.AddFigure(figureInstance, position);
                    }
                }

                index++;
            }
        }
开发者ID:King-Survival-3,项目名称:HQC-Teamwork-2015,代码行数:30,代码来源:KingSurvivalGameWebInitializationStrategy.cs

示例2: AddPawnsToBoardRow

        private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow)
        {
            for (int i = 0; i < GlobalConstants.StandartGameTotalBoardCols - 2; i += 2)
            {
                var pawn = new Pawn(player.Color);
                player.AddFigure(pawn);
                var position = new Position(chessRow, (char)(i + 'a'));
                board.AddFigure(pawn, position);
            }

            // TODO: Remove
            //// For testing only
            //var pawn = new Pawn(player.Color);
            //player.AddFigure(pawn);
            //var position = new Position(8, (char)(0 + 'a'));
            //board.AddFigure(pawn, position);

            //pawn = new Pawn(player.Color);
            //player.AddFigure(pawn);
            //position = new Position(8, (char)(2 + 'a'));
            //board.AddFigure(pawn, position);

            //pawn = new Pawn(player.Color);
            //player.AddFigure(pawn);
            //position = new Position(8, (char)(4 + 'a'));
            //board.AddFigure(pawn, position);

            //pawn = new Pawn(player.Color);
            //player.AddFigure(pawn);
            //position = new Position(6, (char)(4 + 'a'));
            //board.AddFigure(pawn, position);
        }
开发者ID:King-Survival-3,项目名称:HQC-Teamwork-2015,代码行数:32,代码来源:KingSurvivalGameInitializationStrategy.cs

示例3: AddKingToBoardRow

 private void AddKingToBoardRow(IPlayer player, IBoard board, int chessRow, char chessCol)
 {
     var figureInstance = new King(player.Color);
         player.AddFigure(figureInstance);
         var position = new Position(chessRow, chessCol);
         board.AddFigure(figureInstance, position);
 }
开发者ID:King-Survival-3,项目名称:HQC-Teamwork-2015,代码行数:7,代码来源:KingSurvivalGameInitializationStrategy.cs

示例4: AddPawnsToBoardRow

 private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow)
 {
     for (int i = 0; i < GlobalConstants.StandartGameTotalBoardCols; i++)
     {
         var pawn = new Pawn(player.Color);
         player.AddFigure(pawn);
         var position = new Position(chessRow, (char)(i + 'a'));
         board.AddFigure(pawn, position);
     }
 }
开发者ID:King-Survival-3,项目名称:HQC-Teamwork-2015,代码行数:10,代码来源:StandartStartGameInitializationStrategy.cs

示例5: AddPawnsToBoardRow

 private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow)
 {
     for (int i = 0; i < BoardTotalRowsAndCols; i++)
     {
         var pawn = new Pawn(player.Color);
         player.AddFigure(pawn);
         var position = new Position(chessRow, (char)(i + 'a'));
         board.AddFigure(pawn, position);
     }
 }
开发者ID:totkov,项目名称:ChessGameEngine,代码行数:10,代码来源:StandardStartGameInitializationStrategy.cs

示例6: AddArmyToBoardRow

 private void AddArmyToBoardRow(IPlayer player, IBoard board, int chessRow)
 {
     for (int i = 0; i < GlobalConstants.StandartGameTotalBoardCols; i++)
     {
         var figureType = this.figureTypes[i];
         var figureInstance = (IFigure)Activator.CreateInstance(figureType, player.Color);
         player.AddFigure(figureInstance);
         var position = new Position(chessRow, (char)(i + 'a'));
         board.AddFigure(figureInstance, position);
     }
 }
开发者ID:King-Survival-3,项目名称:HQC-Teamwork-2015,代码行数:11,代码来源:StandartStartGameInitializationStrategy.cs

示例7: MoveFigure

        /// <summary>
        /// Move Figure  method that moves figures
        /// </summary>
        /// <param name="from">From position</param>
        /// <param name="direction">To direction</param>
        /// <param name="board">The board on which we are moving the figure</param>
        public void MoveFigure(IPosition from, int direction, IBoard board)
        {
            var figurePosition = board.GetFigurePosition(this.Figure);
            IPosition to = figurePosition.GenerateNewPosition(direction);

            Validator.CheckIfPositionValid(to);
            Validator.CheckIfFigureOnTheWay(to, board);

            board.RemoveFigure(from);
            board.AddFigure(this.Figure, to);
        }
开发者ID:kskondov,项目名称:King-Survival-4,代码行数:17,代码来源:MoveableFigure.cs


注:本文中的IBoard.AddFigure方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。