롤 플레잉 게임의 일반적인 주사위를 시뮬레이션하는 프로그램 또는 기능을 구현합니다. 최소한 두 개의 가장 일반적인 주사위 인 d6과 d20을 처리해야합니다.
그러나 전형적인 게이머가 실제 주사위 작업이 아니라 작동하기를 기대하는 것처럼 작동해야합니다.
이전에는 많은 주사위를 던지고 "1"을 얻은 주사위를 선택한 다음 다시 던질 때까지 매우 중요한 롤을 위해 특별히 운이 좋은 주사위를 가질 수 있다는 것은 게이머 사이의 농담입니다. "1"을 여러 번 굴린 몇 개. 그런 다음 순서대로 1을 여러 번 굴렸으므로 다음에 1을 굴릴 확률이 매우 낮아야합니다.
롤이 통계적으로 독립적이기 때문에 이것은 실제 생활에서 주사위가 작동하는 방식 이 아닙니다 .
시뮬레이션 된 주사위는 이전 롤을 고려해야하며, 도박꾼의 잘못에있는 도박꾼이 예상하는 방식과 비슷하게 작동해야합니다. 예를 들어, 낮은 숫자가 많이 굴리면 높은 숫자를 굴릴 확률이 높아져야합니다.
그러나 이것이 속임수 이므로 잘 숨겨야합니다 . 즉, 프로그램을 간단히 살펴보면 속임수를 밝히지 않아야합니다. 즉, 이전 결과를 명시 적으로 저장하고 모든 던지기에서 결과를 읽는 것은 너무 의심됩니다. 주사위의이 "속성"과 숨겨야 할 보너스 포인트를 정직한 실수로 위장하면 보너스 포인트를 숨겨야합니다. (예를 들어, "의도하지 않은"결함으로 자신의 RNG를 만듭니다)
유권자 여러분,이 "결함"이 얼마나 숨겨져 있는지 고려하십시오.
프로그램은 명확하고 난독 처리되지 않아야합니다. 난독 화 된 프로그램에서 악의적 인 코드를 숨기는 것은 너무 쉽습니다.
getRandomBetween(1,d)
더 깊이 들여다 볼 수 있습니다.