Re: [问题] 1A2B游戏的问题

楼主: kisha024 (4545454554)   2022-10-31 10:55:11
※ 引述《vintagehsieh (KIWI)》之铭言:
: 大家好,最近在写一个题目是1A2B。
: 其中有个部分是检查随机生成的四位数字是否有重复,
: 例如0123就可以,但1123就不行(因为1重复了),
: 但是不太知道怎么写,
: 能执行的时候还是会跑出有重复的数字。
: 我的步骤如下:
: 1. 制造一个长度为四的阵列(answer)
: 2. 然后随机种子选取四个数字,透过for循环放到答案中
: 3. 跳到检查的方法中,检查直到通过,再返回答案存到答案中
: 我的程式码如下:
给你参考
public class GuessNumber
{
public int[] answer;
public void newGame()
{
this.answer = RandomCheck();
}
public int[] RandomCheck()
{
int[] answer = new int[4];
var random = new Random(Guid.NewGuid().GetHashCode());
for (int i = 0; i < answer.Length; i++)
answer[i] = random.Next(0, 10);
for (int i = 0; i < answer.Length - 1; i++)
{
for (int j = i + 1; j < answer.Length; j++)
{
if (answer[i] == answer[j])
{
//重复了,再重跑一次
return RandomCheck();
}
}
}
return answer;
}
}

Links booklink

Contact Us: admin [ a t ] ucptt.com