Minha solução para o desafio foi a seguinte:
Alterei apenas o arquivo task.dart Inicialmente criei uma variável cor para representar um índice e uma lista de cores:
int cor = 0;
List cores = [Colors.blue,
Colors.yellow,
Colors.orange,
Colors.green,
Colors.purple,
Colors.brown,
Colors.black];
No método setState() verifico se o nível já chegou a 10. Se tiver chegado a 10 eu testo se o índice da cor está dentro do range da lista. Estando dentro eu incremento o índice da cor e reinicio o nível.
setState(() {
nivel++;
if( (nivel / widget.dificuldade) / 10 == 1){
if(cor < 6){
nivel = 0;
cor++;
}
}
}
No container da barra de progresso, defini a cor com base na lista de cores e no índice atual da cor:
Container(
decoration: BoxDecoration(
color: cores[cor],
borderRadius: BorderRadius.circular(4.0)),
height: 140),