本文整理汇总了C#中Piece.CheckConvergence方法的典型用法代码示例。如果您正苦于以下问题:C# Piece.CheckConvergence方法的具体用法?C# Piece.CheckConvergence怎么用?C# Piece.CheckConvergence使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Piece
的用法示例。
在下文中一共展示了Piece.CheckConvergence方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CheckConvergence
private void CheckConvergence(Piece p)
{
if (p.CheckConvergence(this)) //収束したら
{
Console.WriteLine("No.{0}が{1}に収束", p.Number, p.SingleType);
// PC[PlayerNum,]++;
int PlayerNum = GetPlayerNumber(p.Orient);
int PieceNum = p.SingleType.GrHandle % CountPlys.Length;
if(++PieceCounters[PlayerNum,PieceNum] >= CountPlys[PieceNum])
{
List<Piece> list = new List<Piece>();
Console.WriteLine("矛盾調査開始");
foreach (var v in Board)
{
if (v.SingleType != p.SingleType && v.Orient == p.Orient) //同じプレイヤーのやつ
{
Console.WriteLine("\tNo.{0}を調査中", v.Number);
if (v.RemoveConvergencedType(this, p.SingleType))
{
list.Add(v);
}
}
}
Console.WriteLine("持ち駒を調査中");
foreach (var q in PlayerStock)
{
foreach (var v in q)
{
if (v.SingleType != p.SingleType && v.Orient == p.Orient) //同じプレイヤーのやつ
{
Console.WriteLine("\tNo.{0}を調査中", v.Number);
if (v.RemoveConvergencedType(this, p.SingleType))
{
list.Add(v);
}
}
}
}
Console.WriteLine("調査終了");
foreach (var v in list)
{
CheckConvergence(v);
}
}
foreach (var q in PlayerStock)
{
List<Piece> rem = new List<Piece>();
foreach (var v in q)
{
if (v.Orient == Position.Orientation.None)
{
rem.Add(v);
}
}
foreach (var v in rem)
{
q.Remove(v);
}
}
}
}