Функция для одного раунда
Теперь воспользуемся функцией из предыдущего упражнения и напишем общую функцию evaluate_first_roll, которая будет выполнять один полный раунд игры в Craps. Как видно из примера кода ниже, функция принимает результат первого броска стрелка и действует в соответствии с ним. Функции roll_dice и roll_after_point уже загружены заранее.
Это упражнение является частью курса
Задачи по теории вероятностей на R
Инструкции к упражнению
- Используйте оператор
%in%, чтобы проверить, равен ли результат броска 7 или 11 — это означает немедленную победу. - Используйте оператор
%in%, чтобы проверить, равен ли результат броска 2, 3 или 12 — это означает немедленное поражение. - Если очко установлено, продолжайте бросать кости до тех пор, пока снова не выпадет значение очка (победа) или не выпадет 7 (поражение).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)
}