/// <summary> /// ハッシュコードを取得します。 /// </summary> public override int GetHashCode() { // ValueType.GetHashCodeは遅いらしい。。。 if (IsSpecialMove) { return(SpecialMoveType.GetHashCode()); } else { var baseHashCode = BWType.GetHashCode() ^ SameAsOld.GetHashCode() ^ RelFileType.GetHashCode() ^ RankMoveType.GetHashCode() ^ ActionType.GetHashCode() ^ (Piece != null ? Piece.GetHashCode() : 0) ^ (SrcSquare != null ? SrcSquare.GetHashCode() : 0); if (SameAsOld) { return(baseHashCode); } else { return( baseHashCode ^ File.GetHashCode() ^ Rank.GetHashCode()); } } }
/// <summary> /// 駒の移動種類を文字列に変換します。 /// </summary> public static string ToString(RankMoveType rankMoveType) { return(RankMoveTypeTable[rankMoveType]); }
/// <summary> /// 駒の移動種類を文字列に変換します。 /// </summary> public static string ToString(RankMoveType rankMoveType) { return RankMoveTypeTable[rankMoveType]; }