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


C# Board.GetCapturedPieceCount方法代码示例

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


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

示例1: HandToSfen

        /// <summary>
        /// 持ち駒をSFEN形式に変換します。
        /// </summary>
        private static string HandToSfen(Board board)
        {
            var handList =
                from turn in new BWType[] { BWType.Black, BWType.White }
                from pieceType in EnumEx.GetValues<PieceType>()
                let obj = new
                {
                    Piece = new BoardPiece(pieceType, false, turn),
                    Count = board.GetCapturedPieceCount(pieceType, turn),
                }
                where obj.Count > 0
                select string.Format("{0}{1}",
                    (obj.Count > 1 ? obj.Count.ToString() : ""),
                    SfenUtil.PieceToSfen(obj.Piece));

            // ToArray()しないと、MONOでstring.Joinのコンパイルに失敗します。
            var array = handList.ToArray();
            return (array.Any() ? string.Join("", array) : "-");
        }
开发者ID:JuroGandalf,项目名称:Ragnarok,代码行数:22,代码来源:SfenBoard.cs

示例2: HandToCsa

        /// <summary>
        /// 持ち駒をCSA形式に変換します。
        /// </summary>
        /// <example>
        /// P+00KIOOFU
        /// </example>
        private static string HandToCsa(Board board, BWType turn)
        {
            var handList =
                from pieceType in EnumEx.GetValues<PieceType>()
                let count = board.GetCapturedPieceCount(pieceType, turn)
                let str = string.Format("00{0}",
                    CsaUtil.PieceToStr(new Piece(pieceType)))
                let list = Enumerable.Range(1, count).Select(_ => str)
                select string.Join("", list.ToArray());

            // ToArray()しないと、MONOでstring.Joinのコンパイルに失敗します。
            var array = handList.ToArray();
            if (!array.Any())
            {
                return string.Empty;
            }
            else
            {
                return string.Format("P{0}{1}",
                    turn == BWType.Black ? "+" : "-",
                    string.Join("", array));
            }
        }
开发者ID:JuroGandalf,项目名称:Ragnarok,代码行数:29,代码来源:CsaBoard.cs

示例3: HandToBod

        /// <summary>
        /// 持ち駒を文字列に直します。
        /// </summary>
        private static string HandToBod(Board board, BWType turn)
        {
            var list =
                from pieceType in EnumEx.GetValues<PieceType>()
                let obj = new
                {
                    Piece = new Piece(pieceType, false),
                    Count = board.GetCapturedPieceCount(pieceType, turn),
                }
                where obj.Count > 0
                select string.Format("{0}{1}{2} ",
                    KifUtil.PieceToChar(obj.Piece),
                    (obj.Count >= 10 ? "十" : ""),
                    (obj.Count == 10 || obj.Count == 1 ? "" :
                        IntConverter.Convert(NumberType.Kanji, obj.Count % 10)));

            var array = list.ToArray();
            return (array.Any() ? string.Join("", array) : "なし");
        }
开发者ID:leontius,项目名称:Ragnarok,代码行数:22,代码来源:BodBoard.cs


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