Funzione per eseguire un turno
Ora utilizziamo la funzione dell'esercizio precedente e scriviamo un'unica funzione generale, chiamata evaluate_first_roll, per completare un turno di Craps. Come mostrato nel codice di esempio qui sotto, questa funzione prende come input il primo lancio del tiratore e prosegue di conseguenza. Le funzioni roll_dice e roll_after_point sono già state caricate per te.
Questo esercizio fa parte del corso
Rompicapi di probabilità in R
Istruzioni dell'esercizio
- Usa l'operatore
%in%per controllare se il lancio è 7 o 11, con vittoria immediata. - Usa l'operatore
%in%per controllare se il lancio è 2, 3 o 12, con sconfitta immediata. - Se viene stabilito un point, continua a lanciare finché non esce di nuovo il point (vittoria) oppure esce un 7 (sconfitta).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)
}