我的编程课是让我们做狗赛博彩,其中一个方面就是把狗(总共9只)赢进一个结构的几率。例如,狗一赢了40%的时间,狗2赢了10%的时间,等等。我们的老师也制定了我们的目标之一,就是“展示产生和使用随机数的能力”。以下是我的结构/数组:
//DOG
typedef struct {
char Name[100];
int Payout;
double OddsWin;
}Dog;
Dog racers[9];对于如何解决这个问题,有什么建议吗?除了如何用概率随机生成数字之外,我还想知道如何用它来判断一只狗是赢了还是输了。某一数字的概率是否等于胜利?就像我做了1=一次胜利,我是否需要对它进行编码,这样它就能为狗1产生大约40%的时间,等等?
发布于 2022-03-20 10:13:13
基本上,如果我正确地理解了你,并试图简化你的问题,你想要找到一种方法,在狗(racers)的数组中随机选择,基于它们的OddsWin场,它们拥有获胜的机会(比如40%,20%,5.6%等等)。
一般提示-总是尝试在没有编码的情况下解决编程问题,然后开始编码。
所以基本上,你想在X,比如说4,狗之间做一个选择。说他们有以下可能性:
dog 1 - 40% to win
dog 2 - 20% to win
dog 3 - 7% to win
dog 4 - 33% to win所以我会取一个100片的数组,用40乘以1,20乘以2,7乘以3和33乘以4来填充。然后,我会选择一个随机数,介于0到99之间(数组索引),然后在than索引处检查数组。如果数组在该索引中的值为1,则比狗1赢得比赛,其他狗也一样。
也许有一种更有效的方法,但我认为这解决了问题:)
发布于 2022-03-21 18:14:59
一种方法是
-Choose在范围(最初为100)之间的随机数,-assign给狗从范围(循环到8,剩下的给9)。
实现有很多种选择,最简单的方法是给出值,并以某种方式操纵系统,生成狗的概率,即100 %,跑下计数器,选择狗(如果是val>0 )。在这里,您可以有另一个随机0-9生成器,以及自动化的进程。
https://stackoverflow.com/questions/71545693
复制相似问题