我正在为游戏编写一个播放器函数。在这个游戏中,你掷4个骰子,并使用不同骰子配对的总和来获得5到10之间的数字。我已经编码了将每个不同的骰子相加在一起及其结果,并确保它们处于正确的边界(5到10(。我不知道一旦使用了骰子,该怎么排除它的可能性。这就是我迄今为止所做的:在此处输入图像描述
解决这一问题的最佳方法是什么?
此函数掷骰子的数字d
,并根据总和在5和10之间的规则计算其值的组合总和。
roll <- function(d = 4){
f <- function(x) x > 4 & x < 11
r <- sample(6, d, TRUE)
r2 <- combn(r, 2, sum)
r3 <- combn(r, 3, sum)
r4 <- sum(r)
c(r[f(r)], r2[f(r2)], r3[f(r3)], r4[f(r4)])
}
set.seed(2021)
roll()
#[1] 6 6 8 10 8 10 6