2014-03-05 239 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 AR INTE ETTställeFÖR迪娜läxor 2)Skriv所有ER KODPåengelska,DET索姆presenterasFÖRanvändarenskallsjälvklart翻lokaliserat男人許斯卡ICKE-svenskarförståVAD妮GOR? 3)StackOverflow可以幫助你完成所有的工作。 4)Användinte prefix(iFarg)i variabelnamn! – Zache

+3

@Zache英語請:) .. –

+4

這是告訴他們在他們自己的語言使用英語的每個人都理解:) – Zache

回答

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; 
}