2010-03-20 13 views
2

Im essayer de créer des cartes correspondant à un jeu. normalement ce type de jeux ils associent des cartes jumelées ensemble (avec le même nom de fichier "A.jpg avec A.jpg")Générer des images jumelées au hasard en C#

mais dans mon cas, im correspondant à des cartes avec des noms différents "B.jpg avec A.jpg" (correct), "C.jpg avec D.jpg" (correct) mais avec "B.jpg avec C.jpg" (réponse incorrecte).

A.jpg-B.jpg < --correct

C.jpg-D.jpg < --correct

E.jpg-f.jpg < --correct

i faire face à un problème lorsque je génère les cartes au hasard. Je parviens à générer des cartes aléatoires mais je n'arrive pas à le générer avec leur paire d'onces. Ci-dessous une illustration du problème

A.jpg-B.jpg < --correct

C.jpg-f.jpg < --incorrect

alors comment doit coder i afin qu'il toujours générer avec leurs paires, de sorte que mon jeu peut continuer?

+0

Comment vous génèrent exactement aléatoire paire? Qu'est-ce qui vous empêche d'avoir des doubles? – Kobi

Répondre

1

Cela me rappelle Dijkstra Parable: ressemble à la meilleure option et la plus simple est de le faire ici en deux étapes:

  1. toutes les paires Generate.
  2. Choisissez des paires aléatoires, à partir d'une liste de paires déjà valides.
0

Eh bien, vous pouvez voir si deux cartes correspondent à ceci: 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!