Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

[Duda] Acerca del if y su operador and

Tengo una duda acerca del if que implementa cuando llega por acá

if((x < xAleatorio + radio) &&
    (x > xAleatorio - radio) &&
    (y < yAleatorio + radio) &&
    (y > yAleatorio - radio)
        ){
            alert("Tiro Certero");
        } 

no comprendo bien del todo la operación que hace las condicionales con las coordenadas y el radio

4 respuestas
solución!

Este bloque de código se usa para verificar si el punto (x, y) se encuentra dentro del círculo con centro (xAleatorio, yAleatorio) y radio radio.

Las cuatro condiciones en el if se utilizan para comprobar si el punto (x, y) está dentro del círculo:

  • La primera condición (x < xAleatorio + radio) verifica si la coordenada x del punto está a la izquierda del borde derecho del círculo.
  • La segunda condición (x > xAleatorio - radio) verifica si la coordenada x del punto está a la derecha del borde izquierdo del círculo.
  • La tercera condición (y < yAleatorio + radio) verifica si la coordenada y del punto está por encima del borde inferior del círculo.
  • La cuarta condición (y > yAleatorio - radio) verifica si la coordenada y del punto está por debajo del borde superior del círculo.

En resumen, si todas estas condiciones son verdaderas, entonces el punto (x, y) se encuentra dentro del círculo con centro (xAleatorio, yAleatorio) y radio radio, y se muestra el mensaje "Tiro Certero".

Si este post te ayudó, por favor, marca como solucionado ✓.

Solo tengo una duda en las condiciones if: Al poner la primer condicional (x < xAleatorio + radio), ¿Cómo interpreta que esto sera para el circulo mas pequeño y no en el circulo más grande?

Si vuelves a ver el video "Creando objeto aleatorio" al minuto 4:30 puedes ver que crea una variable global llamada radio donde le asigna el valor de 10 y en la creación de los demás círculos solo les suma 10

Gracias has absuelto mis dudas.