LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine if-Bedingung: Wenn die Hand bustet, soll die Funktion den Int 0 zurückgeben.
  • Schreibe eine else-Bedingung: Wenn die Hand nicht bustet, ziehe hand von 21 ab und gib die Differenz als Ergebnis zurück.
  • Rufe pointsToBust mit einer Hand mit den Karten tenSpades und fiveClubs als 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)
Code bearbeiten und ausführen