本文整理匯總了C#中GameState.Height方法的典型用法代碼示例。如果您正苦於以下問題:C# GameState.Height方法的具體用法?C# GameState.Height怎麽用?C# GameState.Height使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類GameState
的用法示例。
在下文中一共展示了GameState.Height方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: GameState
public GameState(GameState gs)
: this(gs.map, gs.Width(), gs.Height(), new Point(gs.MyX(), gs.MyY()), new Point(gs.OpponentX(), gs.OpponentY()))
{
this.map = (bool[,])gs.map.Clone();
}
示例2: FloodFill
private static int FloodFill(GameState gs, int x, int y)
{
Queue<Point> q = new Queue<Point>();
int total = 0;
// shallow copy array
bool[,] map = (bool[,])gs.map.Clone();
q.Enqueue(new Point(x,y));
map[x,y] = false;
//Console.Error.WriteLine(x + " " + y);
while(q.Count > 0) {
Point n = q.Dequeue();
if (n.X < 0 || n.Y < 0 || n.X >= gs.Width() || n.Y >= gs.Height())
continue;
// process neighbours, mark as visited and increment count
if (!map[n.X, n.Y]) {
q.Enqueue(new Point(n.X+1, n.Y));
q.Enqueue(new Point(n.X-1, n.Y));
q.Enqueue(new Point(n.X, n.Y-1));
q.Enqueue(new Point(n.X, n.Y+1));
map[n.X,n.Y] = true;
total++;
}
}
return total;
}