ฟังก์ชันสำหรับเล่นหนึ่งรอบ
ต่อไปจะใช้ฟังก์ชันจากแบบฝึกหัดก่อนหน้า แล้วเขียนฟังก์ชันหลักชื่อ evaluate_first_roll เพื่อจำลองการเล่น Craps หนึ่งรอบให้ครบ ดังที่เห็นในโค้ดตัวอย่างด้านล่าง ฟังก์ชันนี้รับค่าการทอยครั้งแรกของผู้ทอยเป็น input แล้วดำเนินการต่อตามผลที่ได้ ฟังก์ชัน roll_dice และ roll_after_point ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Probability Puzzles in R
คำแนะนำการฝึกหัด
- ใช้ operator
%in%ตรวจสอบว่าผลทอยเป็น 7 หรือ 11 หรือไม่ ซึ่งหมายถึงชนะทันที - ใช้ operator
%in%ตรวจสอบว่าผลทอยเป็น 2, 3 หรือ 12 หรือไม่ ซึ่งหมายถึงแพ้ทันที - หากมีการกำหนด point ให้ทอยต่อจนกว่าจะทอยได้ค่า point อีกครั้ง (ชนะ) หรือทอยได้ 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)
}