Skip to content

Abschlussarbeit S21

Jirka Dell'Oro-Friedl edited this page Jul 1, 2021 · 7 revisions

Beachte dringend die Hinweise zur Abschlussarbeit!

Fußball-Simulation

Jogi Löw hat im Ruhestand endlich die Zeit, ein paar Fußballsituationen nachzuspielen, die er im Laufe seiner Karriere erlebt hat. Er hat dafür aber dann keine kickenden Millionäre mehr zur Verfügung, sondern ist auf eine webbasierte Simulation für PC angewiesen. Aus dem Schwarzwald stammend, hat er sich natürlich an uns gewandt und zunächst Folgendes vereinbart:

Für die erste Probeversion genügt es, wenn ein Fußballfeld dargestellt wird, auf dem die 22 Spieler ihre Positionen eingenommen haben. Jeder Spieler hat einen Wahrnehmungsradius von etwa 30 Meter um seine jeweils aktuelle Position herum, innerhalb dessen er auf den Ball reagiert. In der Startaufstellung soll damit jede Mannschaft das ganze Feld abdecken, die Spieler stehen also eher nicht nur in der eigenen Hälfte wie beim realen Anstoß. Wenn sich der Ball im Wahrnehmungsradius eines Spielers befindet, läuft dieser mit seiner individuellen Sprintgeschwindigkeit gleichmäßig auf den Ball zu. Ansonsten läuft er wieder an seine Startposition zurück.

Sobald ein Spieler am Ball angekommen ist, stoppt sämtliche Bewegung in der Simulation, als ob die Zeit stillstünde. Sodann kann Jogi auf eine Stelle im Monitor klicken, an die der Spieler den Ball schießen soll. Sobald der Klick ausgeführt wurde, läuft die Zeit weiter und der der Ball rollt, zunächst schnell, dann langsamer werdend, in die Nähe der Zielposition. Denn die Spieler verfügen auch über unterschiedliche Präzision, daher kann der Ball durchaus woanders zum Liegen kommen, auch ins Aus rollen und Fernschüsse auf das Tor gehen eher daneben.

Zur Interaktion mit der Simulation sollen Maus und Tastatur herangezogen werden. Jogi kann sich für jeden Spieler die Trikotnummer und die spielrelevanten Werte anzeigen lassen, den Spieler aus dem Spiel entfernen oder einen neuen Spieler auf eine bestimmte Ausgangsposition im Spielfeld schicken. Außerdem kann er die Minimal- und Maximalwerte für Sprintgeschwindigkeit und Präzision angeben, innerhalb derer die Werte der individuellen Eigenschaften der Spieler zufällig zugewiesen werden. Ach... und er möchte die Trikotfarben der Mannschaften frei bestimmen! Allerdings mag er mit Zahlen nicht so gerne umgehen, daher sollte das alles möglichst leicht und intuitiv mit Hilfe von Formularelementen zu machen sein.

Permanent wird der Spielstand angezeigt und welcher Spieler gerade in Ballbesitz ist. Und es bewegen sich noch ein Schiedsrichter auf dem Spielfeld und zwei Linienrichter am Spielfeldrand. Diese spielen aber natürlich nicht mit.

Deine Aufgabe ist es nun, diese erste Probeversion zu konzipieren und zu produzieren, die wenigstens das Besprochene sinnvoll nutzbar abbildet.

Hinweise

  • es genügt völlig, das Spielfeld in der Aufsicht darzustellen.
  • der Ball rollt immer flach am Boden, die dritte Dimension ist zunächst irrelevant.
  • um einen Punkt P1 um einen bestimmten Betrag a in Richtung eines anderen Punktes P2 zu verschieben, bestimme den Differenzvektor D = P2 - P1 und dessen Länge l, skaliere ihn um den Faktor a/l und addiere ihn auf P1 um die neue Position von P1 zu erhalten.
  • Alle Spieler und die Schiedsrichter sollen im Hauptprogramm in einem einzigen Array verwaltet werden.
Clone this wiki locally