1
resposta

Fiz diferente nao sei se esta totalmente correto

<canvas width="600"  height="400"></canvas>

<script type="text/javascript">
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    var raio = 10;
    pincel.fillStyle = "grey";
    pincel.fillRect (0,0, 600,400);

    function desenhaCirculo(evento){

        if(evento.shiftKey == true){
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = 'blue';
            raio = raio +10;
            pincel.beginPath();
            pincel.arc(x,y, raio, 0, 2 *3.14);
            pincel.fill();
        }
        else{
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = 'blue';
            pincel.beginPath();
            pincel.arc(x,y,raio, 0, 2 *3.14);
            pincel.fill();
        }
        if(raio >= 40){
            raio = 40;
        }
        if(evento.altKey == true){
            raio = raio -5;
        }
    }

    tela.onclick = desenhaCirculo;

    function mudarCor(evento){
        if(evento.shiftKey == true){
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = 'red';
            raio = raio +10;
            pincel.beginPath();
            pincel.arc(x,y, raio, 0, 2 *3.14);
            pincel.fill();
        }    
        else{
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = 'red';
            pincel.beginPath();
            pincel.arc(x,y, raio, 0, 2 *3.14);
            pincel.fill();

        }
        if(raio >= 40){
            raio = 40;
        }
        if(evento.altKey == true){
            raio = raio -5;
        }
        return false;

    }
    tela.oncontextmenu = mudarCor;

    function doisClique(evento){
        if(evento.shiftKey == true){
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = 'green';
            raio = raio +10;
            pincel.beginPath();
            pincel.arc(x,y, raio, 0, 2 *3.14);
            pincel.fill();

        }
        else{
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = 'green';
            pincel.beginPath();
            pincel.arc(x,y, raio, 0, 2 *3.14);
            pincel.fill();

        }
        if(raio >= 40){
            raio = 40;
        }
        if(evento.altKey == true){
            raio = raio -5;
        }

    }

    tela.ondblclick = doisClique;
</script>
1 resposta

duvida respondida em:

https://cursos.alura.com.br/forum/topico-fiz-diferente-escrevi-mais-codigo-mais-achei-mais-facil-31394