【发布时间】:2021-02-13 15:37:12
【问题描述】:
我们正在 Unity 中制作我们的第一个 2D 手机游戏,我们需要一些帮助。我们使用 Java 编写代码,但也是我们第一次编写 C#。
我们正在制作一款纸牌游戏,我们希望给每个玩家一个随机数,但是(这对我们来说是重要且困难的部分)我们希望每个随机数不要重复。 例如,如果我们有 5 名玩家,我们想分配一个从 5 到 10 的随机数,如果将 6 号分配给 1 号玩家,则不能将 6 号分配给其他玩家。
我们在这里:
//Player class only have string name and int trabajo
public static void assignRandom(Player jug)
{
int randomnum;
bool aleatorio;
do
{
randomnum= Random.Range(1, 5);
aleatorio = comprobarAleatorio(randomnum);
}
while (aleatorio);
jug.setTrabajo(randomnum);
}
public static bool comprobarAleatorio(int numaleatorio)
{
bool exists = false;
int longitud = jugadoresList.Count;
for (int i = 0; i < 5; i++)
{
if (jugadoresList[i].getTrabajo().Equals(numaleatorio))
{
exists = true;
}
}
}
然后我们使用 int 进行切换并在屏幕上显示您是哪种类型的玩家。但显然我们做错了什么,因为数字会重复,即使是 0(我们不知道如何)。
我们感谢您的每一次帮助。非常感谢! (对不起我们的英语)
【问题讨论】:
-
用你要处理的数字创建一个数组,然后选择一个随机数组条目,使用该数组元素并删除该元素,或者多次交换数组元素并按顺序处理数字
-
我认为你应该做一个 BINGO 游戏教程。了解如何生成随机卡片以及如何按随机顺序绘制 BINGO 球。