i

Spielelogik

Basisversion

Die Hauptarbeit ist mit der Implementierung des Stapels schon erledigt. Zum Spielen benötigt man mehrere Stapel von Karten und ein paar wenige Methoden, um das Spiel zu steuern.

Klassendiagramm zur Spielelogik

Achtung: throw ist in Java ein Schlüsselwort, genau wie z.B. while oder if. Deshalb darf der "Wegwerfstapel" nicht throw heißen, sondern z.B. throwStapel.

Konstruktor

Im Konstruktor werden die drei Stapel erzeugt und der gemischte Stapel z.B. mit 10 Karten gefüllt.

Struktogramm für Konstruktor

Aufgabe 1 - Konstruktor

Implementiere den Konstruktor. Teste den Erfolg mit Hilfe des Objektinspektors auf folgende Art:

Betrachten der nächsten Karte

Die Methode betrachteNaechsteKarte zeigt den Wert der obersten Karte an:

Strukogramm für betrachteNaechsteKarte

Aufgabe 2 - betrachteNaechsteKarte

Implementiere die Methode und teste sie.

Karten ablegen

Die Methode behalten wird aufgerufen, um die aktuelle Karte auf dem keep-Stapel anzulegen. Man kann sie z.B. so umsetzen:

Strukogramm für behalten

Aufgabe 3 - behalten

Implementiere die Methode. Du musst sie nicht genau wie im Struktogramm umsetzen, es wäre z.B. auch denkbar eine Karte, die zu klein ist zum Behalten, automatisch auf den throw-Stapel zu legen. Teste die Implementierung mit dem Objektinspektor, ähnlich wie bei Aufgabe 1.

Achtung: Du musst eine Karte erst von einem Stapel abheben, bevor Du sie auf einen anderen Stapel legen kannst. Dies entspricht auch der Logik eines realen Stapels. Warum das so wichtig ist, kannst Du Dir bei den Übungen klar machen.

Aufgabe 4 - wegwerfen

Ähnlich der behalten-Methode wird die Methode wegwerfen implementiert. Allerdings sind weniger Fallunterscheidungen notwendig, da man eine gezogene Karte in jedem Fall auf den throw-Stapel legen darf. Implementiere die Methode.

Spiel auswerten

Wenn der gemischte Stapel leer ist, möchte man vermutlich das Spiel auswerten. Dazu kann man folgendermaßen vorgehen:

Strukogramm für auswerten

Aufgabe 5 - auswerten

Erkläre die einzelnen Schritte und implementiere die Methode.

Eigene Variante des Spiels

Das Spiel ist nun fertig und spielbar. Sicher fallen Dir einige Dinge ein, wie man das Spiel variieren könnte. Einige Ideen:

  • Der Benutzer soll nicht über die BlueJ-Oberfläche die Methoden auswählen müssen. Stattdessen soll das Spiel komplett über Tastatureingaben gesteuert werden. Wie man Benutzereingaben liest, kannst Du z.B. unter Anhang - Java Schnipsel nachschauen.
  • Mehrere Spieler spielen im Wechsel. Der Spieler, der insgesamt mehr Karten behalten hat, gewinnt.
  • Mehrere Spieler spielen mit einem gemeinsamen gemischten Stapel und jeweils einem eigenen keep-Stapel.
  • ... sei kreativ ...

Aufgabe 6 - Eigene Variante

Erweitere das Spiel nach Deinen eigenen Ideen.

Suche

v
7.1.3.2.6
inf-schule.de/oop/java/beziehungen/keeporthrow/spielelogik
inf-schule.de/7.1.3.2.6
inf-schule.de/@/page/NZZ2Fe8aEtNRZbGq

Rückmeldung geben