1

我正在使用 Visual C# 2010 和 XNA 4.0 开发 Uno 纸牌游戏。我创建了一个包含所有 Uno Card 的 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]"));
            } 

这不起作用,请帮助。

4

3 回答 3

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());
                } 
            }
于 2013-01-21T04:25:29.070 回答
0

您想Content.Load<Texture2D>(Allcards[r]);假设 Allcards 是一个字符串数组。如果 Allcards 是一个 Texture2D 对象的数组,那么Content.Load是不必要的,因为您已经加载了它;你可以使用u[i] = Allcards[r].

话虽如此,您可能不想只为玩家提供纹理;你会想给他们真正的卡片。我建议创建一个 Card 类并为其分配纹理,以及一些有用的信息,如 ID,也许还有一些属性来解释它的作用。

于 2013-01-29T17:15:11.880 回答
0

假设 "Allcards[r]" 包含卡片的纹理(即,Allcards[1] == "Ace of Spades" 并且在您的项目中有一个名为 Ace of Spades 的纹理),您可能想要这个:

u[i]=Content.Load<Texture2D>(Allcards[r]);
于 2013-01-20T08:31:48.097 回答