【发布时间】:2022-08-10 22:41:19
【问题描述】:
我正在尝试比较从列表中获取随机元素的函数的结果,以确保元素不相同。我的代码大部分时间给出了不同的元素,但偶尔会导致 player1 和 player2 的元素相同。我假设这是因为在 player2gen 函数中调用 player1 时,它会生成一个新变量。我不知道如何解决这个问题。
我的代码:
player1gen(List players) {
return players[Random().nextInt(players.length)].toString();
}
String get player1 => player1gen(players);
player2gen(List players) {
String player2comp = players[Random().nextInt(players.length)].toString();
while (player2comp == player1) {
String player2comp = players[Random().nextInt(players.length)].toString();
if (player2comp != player1) {
break;
}
}
return player2comp;
}
String get player2 => player2gen(players);
-
无论何时使用,您总是想要一个新的
player1,还是只想要两个可以继续使用的不同播放器?我觉得前者很违反直觉,因为您只能访问您的播放器一次。 -
当它被调用时,我总是想要一个新的 player1,与 player2 相同。每一轮都需要有不同的玩家。