1
resposta

Mudando a cor de fundo do canvas

Introduzi a opção do jogador escolher a cor do fundo da tela enquanto joga.

<meta charset="utf-8">
<canvas width="600" height="400"></canvas>
<br>
Escolha uma cor <input type="color">

<script>

    var tela = document.querySelector ("canvas");
    var pincel = tela.getContext ("2d");
    var paleta = document.querySelector("input");

    pincel.fillStyle = paleta.value;
    pincel.fillRect(0,0,600,400);
    pincel.strokeStyle = "black";
    pincel.strokeRect(0,0,600,400);

    var raio = 10

    var xAleatorio;
    var yAleatorio;

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

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

    function limpaTela(){
        pincel.clearRect(0,0,600,400);
        pincel.fillStyle = paleta.value;
        pincel.fillRect(0,0,600,400);
        pincel.strokeStyle = "black";
        pincel.strokeRect(0,0,600,400);
    }

    function desenhaAlvo (x, y){
        desenhaCirculo(x,y,raio+20,"red");
        desenhaCirculo(x,y,raio+10,"white");
        desenhaCirculo(x,y,raio,"red");
    }

    function sorteiaPosicao (maximo){
        return Math.floor(Math.random()*maximo);
    }


    function atualizaTela (){
        limpaTela();
        xAleatorio = sorteiaPosicao(600);
        yAleatorio = sorteiaPosicao(400);
        desenhaAlvo(xAleatorio,yAleatorio);
    }

    setInterval(atualizaTela, 1000);

    function dispara (evento) {
        var x = evento.pageX - tela.offsetLeft;
        var y = evento.pageY - tela.offsetTop;

        if ((x > xAleatorio - raio) 
            && (x < xAleatorio + raio) 
            && (y > yAleatorio - raio) 
            && (y < yAleatorio + raio)) {
            alert("Acertou")
        }
    }

    tela.onclick = dispara

</script>
1 resposta

E aí Cristiano.

Estou vendo essas alterações e funcionalidades novas e elas são excelentes.

Continue assim!