更好的随机数生成器

时间:2019-04-13 13:57:10

标签: java android random

我正在使用Android中的自动剪刀石头布应用程序,其中为两个“玩家”分配了一个值,然后对获胜者进行了评估。每秒重复一次。

String[] options = {"rock", "paper", "scissors"};

final String selected_player1 = options[new Random().nextInt(options.length)];
final String selected_player2 = options[new Random().nextInt(options.length)];

switch (selected_player1)
{
    case "rock":
        if (selected_player2.equals("paper"))
        {
            win_player2();
        }
        else if (selected_player2.equals("scissors"))
        {
            win_player1();
        }
        break;

    case "paper":
        if (selected_player2.equals("scissors"))
        {
            win_player2();
        }
        else if (selected_player2.equals("rock"))
        {
            win_player1();
        }
        break;

    case "scissors":
        if (selected_player2.equals("rock"))
        {
            win_player2();
        }
        else if (selected_player2.equals("paper"))
        {
            win_player1();
        }
        break;
}

问题在于,玩家2似乎几乎总是选择与玩家1相同的选项或获胜选项,因此一分钟(60个滴答声)之后,总分一直是1:20。如果我先声明并初始化player2,则得分会翻转。

是否可以使用一些其他/更好的RNG算法来防止这种情况发生?还是我的代码有问题?

0 个答案:

没有答案