我的随机数生成器出了点问题。我的程序的工作原理是,玩家被给予一组忍者,每个忍者都有一个隐形分数。要取得进展,忍者需要通过“隐形检查”。他们如何通过是一个RNG将拉取0和忍者的隐形分数之间的任何整数。如果RNG拉出0,则它们不能通过检查。问题是,一些忍者的隐形得分是1,这导致他们总是不能通过检查。在我单独隔离和测试RNG之后,情况仍然是这样。我还注意到它似乎不能从隐形得分本身中拉出。例如,隐身得分为3的忍者永远不会拉出3,只能拉0、1和2。那么,我该如何修复这个RNG呢?
int stealth_check(struct ninja student[4]){
int stealth_pass;
int i;
for(i = 0; i < 4; i++){
stealth_pass = rand() % student[i].stealth;
printf("%d\n\n", stealth_pass);
}
return 0;
}发布于 2021-04-23 03:31:15
在模数中使用studenti.stealth之前,将其加1。
https://stackoverflow.com/questions/67219630
复制相似问题