2014-03-05 2 views
0

У нас есть задача создать случайную комбинацию карт (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

1) Detta är инте ETT Сталле för дина läxor 2) Skriv все эр KOD på английский и, Det Som presenteras för användaren skall självklart вара lokaliserat мужчины Гур ска Icke-svenskar Första VAD п Gör? 3) StackOverflow finns inte до тех пор, пока он не появится на экране. 4) Använd inte prefix (iFarg) i variabelnamn! – Zache

+3

@ Zache English please .. :) –

+4

Это говорит им на своем родном языке, чтобы использовать английский для понимания всех :) – Zache

ответ

0

Это проблема, с которой могут справиться массивы, поэтому было бы легче научиться их использовать. Без них вам нужно сохранить ваши 5 карт в переменных (строка card1, string 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; 
} 
Смежные вопросы