Función para jugar una ronda
Ahora vamos a usar la función del ejercicio anterior y a escribir una función general, llamada evaluate_first_roll, para completar una ronda de Craps. Como ves en el código de ejemplo, esta función tomará como entrada la primera tirada del lanzador y, a partir de ahí, seguirá el flujo correspondiente. Las funciones roll_dice y roll_after_point ya están precargadas para ti.
Este ejercicio forma parte del curso
Acertijos de probabilidad en R
Instrucciones del ejercicio
- Usa el operador
%in%para comprobar si la tirada es 7 u 11, lo que implica una victoria inmediata. - Usa el operador
%in%para comprobar si la tirada es 2, 3 o 12, lo que implica una derrota inmediata. - Si se establece un punto, sigue tirando hasta que vuelvas a sacar el punto (victoria) o salga un 7 (derrota).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
evaluate_first_roll <- function(roll){
# Check whether the first roll gives an immediate win
if(___){
won <- TRUE
}
# Check whether the first roll gives an immediate loss
if(___){
won <- FALSE
}
if(roll %in% c(4,5,6,8,9,10) ){
# Roll until the point or a 7 is rolled and store the win/lose outcome
won <- ___
}
return(won)
}