Вот код: < /p>
Основной класс < /p>
Код: Выделить всё
HitTestResult treffer2 = VisualTreeHelper.HitTest(spielfeld2, schlange[0].LieferePosition());
if (treffer2 != null)
{
string name = ((Shape)(treffer2.VisualHit)).Name;
if (name == "Grenze" || name == "Schlange" || name == "hinterniss")
{
SpielEnde();
}
else if (name == "Apfel" || name == "Kollision")
{
punkte = spielpunkte.VeraenderePunkte(punkteMehr);
punktAnzeige.Content = punkte;
// Update der Beschleunigungszeit
UpdateBeschleunigungszeit();
// Geschwindigkeit alle 50 Punkte erhöhen
if (punkte % 50 == 0 && geschwindigkeit > 100)
{
geschwindigkeit -= 100;
timerSchlange.Interval = TimeSpan.FromMilliseconds(geschwindigkeit);
}
//ein Teil hinten an die Schlange anhängen
Schlangenteil sTeil = new(new Point(schlange[schlange.Count - 1].LiefereAltePosition().X, schlange[schlange.Count - 1].LiefereAltePosition().Y + schlange[schlange.Count - 1].LiefereGroesse()), Colors.Black);
schlange.Add(sTeil);
// Neuen Apfel erzeugen
meinApfel!.Entfernen(spielfeld2);
meinApfel = new(Colors.Green, 20);
meinApfel.Anzeigen(spielfeld2, balkenBreite);
}
}
< /code>
Apple Class: < /p>
public void Entfernen(Canvas meinCanvas)
{
//die beiden Objekte entfernen
meinCanvas.Children.Remove(kreis);
meinCanvas.Children.Remove(rechteckKollision);
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... snake-game