1
resposta

Em relaçao a Logica II ultimo exercicio

no ultimo exercicio o professor pediu para nao desenhar na linha onde estava a paleta de cores.

ele resolveu dessa forma:

function podeDesenharNaArea(x, y) {

if(x >= 0 && x < 600 && y >= 0 && y < 80) { return false; } else { return true; } } chamando essa funcao dentro do lidaComMovimentoDoMouse()

....

porem fiz dessa forma:

function lidaComMovimentoDoMouse(evento) {

var x = evento.pageX - tela.offsetLeft; var y = evento.pageY - tela.offsetTop;

if(desenha == true) { if (y>50){ desenhaCirculo(x, y, 5, corAtual) } } }

Pela logica de programacao minha resposta esta errado? ou se funcionar o codigo se torna correto?

1 resposta

Eu não vejo problema na lógica proposta. Ela atende o requisito de não permitir que seja desenhado círculo em cima da linha da paleta de cores.Eu só alteraria o código da seguinte forma, para melhorar a sua manutenibilidade e legibilidade, além de impedir que um pequeno pedaço do círculo desenhado fique em cima da paleta:

var raio = 5;
if (desenha && y > tamanhoQuadrados + raio) {     
         desenhaCirculo(x, y, raio, corAtual);
}