从 Flutter 访问数据 Class
Accessing Data From Flutter Class
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,以防万一他们都拥有相同的值或名称,我想随机 select 播放器,以便我们可以比较他们的值。我真的不知道如何用代码来表达它。
此外,我想将 playerName 和 playerValue 发送到另一个 class,我会将它们显示在有状态的小部件中。如您所见,我刚刚开始使用 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);
更新: 将其包装在播放器中的方法中 class
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();
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,以防万一他们都拥有相同的值或名称,我想随机 select 播放器,以便我们可以比较他们的值。我真的不知道如何用代码来表达它。 此外,我想将 playerName 和 playerValue 发送到另一个 class,我会将它们显示在有状态的小部件中。如您所见,我刚刚开始使用 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);
更新: 将其包装在播放器中的方法中 class
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();