Analisando as questões :
A )
dart
List<dynamic> listResponse = json.decode(response.body)["players"];
int totalResting = 0;
for (dynamic dyn in listResponse) {
Map<String, dynamic> player = dyn as Map<String, dynamic>;
if (player["isResting"]){
totalResting++;
}
}
print(totalResting);
Correto! Aqui acessamos a lista de players, percorremos cada jogador e contamos os que têm isResting == true.
B )
dart
List<dynamic> listResponse = json.decode(response.body)["players"];
int maxSkill = 0;
String playerName = "";
for (dynamic player in listResponse) {
Map<String, dynamic> playerMap = player as Map<String, dynamic>;
if (playerMap["skillRate"] > maxSkill) {
maxSkill = playerMap["skillRate"];
playerName = playerMap["name"];
}
}
print("A pessoa jogadora com maior habilidade é $playerName com habilidade $maxSkill");
Correto! Percorre a lista, compara skillRate e guarda o nome do jogador com maior valor.
C )
dart
List<dynamic> listResponse = json.decode(response.body)["players"];
int count = 0;
for (dynamic player in listResponse) {
Map<String, dynamic> playerMap = player as Map<String, dynamic>;
if (playerMap["skillRate"] >= 3) {
count++;
}
}
print(count);
Correto! Conta quantos jogadores têm habilidade maior ou igual a 3.
D )
List<dynamic> listResponse = json.decode(response.body)["rules"];
bool winnersRemains = listResponse["winnersRemains"];
int winnersRemainsMax = listResponse["winnersRemainsMax"];
if (winnersRemains){
print("Usamos a regra de que os vencedores permanecem. E eles ficam por no máximo $winnersRemainsMax rodadas.");
}else{
print("Não usamos a regra de que os vencedores permaneces.");
}
Incorreto ! O problema é que "rules" não é uma lista, mas sim um objeto (Map). Portanto, o tipo deveria ser Map<String, dynamic> e não List.
Como podemos afirmar qual alternativa correta entre as três ?