Hàm chạy một vòng chơi
Giờ hãy dùng hàm từ bài trước và viết một hàm tổng quát, gọi là evaluate_first_roll, để hoàn thành một vòng Craps. Như trong mã mẫu bên dưới, hàm này sẽ nhận lần đổ đầu tiên của người bắn (shooter) làm đầu vào và xử lý tương ứng từ đó. Các hàm roll_dice và roll_after_point đã được nạp sẵn cho bạn.
Bài tập này là một phần của khóa học
Câu đố Xác suất với R
Hướng dẫn bài tập
- Dùng toán tử
%in%để kiểm tra lần đổ có phải 7 hoặc 11 không; nếu đúng thì thắng ngay. - Dùng toán tử
%in%để kiểm tra lần đổ có phải 2, 3, hoặc 12 không; nếu đúng thì thua ngay. - Nếu đã thiết lập điểm (point), tiếp tục đổ cho đến khi hoặc là điểm đó xuất hiện lại (thắng), hoặc ra 7 (thua).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)
}