Kollisionserkennung

Schließlich fehlt noch eine Kollisionserkennung. Dies ist eine Prüfung, ob der Spieler ein Hindernis berührt oder nicht. Um dies umzusetzen, überlegen wir uns, wie der kürzeste Abstand zwischen einem Punkt und einer vertikalen Linie (Strecke) bestimmt werden kann:

Die möglichen Fälle, die hier auftreten können, zeigt die Abbildung zuvor: Je nach Lage des Punktes (x, y) ist der kürzeste Abstand entweder die Entfernung zwischen dem Punkt und einem Ende der vertikalen Linie (Fälle A und D) oder aber es ist die horizontale Abweichung (Fälle B und C).

Im nachfolgenden Quellcode bestimmt die Funktion abstand_punkt_linie(x, y, z, y1, y2) genau den Abstand wie zuvor beschrieben. Diese Funktion wird verwendet, um die Kollisionserkennung umzusetzen.

Quellcode
Beispiel zur Kollisionserkennung.
Codingaufgabe

Mache dich mit dem Quellcode zuvor vertraut. Variiere die Spielparameter (insbesondere die Radien) und teste die Kollisionserkennung.

Quiz
Zusammenfassung