Longer Rainbow pt-br Explainer

Explicativo de Arco-íris Mais Longo

Objetivo deste desafio Desenhar um arco-íris com três colunas de largura, com uma cor diferente em cada linha.
Passo a passo da solução: O laço for passará todas as cores da array. Em cada laço (ou seja, quando cada cor é selecionada), será necessário desenhar três caixas dessa cor e, em seguida, passar para a próxima linha. Para dizer a um laço for o que fazer em cada laço (ou seja, cada seleção de cor), você escreve o código dentro das chaves {} — o bloco de comandos — e faz referência à variável que está no laço — neste caso, x. Como você deseja três caixas, precisará de três funções drawBox(x) e, em seguida, uma função newLine() para ir para a próxima linha. Isso significa que, para cada cor no laço (ou seja, selecionada), serão desenhadas três caixas e, em seguida, uma nova linha será iniciada.
Solução do código de exemplo:
(Toque abaixo para revelar)

for (var x of [
  'red',
  'orange',
  'yellow',
  'green',
  'blue',
  'indigo',
  'violet'
]) {
  drawBox(x);
  drawBox(x);
  drawBox(x);
  newLine();
}

Conceitos de JavaScript: Laços, arrays, blocos (laço for), identificadores, declaração de variável, chamada de funções

Grasshopper Concepts: drawBox(), newLine()

1 Like

(upload://1ELygqQ3nAmzkyWqh4seHbONUjw.jpeg)
Eu já havia feito com as três linhas para cada cor…a verdade é que de nenhum jeito é aceito…não sei mais o que fazer!!

oie, tudo bem?
não precisa add as cores, é só você add
drawBox(x) ;
newLine() ;

2 Likes

Bom dia tudo bem? Não entendo por que o comando drawBox (x), só lê 3 caixas coloridas dentro da variável x. Se alguém puder me ajudar agradeço.

2 Likes

obrigada! emphasized text

Para resolver este caso é preciso observar que nas ultimas colunas ha duas (Drawbox(X)) adicione mais uma e abaixo coloque (NewLine)
Ficara assim

(Drawbox(X)
(Drawbox(X)
(Drawbox(X)
(Newline)

1 Like

tenho o mesmo questionamento… por favor, alguém poderia explicar?

@Guilherme_Ribeiro eu fiz o teste aqui e penso que são 3 caixas apenas porque apenas foram expressas no código por 3 vezes. Por exemplo:

drawBox(x);
drawBox(x);
drawBox(x);
drawBox(x);
drawBox(x);
newLine

… traria 5 caixas da primeira cor e logo depois carregaria a próxima cor com 5 caixas até passar para terceira cor e assim por diante. Esse momento de troca para a próxima linha é justamente o comando newLine que chega na sua vez de ser executado depois das 5 drawBox(x) anteriores terem sido executadas para primeira cor. Ficou meio prolixo, mas é para evitar dúvidas.