ComeçarComece de graça

if e else dentro de uma função

Como expressões if resultam em valores, elas podem ser o resultado de funções, que também resultam em valores.

Neste exercício, você vai criar o corpo de uma função para o seu programa Twenty-One chamada pointsToBust, que recebe como entrada o valor em pontos da mão atual e calcula o número de pontos restantes até 21. Como jogador, saber quantos pontos adicionais fazem sua mão estourar ajuda a decidir entre pedir carta (hit) ou parar (stay). As variáveis de cartas de que você precisa e a função bust já estão definidas para você.

Este exercício faz parte do curso

Introdução a Scala

Ver curso

Instruções do exercício

  • Escreva uma condição if: se a mão estourar, faça com que o Int 0 seja o resultado da função.
  • Escreva uma condição else: se a mão não estourar, subtraia hand de 21 e faça dessa diferença o resultado da função.
  • Chame pointsToBust passando como argumento uma mão com as cartas tenSpades e fiveClubs.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

// 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)
Editar e executar o código