s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

Blackjack-Duell

Aktuell versteht das Codepad von BlueJ noch keine Kotlin-Syntax, obwohl die Klassen in Kotlin geschrieben sind. Auf dieser Seite zeigen wir die Anweisungen grundsätzlich in Kotlin. In den Infoboxen darunter findest du jeweils die Java-Schreibweise, die du momentan im Codepad eingeben musst.

Wenn du die Verwendung der Java-Syntax verwirrend findest, kannst du diese Seite auch überspringen.

Befehle im Codepad ausführen

Das Codepad, auf Deutsch Direkteingabe, ist ein sehr praktisches Feature in BlueJ. Du kannst hier Code eingeben, der sofort ausgeführt wird. Das geht oft schneller, als Objekte per Mausklick zu erzeugen und Methoden daran aufzurufen, insbesondere wenn du ähnliche Aktionen mehrfach durchführen möchtest. Du kannst dann durch Drücken der ↑-Taste die letzten Befehle wiederholen.

Du kannst das Codepad über das Ansichts-Menü öffnen oder noch einfacher über den Pfeil unten rechts:

Codepad öffnen

Anschließend kannst du dort direkt Code eingeben, der dann ausgeführt wird:

Code eingeben

Blackjack zu zweit gegeneinander spielen

Auch ohne komplexe Spielelogik zu programmieren, kannst du nun mit Hilfe des Codepads Blackjack gegen eine andere Person spielen:

  1. Beide Spieler verwenden an getrennten Computern jeweils einen eigenen, gemischten Stapel. Die Bildschirme bleiben für den Gegner verdeckt.
  2. Beide ziehen zunächst zwei Karten.
  3. Danach entscheidet jeder für sich: eine weitere Karte ziehen oder aufhören.
  4. Wer mehr als 21 Punkte hat, verliert. Wenn beide keine Karte mehr möchten, gewinnt die höhere Punktzahl bis 21.
  5. Bei gleicher Punktzahl endet das Spiel unentschieden. Das gilt auch, wenn beide mehr als 21 Punkte haben.

Das Spiel im Codepad vorbereiten

Blende das Codepad in BlueJ ein. Gib die folgenden Anweisungen nacheinander ein und bestätige jeweils mit der Eingabetaste:

val stapel = Stapel()
stapel.erzeugeBlaetter(1)
stapel.mischen()
stapel.zaehleKarten()

Aktuell musst du im Codepad folgende Java-Schreibweise verwenden:

Stapel stapel = new Stapel();
stapel.erzeugeBlaetter(1);
stapel.mischen();
stapel.zaehleKarten() // ohne ;

Mit stapel.zaehleKarten() kontrollierst du, wie viele Karten sich im Stapel befinden. Das Codepad zeigt die Rückgabe der Methode direkt an.

Ziehe zunächst zwei Karten:

stapel.zieheUndZeige()
stapel.zieheUndZeige()

Aktuelle Java-Schreibweise im Codepad:

stapel.zieheUndZeige();
stapel.zieheUndZeige();

Danach entscheidest du nach jeder Karte selbst, ob du noch eine Karte ziehen möchtest. Gib dafür erneut stapel.zieheUndZeige() ein.

Aufgabe 1

Spielt zu zweit an getrennten Computern ein Blackjack-Duell. Haltet eure Bildschirme bis zum Ende verdeckt und vergleicht dann Karten und Punktzahlen.

Aufgabe 2

Beschreibe die einzelnen Schritte, die ihr dabei ausführt. Verwende mindestens diese Begriffe aus den vorherigen Abschnitten:
  • Konstruktor
  • Klasse
  • Objekt
  • Attribut
  • Datentyp
  • Methode
  • Parameter
  • Rückgabe

Suche

v
100.123.1.1.8 Blackjack-Duell
Kopieren durch Anklicken

Rückmeldung geben