Функція для одного раунду
Тепер скористаймося функцією з попередньої вправи та напишімо загальну функцію 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)
}