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

Exercício final.

Prezados na função para alterar a cor ao clique, fiz da seguinte forma:

if(x > xVermelho && x < xVerde && y < tamanhoQuadrados){
            corAtual = 'red';
        }
        if(x > xVerde && x < xAzul && y < tamanhoQuadrados){
            corAtual = 'green';
        }
        if(x > xAzul && (x < xAzul+tamanhoQuadrados) && y < tamanhoQuadrados){
            corAtual = 'blue';
        }

E no exemplo foi passado:

if(x > xVermelho && x < xVermelho + tamanhoQuadrados
                && y > yQuadrados && y < tamanhoQuadrados) {

            corAtual = 'red';

        } else if(x > xVerde && x < xVerde + tamanhoQuadrados
                && y > yQuadrados && y < tamanhoQuadrados) {

            corAtual = 'green';

        } else if(x > xAzul && x < xAzul + tamanhoQuadrados
                && y > yQuadrados && y < tamanhoQuadrados) {

            corAtual = 'blue';
        }

Minha dúvida é: O meu mode de fazer está errado? Se não, o exemplo seria uma melhor pratica? Não estou conseguindo entender muito bem, se há uma diferença clara entre os dois ou se são apenas maneiras diferentes, etc...

Obrigado!

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
4 respostas

Cara boa pergunta, também já tive duvidas sobre esse else if e if kkkk. Tem um post na net que ajudar a entender bem sobre esse assunto.

https://pt.stackoverflow.com/questions/41499/if-else-if-else-ou-if-if-if-quando-usar-qual-a-diferen%C3%A7a

solução!

Olá,

o else if é uma checagem que só acontece se a checagem anterior for falsa. Isto é, neste caso, o programa só checa se é verde se não for vermelho, e só checa se é azul se não for nem vermelho nem verde.

É melhor usar o else if por dois motivos:

  • Seu programa faz menos verificações, que é uma das operações básicas mais custosas em questão de tempo

  • Você garante que ele só vai "entrar" em um dos três if's. Mesmo com bugs, nunca os três if's vão acontecer, sempre é apenas um deles, o primeiro que for verdade.

Abraços.

Valeu Victor, gostei da explicação !

Pessoal...é o que o Victor disse, mas o mais importante nesse estágio e conseguir criar o programa que funcione. Estão todos de parabéns e fico orgulhoso da sagacidade de vocês !

Galera, obrigado pela ajuda.