【发布时间】:2021-03-14 20:33:24
【问题描述】:
我是编码和使用 R 的新手。我正在做一个项目来模拟游戏 Liar's Dice,也称为 Perudo,并且对创建模拟有一些疑问。
基本上,该游戏由两名或多名玩家在一个杯子中掷五个骰子,将其翻转,然后对他们认为桌上有多少特定方进行出价。您可以查看自己的骰子,但不能查看其他人的骰子。要出价,轮到你说“两个 5”,这意味着至少有两个骰子落在 5 上。每次出价都会增加边数或数量。所以,如果你说“两个 5”,那么轮到我说“两个 6”或“三个 3”。
当你认为最后的出价不正确时,你会在轮到你时说“骗子”,然后每个人都亮出他们的骰子。如果你错了,你失去一个骰子,但如果你是对的,最后出价者失去一个骰子。这种情况一直持续到只剩下一个有骰子的玩家。
首先,我决定创建一个名为 cup() 的函数,它可以掷出一个由五个六面骰子组成的杯子。
cup <- function(sides = 6, dice = 5){
sample(1:sides, size = dice, replace = TRUE)
}
接下来,在一些帮助下,我创建了一个名为 cups() 的新函数,它为三个玩家滚动三个杯子。
cups <- function(players = 3, sides = 6, dice = 5){
out <- cup(sides, dice)
for(i in 2:players){
out <- rbind(out, cup(sides, dice))
}
rownames(out) <- 1:players
rownames(out) <- c("P1", "P2", "P3")
return(out)
}
接下来我想要完成的是创建一个可能的骰子结果概率表。换句话说,游戏中有 15 个骰子(每个玩家 5 个)至少有两个一方的概率是多少?然后在这种情况下,有 3、4、5 等的概率一直到 15。
我的问题是我将如何在 R 中执行此操作?在得到R中的概率后我应该往哪个方向发展?
【问题讨论】:
-
我想你会发现这样一个宽泛而不具体的问题你不会得到答案。我建议您将问题分解为更容易解决的具体问题。
标签: r probability dice