2013-01-20 14 views
1

我正在開發使用Visual C#2010和XNA 4.0的Uno紙牌遊戲。我已經創建了所有Uno卡的108個元素的數組作爲數組元素。複製Visual C#和XNA中的精靈數組

現在我想爲遊戲開始時的4名玩家分配隨機7張牌。 所以我創建了一個隨機數,然後將該牌的牌分配給玩家。

for (int i = 0; i < 7; i++) 
     { 
      int r = rnd.Next(108); 
      if (vis[r] != 1) //vis[] is an array to checkk visited elements 
      { 

       // u[i] = Content.Load<Texture2D>("toString.Allcards[r]"); 
       u[i]=Content.Load<Texture2D>(ToString("Allcards[r]")); 
      } 

這是行不通的,請幫忙。

回答

0

假設「Allcards [r]」包含卡片的紋理(即,Allcards [1] ==「黑桃王牌」以及在項目中稱爲黑桃王牌的紋理),您可能需要這樣做:

u[i]=Content.Load<Texture2D>(Allcards[r]); 
0
for (int i = 0; i < 7; i++) 
      { 
       int r = rnd.Next(108); 
       if (vis[r] != 1) //vis[] is an array to checkk visited elements 
       { 

        // u[i] = Content.Load<Texture2D>("toString.Allcards[r]"); 
        u[i]=Content.Load<Texture2D>(Allcards[r].ToString()); 
       } 
      } 
0

你想Content.Load<Texture2D>(Allcards[r]);假設Allcards是一個字符串數組。如果Allcards是Texture2D對象的數組,則Content.Load是不必要的,因爲您已經加載它;你可以使用u[i] = Allcards[r]

話雖如此,你可能不想只給紋理給玩家;你會想給他們真正的卡。我建議創建一個Card類併爲其指定紋理,以及一些有用的信息,比如ID,也可以使用一些屬性來解釋它的作用。