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

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. ziehstapel nennst.
  • 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. keepstapel und throwstapel nennen. Achtung: Du darfst den Stapel zum Wegwerfen nicht throw nennen, da throw ein 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 druckeKarte an.
  • 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 ziehstapel und zwei Ablagestapel keepstapel und throwstapel erzeugt.
  • 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 keepstapel und throwstapel ausgegeben 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)

Suche

v
100.123.4.1.3 Erste Spielversion
Kopieren durch Anklicken

Rückmeldung geben