我正在使用Visual C#2010和XNA 4.0开发Uno纸牌游戏。我已经创建了一个包含所有Uno Cards的108个元素的数组作为数组元素。
现在我想在游戏开始时为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 :(得分:0)
假设“Allcards [r]”保存卡片的纹理(即Allcards [1] ==“Ace of Spades”,并且你的项目中有一个名为Ace of Spades的纹理),你可能会想要这样:< / p>
u[i]=Content.Load<Texture2D>(Allcards[r]);
答案 1 :(得分: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());
}
}
答案 2 :(得分:0)
您希望Content.Load<Texture2D>(Allcards[r]);
假设Allcards是一个字符串数组。如果Allcards是Texture2D对象的数组,那么Content.Load
是不必要的,因为你已经加载了它;你可以使用u[i] = Allcards[r]
。
话虽如此,你可能不想只为玩家提供纹理;你会想给他们真正的卡片。我建议创建一个Card类并为其分配纹理,以及一些有用的信息,如ID,以及一些属性来解释它的作用。