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!

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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software