Erste Spielversion
Keep or throw am Computer spielen
Wir können das Spiel nun am Computer mit Hilfe von BlueJ spielen. Dazu kannst du folgende Schritte interaktiv - also mit Hilfe der Maus - in BlueJ durchführen:
- Erstelle einen Endlosstapel, den du z.B.
ziehstapelnennst. - Erstelle zwei Ablagestapel. Auf einem Stapel sollen die Karten abgelegt werden,
die du behalten möchtest, auf dem anderen Stapiel die Karten, die du wegwerfen
möchtest.
Du kannst sie z.B.
keepstapelundthrowstapelnennen. Achtung: Du darfst den Stapel zum Wegwerfen nichtthrownennen, dathrowein reserviertes Wort in Kotlin ist. - Ziehe eine Karte und speichere sie in der Objektleiste.
- Sieh dir die Karte mit Hilfe des Objektinspektors oder durch Aufruf von
druckeKartean. - Entscheide, ob du die Karte behalten oder wegwerfen möchtest und lege sie auf den entsprechenden Stapel.
- Wiederhole das Ziehen und Ablegen von Karten ein paar mal.
- Werte das Spiel aus, indem du die Karten auf den beiden Stapeln zählst. Wenn du möchtest, kannst du die Stapel zum Abschluss auch einaml ausgeben.
Aufgabe 1 - Interaktiv spielen
Spiele das Spiel - zumindest in Ansätzen - auf die oben beschriebene Weise. Es reicht, wenn du ein paar Karten ziehst und ablegst.
Keep or throw automatisieren
Das Spiel auf die oben beschriebene Art zu spielen ist etwas mühsam.
Deshalb wollen wir den Ablauf etwas automatisieren.
Dazu benötigen wir die Funktion readLine(), welche eine Benutzereingabe
erwartet und diese als String zurückgibt.
Sie lässt sich z.B. so benutzen:
val eingabe: String = readln()
if(eingabe == "k") {
println("Keep")
} else {
println("Throw")
}
Aufgabe 2 - Benutzereingaben
(a) Schreibe ein Hauptprogramm, ...
-
das einen Endlosstapel
ziehstapelund zwei Ablagestapelkeepstapelundthrowstapelerzeugt. - Vom Endlosstapel soll eine Karte gezogen und diese ausgegeben werden.
-
Dann soll der Benutzer entscheiden, ob die Karte behalten oder weggeworfen werden soll.
Die Entscheidung wird über eine Tastatureingabe mit
readln()getroffen. - Abhängig von der Entscheidung soll die Karte auf den entsprechenden Stapel gelegt werden.
-
Abschließend sollen die Stapel
keepstapelundthrowstapelausgegeben werden.
(b) Erweitere das Programm so, dass z.B. 5 oder 10 Karten gezogen werden. Nutze dafür eine for-Schleife. Das Spiel ist nun in einer ersten Version spielbar. Teste es und ergänze noch weitere Ausgaben, um die Benutzerfreundlichkeit zu erhöhen, z.B. durch Ausgaben in der Art: Du hast die Karte 3 gezogen. Möchtest du sie behalten? (j/n)