Pong/Modellierung: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge)
Kowa (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
==Kurzbeschreibung==
[[Datei:Pong.png|mini|300px|rechts|gerahmt|ohne|PONG aus der Spielesammlung „Atari Arcade Hits #1“, herausgegeben von Hasbro Interactive – ein Remake des Orginals das Atari in den 70er-Jahren herausgebracht hat]]
[[Pong]] wird von zwei Spielern gespielt.
Ein Spieler kann das Spiel starten (Startknopf) und vorzeitig
beenden (Stopp-Knopf). Nach Spielstart können die beiden Spieler jeweils einen Schläger
am linken bzw. rechten Rand des Spielfeldes mit Hilfe der Richtungstasten des
Keyboards nach oben und unten bewegen. Wenn ein Schläger mit einer Seitenwand kollidiert stoppt er.
Er kann vom zugehörigen Spieler nur noch in Gegenrichtung bewegt werden.
Nachdem das Spiel gestartet wurde, bewegt sich
der Ball geradlinig im Spielfeld, wobei die Startrichtung zufällig
gewählt wird. Kollisionen mit der oberen oder
unteren Wand haben eine Richtungsänderung des Balls
zur Folge (Einfallswinkel = Ausfallwinkel).
Eine Kollision eines Schlägers mit dem Ball hat ebenfalls eine Richtungsänderung des Balls zu Folge.
Wird der Schläger im Moment der Kollision bewegt, so wird der Ball abhängig von der
Bewegungsrichtung und Geschwindigkeit des Schlägers abgelenkt.
Mit den Wänden hinter den Schlägern kollidiert der Ball nicht.
Passiert der Ball einen Schläger, verlässt er die Bühne durch Wand hinter dem Schläger
und der der Gegner, {{dh}} der
Akteur, der den anderen Schläger bedient, erhält einen Punkt.
Ziel des Spiels ist es, den Ball möglichst lange im Spiel zu halten.
Der aktuelle Punktestand (Score) wird den beiden Spielern jederzeit angezeigt.
== Use Cases (Anwendungfälle)==
== Use Cases (Anwendungfälle)==
[[Datei:WK Pong01 Use Cases.png|mini|600px|gerahmt|ohne|Use Cases des Spiels <code>Pong</code>]]
[[Datei:WK Pong01 Use Cases.png|mini|600px|gerahmt|ohne|Use Cases des Spiels <code>Pong</code>]]
Zeile 32: Zeile 5:
|id=UseCases
|id=UseCases
|head=<h3>Details</h3>
|head=<h3>Details</h3>
|body=Im Spiel Pong git es zwei Aktuere, die Spieler. Innerhalb des Spiels werden sie durch ihre Avatare, jeweils ein Schläger, vertreten.
|body=Im Spiel Pong git es zwei Akteure, die Spieler. Innerhalb des Spiels werden sie durch ihre Avatare, jeweils ein Schläger, vertreten.
(Formal gibt es in UML keine Aktuere innerhalb eines Systems. Da aber die spielentscheidenden Aktionen nicht durch die
(Formal gibt es in UML keine Akteure innerhalb eines Systems. Da aber die spielentscheidenden Aktionen nicht durch die
Spieler selbst, die nur die Schläger nach links oder rechts steuern können, sondern durch ihre Avatare ausgeführt werden,
Spieler selbst, die nur die Schläger nach links oder rechts steuern können, sondern durch ihre Avatare ausgeführt werden,
setze ich mich hier über den UML-Standard hinweg.)  
setze ich mich hier über den UML-Standard hinweg.)  


====Use Cases für Spieler====
====Use Cases für Spieler====
 
{{Use case
{{Use cases
| name = Spiel beenden
| akteure = Spieler
| vorbedingungen = Spiel läuft; aktueller Zustand: <code>running</code>
| nachbedingungen = Spiel wurde beender; aktueller Zustand: <code>stopped</code>
| beschreibung = Einer der beiden Spieler beendet das Spiel, indem er den Stoppknopf drückt. Daraufhin wid das Spiel ohne weitere Warnung beendet und der Startknopf wandelt sich in einen Startknopf. Der aktuelle Punktestand ist noch zu erkennen.
}}
{{Use cases
| name = Spiel starten
| name = Spiel starten
| akteure = Spieler
| akteure = Spieler
| vorbedingungen = Spiel wurde noch nicht gestartet; aktueller Zustand: <code>stopped</code>
| vorbedingungen = Spiel wurde noch nicht gestartet; aktueller Zustand: <code>stopped</code>
| nachbedingungen = Spiel läuft; aktueller Zustand: <code>running</code>
| nachbedingungen = Spiel läuft; aktueller Zustand: <code>running</code>
| beschreibung = Einer der beiden Spieler startet das Spiel, indem er den Startknopf drückt. Daraufhin wid das Spiel gestartet und der Startknopf wandelt sich in einen Stoppknopf.
| beschreibung = Einer der beiden Spieler startet das Spiel, indem er den Startknopf drückt. Daraufhin wird das Spiel gestartet und der Startknopf wandelt sich in einen Stoppknopf.
Der aktuelle Punktestand wird zurückgesetzt.
Der aktuelle Punktestand wird zurückgesetzt.
}}
{{Use case
| name = Spiel abbrechen
| akteure = Spieler
| vorbedingungen = Spiel läuft; aktueller Zustand: <code>running</code>
| nachbedingungen = Spiel wurde beendet; aktueller Zustand: <code>stopped</code>
| beschreibung = Einer der beiden Spieler bricht das laufende Spiel ab, indem er den Stoppknopf drückt. Daraufhin wird das Spiel ohne weitere Warnung beendet und der Startknopf wandelt sich in einen Startknopf. Der aktuelle Punktestand ist noch zu erkennen.
}}
}}


==== Use Cases für Avatare (Schläger)  ====
==== Use Cases für Avatare (Schläger)  ====
{{Use cases
{{Use case
| name = Spiel beenden
| name = Spiel beenden
| akteure = Avatare (Schläger)
| akteure = Avatare (Schläger)
| bedingte erweiterung von 01 = Ball passieren lassen
| bedingte erweiterung 01 von = Ball passieren lassen
| bedingung 01 = Einer der beiden Spieler (bzw. dessen Schläger) kann zum zehnten Mal einen Ball nicht zurückschlagen, sondern lässt ihn passieren.
| bedingung 01 = Einer der beiden Spieler (bzw. dessen Schläger) kann zum zehnten Mal einen Ball nicht zurückschlagen, sondern lässt ihn passieren.
| vorbedingungen = Spiel läuft; aktueller Zustand: <code>running</code>
| vorbedingungen = Spiel läuft; aktueller Zustand: <code>running</code>

Version vom 19. November 2018, 13:37 Uhr

Use Cases (Anwendungfälle)

Datei:WK Pong01 Use Cases.png
Use Cases des Spiels Pong

Details

Im Spiel Pong git es zwei Akteure, die Spieler. Innerhalb des Spiels werden sie durch ihre Avatare, jeweils ein Schläger, vertreten. (Formal gibt es in UML keine Akteure innerhalb eines Systems. Da aber die spielentscheidenden Aktionen nicht durch die Spieler selbst, die nur die Schläger nach links oder rechts steuern können, sondern durch ihre Avatare ausgeführt werden, setze ich mich hier über den UML-Standard hinweg.)

Use Cases für Spieler

Name Spiel starten
Akteur(e) Spieler
Vorbedingung(en) Spiel wurde noch nicht gestartet; aktueller Zustand: stopped
Nachbedingung(en) Spiel läuft; aktueller Zustand: running
Beschreibung Einer der beiden Spieler startet das Spiel, indem er den Startknopf drückt. Daraufhin wird das Spiel gestartet und der Startknopf wandelt sich in einen Stoppknopf. Der aktuelle Punktestand wird zurückgesetzt.
Name Spiel abbrechen
Akteur(e) Spieler
Vorbedingung(en) Spiel läuft; aktueller Zustand: running
Nachbedingung(en) Spiel wurde beendet; aktueller Zustand: stopped
Beschreibung Einer der beiden Spieler bricht das laufende Spiel ab, indem er den Stoppknopf drückt. Daraufhin wird das Spiel ohne weitere Warnung beendet und der Startknopf wandelt sich in einen Startknopf. Der aktuelle Punktestand ist noch zu erkennen.

Use Cases für Avatare (Schläger)

Name Spiel beenden
Akteur(e) Avatare (Schläger)
bedingte
Erweiterung von
Ball passieren lassen
Bedingung: Einer der beiden Spieler (bzw. dessen Schläger) kann zum zehnten Mal einen Ball nicht zurückschlagen, sondern lässt ihn passieren.
Vorbedingung(en) Spiel läuft; aktueller Zustand: running
Nachbedingung(en) Spiel wurde beendet; aktueller Zustand: stopped
Beschreibung Sobald ein Spieler 10 Punkte gesammelt hat, weil sein Gegner 10 Bälle hat passieren lassen, ist er der Gewinner und das Spiel wird beendet. Der aktuelle Punktestand wird noch angezeigt. Der Schläger wandelt sich in eine Startknopf. Das heißt, einer der Spieler kann jederzeit ein neues Spiel starten.