gpt4 book ai didi

java - 从列表中创建一个玩家团队

转载 作者:行者123 更新时间:2023-12-04 06:06:42 24 4
gpt4 key购买 nike

嘿,我正在尝试创建一种随机方式从链表中选择一个 4 人的团队,我想知道此代码是否有效。

这是一个示例代码

 public static void enterGame(Client c) {
int n = teamSize;
boolean startNewGame = false;
if(waitingPlayers.size() <= 3) {
return; // not enough players
}
startNewGame = true;
if(startNewGame) {
System.out.println("Starting new game");
for(int i=0; i<n; i++) {
Collections.shuffle(waitingPlayers);
System.out.println("Picking random player");
waitingPlayers.remove(c);
System.out.println("removing from random player list");
players.add(c);
System.out.println("adding player to ingame list");
}
}
}

最佳答案

我会用 Collections.shuffle()和一个子列表。为了知道您的代码是否有效,为什么不测试它(单元测试或只是尝试一下)?

另外,这部分:

boolean startNewGame = false;
if(waitingPlayers.size() > 3) {
startNewGame = true;
} else {
startNewGame = false;
return;
}
if(startNewGame) {

太复杂了,我将其替换为:
if(waitingPlayers.size() <= 3) {
return; // not enough players
}

完整代码:
public static void enterGame(final Client c) {      
if(waitingPlayers.size() <= 3) {
return; // not enough players
}

System.out.println("Starting new game");
Collections.shuffle(waitingPlayers);
System.out.println("Picking random players");
// ? to be replaced by the real type of objects inside waitingPlayers
final List<?> picked = waitingPlayers.subList(0, 3);
players.addAll(picked);
waitingPlayers.removeAll(picked);
}

关于java - 从列表中创建一个玩家团队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com