Este es mi proyecto final aplicando todo lo aprendido hasta el momento, pero hay un error que me gustaria si pudieran ayudarme a solucionarlo
<meta charset="UTF-8">
<h1>TIRO AL BLANCO</h1>
<label>Nombre <input type="text" id="Name" name="Name" /></label>
<button>Guardar</button>
<br>
<canvas width = "600" height="400"></canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
var button = document.querySelector("button");
var nombre = document.querySelector("input");
pincel.fillStyle = "lightgreen";
pincel.fillRect(0,0,600,350);
pincel.strokeStyle = "black";
pincel.strokeRect(0,0,600,350);
pincel.fillStyle = "lightgrey";
pincel.fillRect(0,350,600,250);
pincel.strokeStyle = "black";
pincel.strokeRect(0,350,600,250);
function crearCirculo(x,y,radio,color) {
pincel.fillStyle = color
pincel.beginPath();
pincel.arc(x,y,radio,0,2*Math.PI);
pincel.fill();
}
function numAleatorio(n) {
return parseInt(Math.floor(Math.random()*n));
}
var radioBlanco = 8;
var xRandom
var yRandom
var puntajeInicial = 0;
function dibujarBlanco() {
xRandom = numAleatorio(600);
yRandom = numAleatorio(350 - (radioBlanco + 20));
crearCirculo(xRandom,yRandom,radioBlanco + 12,"red");
crearCirculo(xRandom,yRandom,radioBlanco + 6,"white");
crearCirculo(xRandom,yRandom,radioBlanco,"red");
}
function limpiarPantalla() {
pincel.clearRect(0,0,600,350 - radioBlanco)
pincel.fillStyle = "lightgreen"
pincel.fillRect(0,0,600,350 - radioBlanco)
}
function moverBlanco() {
limpiarPantalla()
dibujarBlanco()
console.log("fa")
}
function escribirTexto(texto,x,y) {
pincel.font = "20px Arial";
pincel.fillStyle = "black";
pincel.fillText(texto,x,y);
}
function iniciarJuego() {
escribirTexto(nombre.value,250,380);
escribirTexto(puntajeInicial,350,380)
escribirTexto(contador,550,380)
setInterval(moverBlanco,1000);
setInterval(aumentarContador,1000)
}
function disparar(evento) {
var x = evento.pageX - pantalla.offsetLeft;
var y = evento.pageY - pantalla.offsetTop;
if ((x < xRandom + radioBlanco) &&
(x > xRandom - radioBlanco) &&
(y < yRandom + radioBlanco) &&
(y > yRandom - radioBlanco)) {
aumentarPuentaje()
}
}
function aumentarPuentaje() {
if (puntajeInicial == 5) {
alert("GANASTE en: " + contador + " segundos")
pincel.clearRect(350,360,50,50);
pincel.fillStyle = "lightgrey";
pincel.fillRect(350,360,50,50);
escribirTexto(puntajeInicial,350,380)
puntajeInicial = 0
}
else {
puntajeInicial++
pincel.clearRect(350,360,50,50);
pincel.fillStyle = "lightgrey";
pincel.fillRect(350,360,50,50);
escribirTexto(puntajeInicial,350,380);
}
}
var contador = 0
function aumentarContador() {
if(puntajeInicial < 5) {
contador++
pincel.clearRect(550,360,50,240);
pincel.fillStyle = "lightgrey";
pincel.fillRect(550,360,50,240);
escribirTexto(contador,550,380);
}
else {
contador = 0
pincel.clearRect(550,360,50,240);
pincel.fillStyle = "lightgrey";
pincel.fillRect(550,360,50,240);
escribirTexto(contador,550,380)
}
}
nombre.focus()
pantalla.onclick = disparar;
button.onclick = iniciarJuego;
</script>