示例#1
0
文件: Board.cs 项目: Shiiina/Ragnarok
        /// <summary>
        /// オブジェクトの等値性を判定します。
        /// </summary>
        public static bool BoardEquals(Board x, Board y)
        {
            var result = Util.PreEquals(x, y);

            if (result != null)
            {
                return(result.Value);
            }

            return(x.BoardEquals(y));
        }
示例#2
0
        /// <summary>
        /// 局面から駒落ちなどの局面名を取得します。
        /// </summary>
        public static BoardType GetBoardTypeFromBoard(Board board)
        {
            var list = EnumEx.GetValues <BoardType>()
                       .Where(_ => _ != BoardType.None)
                       .Where(_ => Board.BoardEquals(board, _.ToBoard()))
                       .ToArray();

            if (!list.Any())
            {
                // 該当なし
                return(BoardType.None);
            }

            return(list.FirstOrDefault());
        }
示例#3
0
        /// <summary>
        /// オブジェクトの等値性を判定します。
        /// </summary>
        public static bool BoardEquals(Board x, Board y)
        {
            var result = Util.PreEquals(x, y);
            if (result != null)
            {
                return result.Value;
            }

            return x.BoardEquals(y);
        }