Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio: Resposta.

Olá, talvez não tenha resolvido da maneira mais otimizada, mas fiquei bem satisfeito de ter conseguido.

Comecei fazendo os ajustes das cores, que deveriam mudar conforme a evolução do individuo na atividade:

decoration: BoxDecoration(
              color: (nivel / (widget.dificuldade * 10) > 6)
                  ? Colors.black
                  : (nivel / (widget.dificuldade * 10) > 5)
                      ? Colors.purple[400]
                      : (nivel / (widget.dificuldade * 10) > 4)
                          ? Colors.red
                          : (nivel / (widget.dificuldade * 10) > 3)
                              ? Colors.amber[800]
                              : (nivel / (widget.dificuldade * 10) > 2)
                                  ? Colors.yellow[600]
                                  : (nivel / (widget.dificuldade * 10) > 1)
                                      ? Colors.green
                                      : Colors.blue,
              borderRadius: BorderRadius.circular(6),
            ),

Depois disso, quando fui testar, achei estranho q a barrinha de progressão não mudava mais de cor. Ai que me toquei que era outro ponto a ser alterado.

Então adicionei uma nova variável para progressão da barra (progresscount) e adicionei o incremento ao ElevatedButton. Tomando o cuidado para reinicia-lo de maneira diferente dependendo da dificuldade da atividade.

ElevatedButton(
                          onPressed: () {
                            setState(() {
                              nivel++;
                              progresscount++;
                              progresscount == (widget.dificuldade*10+1) ? progresscount = 1 : progresscount;
                            });
                          },

Por fim, adicionei a nova variável ao controle no indicador de progresso.

child: LinearProgressIndicator(
                        color: Colors.white,
                        value: (widget.dificuldade == 0)
                            ? 1
                            : (progresscount / widget.dificuldade) / 10,
                      ),

Aproveitando pra deixar o feedback, foi um curso excelente. Uma coisa que sempre sentia falta nos cursos, era que os exercícios em geral eram pra fazer o que foi feito na aula, e não uma atividade à parte. E vendo isso nesse curso tornou ele muito mais gratificante e desafiador de fazer.

2 respostas
solução!

Gif do trabalho.

https://gifyu.com/image/SETTt

Kayque, é exatamente isso meu querido, faça funcionar! E depois a gente pensa em deixar mais facil de entender e de rodar c:

Você ta de parabens de ter conseguido resolver o desafio nós ficamos muito felizes de ver alguem compartilhando sua evolução com a gente!