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
Instruções do exercício
- Escreva uma condição
if: se a mão estourar, faça com que oInt0 seja o resultado da função. - Escreva uma condição
else: se a mão não estourar, subtraiahandde 21 e faça dessa diferença o resultado da função. - Chame
pointsToBustpassando como argumento uma mão com as cartastenSpadesefiveClubs.
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)