<canvas id="miCanvas" width="600" height="400"></canvas>
<script>
var pantalla = document.getElementById("miCanvas");
var pincel = pantalla.getContext("2d");
var radio = 10;
var x = 0;
var y = 0;
var sentidoX = 1;
var sentidoY = 1;
function dibujarCirculo(x, y, radio, color) {
pincel.fillStyle = color;
pincel.beginPath();
pincel.arc(x, y, radio, 0, 2 * Math.PI);
pincel.fill();
}
function limpiarPantalla() {
pincel.clearRect(0, 0, 600, 400);
}
function actualizarPantalla() {
limpiarPantalla();
if (x > 600) {
sentidoX = -1;
} else if (x < 0) {
sentidoX = 1;
}
if (y > 400) {
sentidoY = -1;
} else if (y < 0) {
sentidoY = 1;
}
dibujarCirculo(x, y, radio + 20, "red");
dibujarCirculo(x, y, radio + 10, "white");
dibujarCirculo(x, y, radio, "red");
x = x + sentidoX;
y = y + sentidoY;
}
function sortearPosicion(maximo) {
return Math.floor(Math.random() * maximo);
}
function verificarAcertaste(event) {
var rect = pantalla.getBoundingClientRect();
var clickX = event.clientX - rect.left;
var clickY = event.clientY - rect.top;
var distancia = Math.sqrt(Math.pow(clickX - x, 2) + Math.pow(clickY - y, 2));
if (distancia <= radio + 10 && distancia > radio) {
alert("¡Acertaste!");
} else if (distancia <= radio) {
alert("¡Tiro certero!");
}
}
pantalla.addEventListener("click", verificarAcertaste);
setInterval(function() {
xAleatorio = sortearPosicion(600);
yAleatorio = sortearPosicion(400);
actualizarPantalla();
x = xAleatorio;
y = yAleatorio;
}, 1000);
</script>