내 게임에서 나는 이것에 대한 조건을 사용할 수 있음을 알고 있지만, 내게 더 쉬운 수학 방정식이 있는지 알고 싶었습니다. arc4random()
을 사용하고 싶습니다.arc4random()을 사용하는 확률 방정식?
내가해야 할 것은 :
- 내 점수는 1-20, 확률 인 경우 : 1
- 내 점수는 21-40, 확률의 경우 25 아웃 : 1이면 20
- 중 이게 가능 (10)
중 1 : 1
감사합니다.
내 게임에서 나는 이것에 대한 조건을 사용할 수 있음을 알고 있지만, 내게 더 쉬운 수학 방정식이 있는지 알고 싶었습니다. arc4random()
을 사용하고 싶습니다.arc4random()을 사용하는 확률 방정식?
내가해야 할 것은 :
중 1 : 1
감사합니다.
이 트릭을 할해야한다 (이것은 분명 희망!) :
int modNumber = 25;
float alteredScore = score - (floor((score-1)/60) - 1) * 60;
modNumber -= floor((alteredScore-1)/20) * 5;
int result = arc4random() % modNumber; // Or arc4random_uniform(modNumber) if you want to completely remove modulo bias, but beaing in mind the non-randomness (!) of arc4random and the size of modNumber I highly doubt it would make any real difference
if (!result) {
// Result is 0
// Do stuff for the lucky person
} else {
// Make them miserable
}
이 코드는 위의 주석 작성자의 의견과 어떻게 다른가요? –
내부적으로 내 생각에 비슷한 일을하는 것 같습니다. 확률이 무엇인지 알아 내기 위해서는 위와 같이 모듈 번호를 계산할 필요가 있으며,'arc4random_uniform()'를 사용하는 것이 훨씬 빠를 것이라고는 상상할 수 없습니다. 또한 iOS 용으로 제공되는지 여부는 알 수 없습니다. – jrtc27
문서를 살펴보면,'arc4random_uniform()'는 모듈로 바이어스를 피할 수 있지만, 중요하지 않은 작은 모듈 번호를 다루고 있습니다. 당신이 원하는 것을 사용하십시오. – jrtc27
가 왜'arc4random_uniform (확률)'사용하지 않는? 전달 된 값 아래에서 균일 한 분포를 보장하므로 10 중 1은'arc4random_uniform (10) == 0' (0은 10 이하의 숫자 일 수 있음)이됩니다. – ughoavgfhw