本文整理汇总了C#中System.Collections.Generic.PriorityQueue.EnqueueArray方法的典型用法代码示例。如果您正苦于以下问题:C# PriorityQueue.EnqueueArray方法的具体用法?C# PriorityQueue.EnqueueArray怎么用?C# PriorityQueue.EnqueueArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Generic.PriorityQueue
的用法示例。
在下文中一共展示了PriorityQueue.EnqueueArray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: makeNextMove
public int[] makeNextMove(Grid board)
{
PriorityQueue<MoveNode> q = new PriorityQueue<MoveNode>();
q.initialize(expandNodes(board, null, 1));
MoveNode current = q.Dequeue();
while ((current.Ply < depth) && !(q.isEmpty))
{
MoveNode next = q.Dequeue();
if(next.Rank> current.Rank)
{
current = next;
MoveNode[] expnd = expandNodes(current.Board, current, (current.Ply + 1));
if(expnd.Length > 0)
q.EnqueueArray(expnd);
}
}
while(current.Ply > 1)
{
current = current.PreviousMove;
}
//this will be the best move to make after expanding down to depth plys.
int[] result = { current.Group.X, current.Group.Y };
Console.WriteLine("rank: " + current.Rank);
return result;
}