作者kisha024 (4545454554)
看板C_Sharp
标题Re: [问题] 1A2B游戏的问题
时间Mon Oct 31 10:55:11 2022
※ 引述《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;
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.77.253.180 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1667184913.A.F9E.html