2010-03-20 35 views
2

我嘗試創建卡片配對遊戲。通常這些類型的遊戲它們匹配配對卡在一起(使用相同的文件名「A.JPG與A.JPG」)在C#中生成隨機配對圖片

但對我來說,有不同的名字「B.JPG與A.JPG」即時匹配的卡片(正確), 「C.JPG與D.JPG」(正確的),但與 「B.JPG與C.JPG」(不正確的答案)。

A.JPG-B.JPG < --correct

C.JPG-D.JPG < --correct

E.jpg-F.jpg < --correct

我當我隨機生成卡時遇到問題。我設法生成隨機卡,但我不管理與其配對onces生成它。下面是該問題的解釋

A.JPG-B.JPG < --correct

C.JPG-F.jpg < --incorrect

所以我應該如何它的代碼,以便它總是與他們配對onces產生,讓自己的遊戲能繼續嗎?

+0

到底是如何產生你隨機對?什麼讓你不能雙打? – Kobi 2010-03-20 20:04:31

回答

1

這讓我想起了Dijkstra Parable:看起來像最好的和最簡單的選項是在這裏做的兩個步驟:

  1. 生成對匹配。
  2. 選擇隨機配對,從已有效對的列表。
0

嗯,你可以看到,如果兩張卡匹配這樣的: A = 0,B = 1,C = 2,d = 3,...

card1 = 0; 
card2 = 1; 

//Match? 
if((card1%2 == 0 && card2 == (card1 + 1)) || 
    (card1%2 == 1 && card1 == (card2 + 1))) 
    return true;//Match!