本文整理汇总了C#中System.Windows.Media.PointCollection.Where方法的典型用法代码示例。如果您正苦于以下问题:C# PointCollection.Where方法的具体用法?C# PointCollection.Where怎么用?C# PointCollection.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.PointCollection
的用法示例。
在下文中一共展示了PointCollection.Where方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: tick2
//Tick do jogo
public void tick2()
{
//Stopwatch para testar performance
Stopwatch st1 = new Stopwatch();
st1.Start();
//Pega as direções armazenadas e joga pra direção atual
if (subDir1 != Direcao.Nenhuma)
{
direction = subDir1;
subDir1 = Direcao.Nenhuma;
}
if (subDir2 != Direcao.Nenhuma)
{
subDir1 = subDir2;
subDir2 = Direcao.Nenhuma;
}
//Move snake para a proxima posição e executa o metodo
if (direction == Direcao.Left)
{
posição.X -= dimension;
moveRect();
}
else
if (direction == Direcao.Right)
{
posição.X += dimension;
moveRect();
}
else
if (direction == Direcao.Up)
{
posição.Y -= dimension;
moveRect();
}
else
if (direction == Direcao.Down)
{
posição.Y += dimension;
moveRect();
}
//Passa por todos os retangulos para mudar sua cor caso mude de tema e mudar o tamanho da Border
PointCollection d = new PointCollection();
for (int i = 0; i < rects.Count; i++)
{
d.Add(new Point(Canvas.GetLeft(rects[i]), Canvas.GetTop(rects[i])));
rects[i].StrokeThickness = i / (double)rects.Count;
if (i == rects.Count - 1)
{
rects[i].StrokeThickness = 1.2;
}
if (rects[i].Fill != rectColor)
{
rects[i].Fill = rectColor;
}
if (rects[i].Stroke != rectStrokeColor)
{
rects[i].Stroke = rectStrokeColor;
}
}
//Caso a cobra bata em si mesma
if (d.Where(l => l == posição).Count() > 1)
{
Canvas.SetZIndex(rects.Last(), int.MaxValue);
rects.Last().Fill = hitColor;
t.Stop();
MessageBox.Show("Nice");
t.Dispose();
return;
}
//Caso saia do quadrado
if (posição.X > 29 * dimension || posição.Y > 29 * dimension || posição.X < 0 || posição.Y < 0)
{
rects.Last().Fill = hitColor;
t.Stop();
MessageBox.Show("Nice");
t.Dispose();
}
//Teste de performance
st1.Stop();
Debug.WriteLine(st1.Elapsed);
}