8.5. Die Sache mit Pythagoras

Wenn Sie das Spiel nun ausprobieren, kommt die Wanze aus verschiedenen, manchmal unverhofften Ecken. Allerdings behält sie stets die von Anfang an eingeschlagene Richtung bei.

Damit kommen wir zur ersten Erweiterung von SetRandPos():

if (Typ == 1)
{
  int Drehung = Zufall.Next(3);
  if (Drehung == 0) SetSpeed(-Diff.X, Diff.Y);
  if (Drehung == 1) SetSpeed(Diff.X, -Diff.Y);
}

Wird beim Aufruf der Methode als Parameter eine Eins eingegeben, so wird zuerst eine zufällige Zahl erzeugt, die den Wert 0, 1 oder 2 haben kann. Diese Drehung bestimmt dann, ob die Richtung für den X-Wert oder den Y-Wert von Diff umgekehrt wird. Bei 0 verändert sich nichts.

Um diesen Effekt im Hauptprogramm zu aktivieren, ist ein entsprechender Aufruf ...

Get Spieleprogrammierung mit dem XNA Framework: Entwickeln für PC und Xbox now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.