Image Decoder pt-br Explainer

Explicativo de Decodificador de Imagem

Objetivo deste desafio Desenhar caixas, com base em letras, para revelar uma imagem quando todas as letras ‘e’ são filtradas.
Passo a passo da solução: Para este desafio, você precisa atualizar a seção dentro da condição da if statement — if (this bit) {}. A condição de uma if statement controla se a parte entre chaves {} é executada. Se a declaração da condição for Verdadeira, o código será executado. Se for Falso, o código dentro das chaves não será executado. O laço for passa por cada letra armazenada na variável img (img é uma string de letras). Você deseja verificar se cada letra é 'e' e desenhar uma caixa se não for 'e'. Isso significa que na maioria das vezes queremos que a condição seja Verdadeira (desenhar uma caixa) e só seja Falsa (não desenhar uma caixa) se a letra for igual a 'e'. Você pode usar o símbolo !==, que significa “diferente de”, para tornar a condição da if statement Verdadeira para a maioria das letras e Falsa quando encontra a letra 'e'.
Solução do código de exemplo:
(Toque abaixo para revelar)

for (var letter of img) {
  if (letter !== 'e') {
    drawBoxes(letter);
  }
}

Conceitos de JavaScript: Bloco de código (if statement), chamada de funções, identificadores, laços, condicionais (if statement), declaração de variável
Grasshopper Concepts: drawBoxes()

Código Adicional (código oculto executado antes do código do desafio):

var img = 'ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowoowe wrreewrrw';
1 Like

esse trem do código oculto aí me quebrou. alguém me ajuda a entender a lógica entre a var img e as cores desenhadas?

1 Like

ignora o código oculto, n ajuda nada.

tem uma diferença em usar a strin ‘letter’ e o comando letter, as ‘’ fazem diferença

2 Likes

@Rudny_Caetano Pelo que eu entendi, a img é uma variável cujo conteúdo é essa string que é uma sequência de letras que são as iniciais das cores. Se você pedir o drawBoxes de letter aparece também a cor do e (no caso é o preto).
Por isso que quando fazemos o if pedindo para não mostrar o e não aparece o preto.
Faz depois o teste que você vai ver :
for (var letter of img) {drawBoxes(letter)}

2 Likes

Só trocar na última linha o e por letter e pronto…

Em que momento na explicação ou nos exercicios anteriores o app me ensinou que !== esconde uma letra de string? Eu achei que esse sinal só testava se uma variavel é verdadeira ou falsa. Como eu ia saber???