Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exercício Final! (Obrigado)

function desenhaQuadrado(x, y, tamanho, cor) {

    pincel.fillStyle = cor;
    pincel.fillRect(x, y, tamanho, tamanho)
    pincel.fill();
}

function desenhaCirculo(x, y, raio, cor) {

    pincel.fillStyle = cor;
    pincel.beginPath();
    pincel.arc(x, y, raio, 0, 2 * 3.14);
    pincel.fill();

}

function desenhaPaletaDeCores() {

    desenhaQuadrado(xVermelho, yQuadrados, tamanhoQuadrados, 'red');
    desenhaQuadrado(xVerde, yQuadrados, tamanhoQuadrados, 'green');
    desenhaQuadrado(xAzul, yQuadrados, tamanhoQuadrados, 'blue');

}

/* */

var x; var y;

function lidaComMovimentoDoMouse(evento) {

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

    if(y > yQuadrados + tamanhoQuadrados + 5 || x > xAzul + tamanhoQuadrados + 5)
    {
        if(desenha) {

            desenhaCirculo(x, y, 5, corAtual);
        }
    }


}

function habilitaDesenhar() {

    desenha = true;
}

function desabilitaDesenhar() {

    desenha = false;
}

var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);

var desenha = false;
var corAtual = 'blue';
var xVermelho = 0;
var xVerde  = 20;
var xAzul = 40;
var yQuadrados = 0;
var tamanhoQuadrados = 20;

desenhaPaletaDeCores();

function mudaCor()
{
    if(y <= 20 && y >= 0)
    {
        if(x <= 20 && x >= 0)
        {
            corAtual = 'red'
        }
        else if(x <= 40 && x > 20)
        {
            corAtual = 'green'
        }
        else if(x <= 60 && x > 40)
        {
            corAtual = 'blue'
        }
    }
}

tela.onmousemove = lidaComMovimentoDoMouse;

tela.onmousedown = habilitaDesenhar;

tela.onmouseup = desabilitaDesenhar;

tela.onclick = mudaCor;

Gostaria de agradecer a Alura por esses dois cursos de lógica que me ajudaram demais a entender mais a fundo a programação e poder avançar em meus estudos!

1 resposta
solução!

Se você é um programador iniciante. Ainda verá muita coisa rapaz. Aproveita este contato com o JavaScript que você teve neste curso de lógica e estude Html, Css e Javascript. Para começo é uma boa opção estudar o básico do Front -End. Mas não esqueça de estudar o back-end também.