Beispiel #1
0
        public string ToUsiString()
        {
            if (this == Resign)
            {
                return("resign");
            }
            else if (this == Win)
            {
                return("win");
            }

            string usiString = "";

            if (Drop)
            {
                usiString += char.ToUpper(PieceFrom.ToUsiChar());
                usiString += "*";
            }
            else
            {
                usiString += (char)(FileFrom + '1');
                usiString += (char)(RankFrom + 'a');
            }

            usiString += (char)(FileTo + '1');
            usiString += (char)(RankTo + 'a');

            if (Promotion)
            {
                usiString += "+";
            }

            return(usiString);
        }
Beispiel #2
0
 public override string ToString()
 {
     return($"{SideToMove.ToHumanReadableString()}{(char)('1' + FileTo)}{RankToKanjiLetters[RankTo]}{PieceFrom.ToHumanReadableString().Trim()[0]}{(Promotion ? "成" : "")}");
 }