我们有一项任务是创建随机牌(5张牌)。卡片不能相同的地方。我们还没有学会如何使用数组,所以如果有人能帮助我们在不使用数组的情况下开始使用它会很好。
这就是我们开始的方式,但我们无法弄清楚如何不再使用同一张卡片。
static void Cards()
{
var rnd = new Random();
var suit, rank, count = 0;
while (count < 5)
{
rank = rnd.Next(13) + 1;
suit = rnd.Next(4) + 1;
if (suit == 1)
{
Console.WriteLine("Spader " + rank);
}
else if (suit == 2)
{
Console.WriteLine("Hjärter " + rank);
}
else if (suit == 3)
{
Console.WriteLine("Ruter " + rank);
}
else
{
Console.WriteLine("Klöver " + rank);
}
count++;
}
}
谢谢!
答案 0 :(得分:0)
这是数组可以处理的问题,因此学习如何使用它们会更容易。如果没有它们,您需要将5张卡存储在变量(字符串card1,字符串card2等)中,然后在每次迭代检查中查看该卡是否匹配其中任何一个并丢弃它,否则保存它。但是你有一大堆条件代码来查看将它存储在哪个变量中......
更容易拥有一个数组
string[] cards = new string[5];
然后你可以循环遍历数组寻找匹配(类似这样)
for(int idx=0; idx<5; idx++){
if(cards[idx]==thecardyouhavejustcreatedwithrandomcode){
break; //bail out of the for on a match
}
cards[iAntalKort]=thecardyouhavejustcreatedwithrandomcode;
}