本文整理汇总了C#中Board.GetCapturedPieceCount方法的典型用法代码示例。如果您正苦于以下问题:C# Board.GetCapturedPieceCount方法的具体用法?C# Board.GetCapturedPieceCount怎么用?C# Board.GetCapturedPieceCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Board
的用法示例。
在下文中一共展示了Board.GetCapturedPieceCount方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandToSfen
/// <summary>
/// 持ち駒をSFEN形式に変換します。
/// </summary>
private static string HandToSfen(Board board)
{
var handList =
from turn in new BWType[] { BWType.Black, BWType.White }
from pieceType in EnumEx.GetValues<PieceType>()
let obj = new
{
Piece = new BoardPiece(pieceType, false, turn),
Count = board.GetCapturedPieceCount(pieceType, turn),
}
where obj.Count > 0
select string.Format("{0}{1}",
(obj.Count > 1 ? obj.Count.ToString() : ""),
SfenUtil.PieceToSfen(obj.Piece));
// ToArray()しないと、MONOでstring.Joinのコンパイルに失敗します。
var array = handList.ToArray();
return (array.Any() ? string.Join("", array) : "-");
}
示例2: HandToCsa
/// <summary>
/// 持ち駒をCSA形式に変換します。
/// </summary>
/// <example>
/// P+00KIOOFU
/// </example>
private static string HandToCsa(Board board, BWType turn)
{
var handList =
from pieceType in EnumEx.GetValues<PieceType>()
let count = board.GetCapturedPieceCount(pieceType, turn)
let str = string.Format("00{0}",
CsaUtil.PieceToStr(new Piece(pieceType)))
let list = Enumerable.Range(1, count).Select(_ => str)
select string.Join("", list.ToArray());
// ToArray()しないと、MONOでstring.Joinのコンパイルに失敗します。
var array = handList.ToArray();
if (!array.Any())
{
return string.Empty;
}
else
{
return string.Format("P{0}{1}",
turn == BWType.Black ? "+" : "-",
string.Join("", array));
}
}
示例3: HandToBod
/// <summary>
/// 持ち駒を文字列に直します。
/// </summary>
private static string HandToBod(Board board, BWType turn)
{
var list =
from pieceType in EnumEx.GetValues<PieceType>()
let obj = new
{
Piece = new Piece(pieceType, false),
Count = board.GetCapturedPieceCount(pieceType, turn),
}
where obj.Count > 0
select string.Format("{0}{1}{2} ",
KifUtil.PieceToChar(obj.Piece),
(obj.Count >= 10 ? "十" : ""),
(obj.Count == 10 || obj.Count == 1 ? "" :
IntConverter.Convert(NumberType.Kanji, obj.Count % 10)));
var array = list.ToArray();
return (array.Any() ? string.Join("", array) : "なし");
}