从Flutter类访问数据

问题描述 投票:0回答:1
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,所以真的任何帮助将是非常感激的

flutter dart getter-setter
1个回答
0
投票

这工作...

   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();
© www.soinside.com 2019 - 2024. All rights reserved.