으로 표시 게임 디자인 문제에 대해서는 이항 분포를 더 잘 검사해야합니다. R를 사용하여, I는 해당 이차원 테이블을 구축 할 필요가 - (다이의면의 수) (주사위 수가 압연), '양측'고정 파라미터 '풀'감안할 가지고이항 분포표를 R
- 행에서 -> (0에서 풀에 이르기까지) 성공의 수는
내가 계산하는 방법을 알고 -> 성공을위한 최소 열에서
편집 : 나는 성공의 수를 얻는 확률 p를 계산하고 싶다고 말하고 싶지 않다.
으로 표시 게임 디자인 문제에 대해서는 이항 분포를 더 잘 검사해야합니다. R를 사용하여, I는 해당 이차원 테이블을 구축 할 필요가 - (다이의면의 수) (주사위 수가 압연), '양측'고정 파라미터 '풀'감안할 가지고이항 분포표를 R
내가 계산하는 방법을 알고 -> 성공을위한 최소 열에서
편집 : 나는 성공의 수를 얻는 확률 p를 계산하고 싶다고 말하고 싶지 않다.
좋아,이 간단한 해결책이 될 수 있다고 생각합니다. 열에 대한 주사위 굴림 (p)의 행 및 성공 임계 값에 대한 성공률을 나타냅니다.
poolDistribution <- function(n, sides=10, digits=2, roll.Under=FALSE){
m <- 1:sides
names(m) <- paste(m,ifelse(roll.Under,"-", "+"),sep="")
s <- 1:n
names(s) <- paste(s,n,sep="/")
sapply(m, function(m.value) round((if(roll.Under) (1 - pbinom(s - 1, n, (m.value)/sides))*100 else (1 - pbinom(s - 1, n, (sides - m.value + 1)/sides))*100), digits=digits))
이렇게하면 절반이됩니다.
실제로 어떤 작업을했는지 표시하지 않았지만 R
을 처음 사용하는 경우 다른 벡터에 대한 인덱스로 값 벡터를 사용할 수 있다는 사실을 놓칠 수도 있습니다. 이로 인해 문제의 일부가 쉽게 해결됩니다.
pool <- 3
sides <- 20 # <cough>D&D<cough>
# you need to strore the values somewhere, use a vector
NumberOfRollsPerSide <- rep(0, sides)
names(NumberOfRollsPerSide) <- 1:sides # this will be useful in table
## Repeast so long as there are still zeros
## ie, so long as there is a side that has not come up yet
while (any(NumberOfRollsPerSide == 0)) {
# roll once
oneRoll <- sample(1:sides, pool, TRUE)
# add (+1) to each sides' total rolls
# note that you can use the roll outcome to index the vector. R is great.
NumberOfRollsPerSide[oneRoll] <- NumberOfRollsPerSide[oneRoll] + 1
}
# These are your results:
NumberOfRollsPerSide
나는이 숙제 아닌 희망) 은 모든 이제 카운트가 처음 등장하는 롤 번호를 각 측면에 대해, 할 일은 남아있다. 어떻게해야한다고 생각하십니까?
thex, 내 숙제가 아닙니다. 불행히도 저는 대학에 가기 엔 너무 늙었습니다.) 우리는 방금 RPG * 기침 * 비 D20 기반 * 기침 * 디자인 활동에 통계적으로 더 엄격하게 적용하기로 결정했습니다. 나는 R에 완전히 익숙하지 않지만, 보통은 실제 프로그래밍보다는 분석을 위해 사용합니다. 하지만 지금 코드를 사용해보십시오! :) 당신의 대답은 tnx! –
이것은 내가 계산할 필요가없는 동안 (나는 그에 따라 질문을 편집했다), 코드 스 니펫은 분석 할 필요가있는 다른 것을 위해 여전히 유용하다! Tnx가 귀하의 기여에 할당합니다! –
분명히 D & D라면 3d6 * AHEM * –
프로그래밍 문제 인 것처럼 보입니다. 그렇다면 스택 오버플로에서 더 잘 처리 할 수 있으며 중재자가이 질문을 마이 그 레이션 할 수 있습니다 (이 게시물에 플래그를 지정하고 SO에 다시 게시하지 않음). – chl
당신이 시도한 것을 보여주십시오. – Thomas
한 가지 방법은 적어도 한 번만 모든 값을 굴릴 때까지 계속 진행하는 것입니다. –