if und else in einer Funktion
Da if-Ausdrücke Werte ergeben, können sie das Ergebnis von Funktionen sein, die ebenfalls Werte liefern.
In dieser Übung erstellst du den Rumpf einer Funktion für dein Twenty-One-Programm namens pointsToBust. Sie nimmt den aktuellen Punktwert der Hand als Eingabe und berechnet, wie viele Punkte bis 21 fehlen. Als Spieler hilft dir das Wissen, wie viele zusätzliche Punkte deine aktuelle Hand zum Bust bringen würden, zu entscheiden, ob du eine Karte nimmst oder bleibst. Die benötigten Kartenvariablen und die Funktion bust sind bereits für dich definiert.
Diese Übung ist Teil des Kurses
Einführung in Scala
Anleitung zur Übung
- Schreibe eine
if-Bedingung: Wenn die Hand bustet, soll die Funktion denInt0 zurückgeben. - Schreibe eine
else-Bedingung: Wenn die Hand nicht bustet, ziehehandvon 21 ab und gib die Differenz als Ergebnis zurück. - Rufe
pointsToBustmit einer Hand mit den KartentenSpadesundfiveClubsals Argument auf.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
// Find the number of points that will cause a bust
def pointsToBust(hand: Int): Int = {
// If the hand is a bust, 0 points remain
___ ___
___
// Otherwise, calculate the difference between 21 and the current hand
___
___
}
// Test pointsToBust with 10♠ and 5♣
val myHandPointsToBust = ___
println(myHandPointsToBust)