ChineseChess.Core/ChessTypeExtensions.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Collections.Generic;

namespace ChineseChess.Core
{
    public static class ChessTypeExtensions
    {
        private readonly static Dictionary<ChessType, char> RedChess;
        private readonly static Dictionary<ChessType, char> BlackChess;
        private readonly static Dictionary<char, ChessType> ChessNames;

        static ChessTypeExtensions()
        {
            RedChess = new Dictionary<ChessType, char>
            {
                [ChessType.King     ] = '帅',
                [ChessType.Mandarins] = '仕',
                [ChessType.Elephants] = '相',
                [ChessType.Knights  ] = '马',
                [ChessType.Rooks    ] = '车',
                [ChessType.Cannons  ] = '炮',
                [ChessType.Pawns    ] = '兵',
            };
            BlackChess = new Dictionary<ChessType, char>
            {
                [ChessType.King     ] = '将',
                [ChessType.Mandarins] = '士',
                [ChessType.Elephants] = '象',
                [ChessType.Knights  ] = '马',
                [ChessType.Rooks    ] = '车',
                [ChessType.Cannons  ] = '炮',
                [ChessType.Pawns    ] = '卒',
            };

            ChessNames = new Dictionary<char, ChessType>
            {
                ['帅'] = ChessType.King,
                ['将'] = ChessType.King,
                ['仕'] = ChessType.Mandarins,
                ['士'] = ChessType.Mandarins,
                ['相'] = ChessType.Elephants,
                ['象'] = ChessType.Elephants,
                ['马'] = ChessType.Knights,
                ['车'] = ChessType.Rooks,
                ['炮'] = ChessType.Cannons,
                ['兵'] = ChessType.Pawns,
                ['卒'] = ChessType.Pawns,
            };
        }

        /// <summary>
        /// 获取棋子名称
        /// </summary>
        /// <param name="type">棋子类型</param>
        /// <param name="camp">棋子阵营</param>
        /// <returns></returns>
        public static char GetName(this ChessType type, ChessCamp camp)
        {
            return camp == ChessCamp.Red ? RedChess[type] : BlackChess[type];
        }

后面还有 22 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。