Übungsaufgabe: Punktesystem für ein Arcade-Spiel
Situation
Du programmierst ein einfaches Arcade-Spiel. In diesem Spiel gibt es mehrere Spieler, die gleichzeitig spielen können. Jeder Spieler sammelt eigene Punkte, aber es gibt auch Werte, die für das gesamte Spiel gelten.
Das Spiel soll folgende Eigenschaften haben:
- Jeder Spieler hat:
- Einen Namen
- Einen eigenen Punktestand
- Die Möglichkeit, Punkte zu sammeln
- Das Spiel selbst hat:
- Eine Gesamtzahl aller gespielten Runden
- Eine Gesamtpunktzahl, die von allen Spielern gemeinsam erreicht wurde
Deine Aufgabe ist es, das Klassendesign und die Programmierung so zu gestalten, dass diese Anforderungen korrekt umgesetzt werden.
Anforderungen
- Erstelle eine Klasse
Player. - Jeder Spieler soll:
- einen Namen besitzen,
- eigene Punkte haben,
- eine Methode besitzen, mit der er Punkte bekommt.
- Das Spiel soll:
- mitzählen, wie viele Runden insgesamt gespielt wurden,
- mitzählen, wie viele Punkte insgesamt von allen Spielern gesammelt wurden.
- Bei jeder Spielrunde:
- bekommt ein Spieler Punkte,
- wird die Gesamtzahl der Runden erhöht,
- wird die Gesamtpunktzahl aktualisiert.
Programmablauf (Beispiel)
Dein Programm soll etwa so verwendet werden können:
Player p1 = new Player("Alex");
Player p2 = new Player("Jamie");
p1.PlayRound(10);
p2.PlayRound(5);
p1.PlayRound(7);
Console.WriteLine(p1.Name + ": " + p1.Points);
Console.WriteLine(p2.Name + ": " + p2.Points);
Console.WriteLine("Gespielte Runden insgesamt: " + ???);
Console.WriteLine("Gesamtpunkte aller Spieler: " + ???);Die Fragezeichen stehen für Werte, die nicht zu einem einzelnen Spieler gehören.
Zusatzaufgaben
- Erweitere das Spiel um eine Methode, die den aktuellen „Highscore” (höchster Punktestand eines Spielers) zurückgibt.
- Füge eine Methode hinzu, die das Spiel „zurücksetzt”:
- Alle Spieler starten wieder bei 0 Punkten.
- Alle globalen Zähler werden zurückgesetzt.
- Gib nach jeder Runde eine kleine Statusmeldung aus, z.B.:
- „Alex hat 10 Punkte bekommen. Gesamtpunkte im Spiel: 22”
Ziel der Aufgabe
Überlege dir genau: - Welche Daten gehören zu einem einzelnen Spieler? - Welche Daten gehören zum gesamten Spiel? - Wie können mehrere Spieler auf gemeinsame Werte zugreifen?
Diese Überlegungen bestimmen, wie deine Klassen aufgebaut werden müssen.
Viel Erfolg beim Programmieren! 🎮🔥