从 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();