в startGameButton_Click выводится все -1. Я до сих пор не заметил в чём ошибка.
Как определить,придумал ли рандом одинаковое число,по-другому не знаю,как,кроме перебора. Почему он выходит из цикла. Он должен перебрать его,пока рандом не выдаст число,отличное от тех чисел,что уже были.
private void startGameButton_Click(object sender, EventArgs e)
{
int[] t_numbers;
MessageBox.Show("Game started...");
GetRandomLocate(out t_numbers);
string str = "";
foreach (var t in t_numbers)
str += t.ToString() + " ";
MessageBox.Show(str);
}
private void GetRandomLocate(out int[] t_numbers)
{
Random random = new Random();
bool flag = true;
t_numbers = new int[Logic.size];
for (int i = 0; i < Logic.size; i++)
t_numbers[i] = -1;
for(int i = 0;i<Logic.size;i++)
{
while(flag)
{
int rnd = random.Next(0, Logic.size + 1);
int ind = 0;
foreach (var t in t_numbers)
if (t == rnd)
ind = 1;
if (ind == 0)
{
t_numbers[i] = rnd;
flag = !flag;
}
else
flag = true;
}
}
}