已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
2小时前关门了。
Improve this question
我想在10*10 2d阵列中生成20个随机障碍(“X”),问题是rand函数有时会重复值,因此它会在阵列中的同一位置设置障碍,因此它不会一直有20个障碍
游戏一开始应该示例化一个10x10的Map,其中包括随机分配的宝石(至少40),除了随机分配的障碍(至少20)
example of map
#include <iostream>
#include <ctime>
//#include <conio.h>
using namespace std;
void printMap(string arr[][10])
{
for (int r = 0; r < 10; r++)
{
for (size_t c = 0; c < 10; c++)
{
cout << arr[r][c] << " ";
}
cout << endl;
}
}
int main()
{
int x, y;
x = 10;
y = 10;
string a[10][10];
for (size_t i = 0; i < 10; i++)
{
for (size_t j = 0; j < 10; j++)
{
a[i][j] = ".";
}
}
// allocate 20 random obstacles
srand(time(0));
for (int i = 0; i <= 20; i++)
{
a[rand() % 9][rand() % 9] = "X";
}
// allocate 40 random gems
srand(time(0));
for (int f = 0; f <= 40; f++)
{
a[rand() % 9][rand() % 9] = "G";
}
printMap(a);
return 0;
}
1条答案
按热度按时间wpcxdonn1#
更新的示例在x=(0,9),y=(0,9)范围内生成20个唯一点