if y else dentro de una función
Como las expresiones if devuelven valores, pueden ser el resultado de funciones, que también devuelven valores.
En este ejercicio, crearás el cuerpo de una función para tu programa de Twenty-One llamada pointsToBust, que recibe como entrada el valor de puntos de la mano actual y calcula cuántos puntos faltan hasta 21. Como jugador, saber cuántos puntos adicionales harían que tu mano actual haga bust te ayudará a decidir si pedir carta o plantarte. Las variables de cartas que necesitas y la función bust ya están definidas para ti.
Este ejercicio forma parte del curso
Introducción a Scala
Instrucciones del ejercicio
- Escribe una condición
if: si la mano hace bust, haz que elInt0 sea el resultado de la función. - Escribe una condición
else: si la mano no hace bust, restahandde 21 y haz que esa diferencia sea el resultado de la función. - Llama a
pointsToBustcon una mano que tenga las cartastenSpadesyfiveClubscomo argumento.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
// 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)