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:
Anschließend kannst du dort direkt Code eingeben, der dann ausgeführt wird:
Blackjack zu zweit gegeneinander spielen
Auch ohne komplexe Spielelogik zu programmieren, kannst du nun mit Hilfe des Codepads Blackjack gegen eine andere Person spielen:
- Beide Spieler verwenden an getrennten Computern jeweils einen eigenen, gemischten Stapel. Die Bildschirme bleiben für den Gegner verdeckt.
- Beide ziehen zunächst zwei Karten.
- Danach entscheidet jeder für sich: eine weitere Karte ziehen oder aufhören.
- Wer mehr als 21 Punkte hat, verliert. Wenn beide keine Karte mehr möchten, gewinnt die höhere Punktzahl bis 21.
- 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
Aufgabe 2
- Konstruktor
- Klasse
- Objekt
- Attribut
- Datentyp
- Methode
- Parameter
- Rückgabe