class Player{
final String playerName;
final int playerValue;
Player({this.playerName,this.playerValue});
final List <Player> playersList = [
Player(playerName: 'player1', playerValue: 20),
Player(playerName: 'player2', playerValue: 20),
Player(playerName: 'player1', playerValue: 30),
Player(playerName: 'player3', playerValue: 50),
Player(playerName: 'player5', playerValue: 60),
];
player1 = (playersList..shuffle()).first;
player2 = (playersList..shuffle()).last;
while (player1.playerName == player2.playerName || player1.playerValue == player2.playerVaue) {
player2 = (playersList..shuffle()).last;
}
所以这就是我想做的事情。我想手动创建一个如上图所示的玩家列表 并想把其中一个玩家随机分配给玩家1和玩家2 以防万一他们两个都有相同的值或名称 另外,我想把playerName和playerValue发送到另一个类,让它们显示在一个有状态的widget中。正如你所看到的,我只是刚刚开始使用Flutter,所以真的任何帮助将是非常感激的
这工作...
final List<Player> playersList = [
Player(playerName: 'player1', playerValue: 20),
Player(playerName: 'player2', playerValue: 20),
Player(playerName: 'player1', playerValue: 30),
Player(playerName: 'player3', playerValue: 50),
Player(playerName: 'player5', playerValue: 60),
];
playersList.shuffle();
var player1 = playersList.first;
var player2 = player1;
while (player1.playerName == player2.playerName) {
playersList.shuffle();
player2 = playersList.first;
}
print(player1);
print(player2);
更新。 把它包在Player类的一个方法中
class Player {
final String playerName;
final int playerValue;
Player({this.playerName, this.playerValue});
static List<Player> pairPlayers() {
final List<Player> playersList = [
Player(playerName: 'player1', playerValue: 20),
Player(playerName: 'player2', playerValue: 20),
Player(playerName: 'player1', playerValue: 30),
Player(playerName: 'player3', playerValue: 50),
Player(playerName: 'player5', playerValue: 60),
];
playersList.shuffle();
var player1 = playersList.first;
var player2 = player1;
while (player1.playerName == player2.playerName) {
playersList.shuffle();
player2 = playersList.first;
}
return [player1, player2];
}
@override
String toString() {
return playerName;
}
}
然后在任何时候你想让球员配对时使用
Players.pairPlayers();