/// <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)); }
/// <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()); }
/// <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); }