到目前为止,这是我的代码:
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int DealerRoll(int dealerRoll)
{
srand (time(NULL));
for (int dealerCount = 1; dealerCount <= 3; dealerCount++)
{
dealerRoll = rand()% 6+1;
cout << dealerRoll << " ";
}
return dealerRoll;
}
int PlayerRoll(int playerRoll)
{
srand (time(NULL));
for (int playerCount = 1; playerCount <= 3; playerCount++)
{
playerRoll = rand()% 6+1;
cout << playerRoll << " ";
}
return playerRoll;
}
int main()
{
int dealerRoll;
int playerRoll;
cout << "Dealer's Roll: " << endl;
DealerRoll(dealerRoll);
cout << endl << "Your Roll: " << endl;
PlayerRoll(playerRoll);
system ("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是经销商和玩家的随机(骰子)滚动总是一样的.输出将是这样的例如:
Dealer's Roll:
1 6 3
Your Roll:
1 6 3
Run Code Online (Sandbox Code Playgroud)
如何使玩家的滚动与此类经销商不同?
Dealer's Roll:
1 6 3
Your Roll:
4 2 5
Run Code Online (Sandbox Code Playgroud)
小智 5
这是因为你不断重置你的种子.这需要非直观地完成,否则你每次都会返回相同的看似随机的数字.(实际上确实有特定的用例,这就是你想要做的事情)只做一次在执行的顶部包含这一行,而不是在每个连续的循环函数中.
srand (time(NULL));
Run Code Online (Sandbox Code Playgroud)
参考这个主题更深入的答案.
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |