Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio aceito ;D !

Fala galera, belezuras ?

Não fiz um refactory pra deixar o código totalmente bonitinho mas basicamente fiz o seguinte:

Dentro do container do botão além de adicionar um nível a + aproveitei para inserir a logica verificando se a dificuldade era totalmente preenchida.

Aproveitei também para utilizar uma variável e expor um valor randômico dentro do range das cores primarias de Colors, e voltei o valor de nível pra 0 após o preenchimento indicando que seria necessário os cliques para subir de nível novamente.

                    Container(
                      height: 52,
                      width: 52,
                      child: ElevatedButton(
                        onPressed: () {
                          setState((){
                            nivel++;
                            if(((nivel/widget.dificuldade)/10) >= 1 ){
                              colorStart = Random().nextInt(Colors.primaries.length);
                              nivel = 0;
                            }
                          });
                        },
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          crossAxisAlignment: CrossAxisAlignment.end,
                          children: const [
                            Icon(Icons.arrow_drop_up),
                            Text('UP', style: TextStyle(fontSize: 12),)
                          ],
                        ),
                      ),
                    ),

Inicializei a Task com o código default da cor azul, e para descobrir a cor azul foi muito simples, acessei a referencia da const Colors.primaries e vi a lista de cores disponíveis.

@override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(8.0),
      child: Stack(
        children: [
          Container(
            decoration: BoxDecoration(
                borderRadius: BorderRadius.only(topLeft: Radius.circular(10)),
                color: Colors.primaries[colorStart],
            ),
            height: 140,
          ),
  }

Também inseri um efeito no olho quando esconde ;D ... Como não consegui colocar o GIF aqui, então hospedei nesse link !!! Vlwsss

https://gifyu.com/image/SKCkB

1 resposta
solução!

AHHHHHH EU TO TÃO ORGULHOSO!

Caramba Pablo, você mandou muuuitíssimo bem!!

Adorei os detalhes que você colocou (a cor randomizada e o olho mudando no FAB)

Pode continuar assim que você vai longe!!

DESAFIO CONCLUÍDO