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)
5
respuestas

DUDA - "Ya que va, que vuelva"

Tengo la misma duda que mi compañero expuso recientemente y sigo sin comprender: Entiendo que el código esta correcto porque funciona, es el del profesor, porque no pude realizarlo y que funcione por mi cuenta. Ahora no entiendo esto. cuando x supera 600 (x > 600) sentido pasa al valor -1 o sea x =600 -1 (x=599) porque sigue bajando??? si ahora el valor de x es 599 por lo tanto (x > 600) ya no es verdadero pero sigue restando... Lo mismo con la otra condición, si X es menor a 0 entonces se suma 1 (con la var sentido), luego X vale 1, entonces X=1 no es menor que 0, ¿Por qué se sigue incrementando si no cumple la condición de X < 0? ` function actualizarPantalla(){

    limpiarPantalla();
    if(x > 600){     // X queda en 599, es menor  que 600, por lo tanto no cumple la condición "x>600", como funcionó esto?? Lo mismo con el otro if
        sentido = -1;
    }else if(x < 0){
        sentido = 1;
    }

    disenharCircunferencia(x,20,10);
    x = x + sentido;
}

setInterval(actualizarPantalla,100);

`

5 respuestas
solución!

Hola Iriel buenos días, el valor de la variable sentido cambia solamente cuando la viable x se pasa de los extremos del canvas. Es decir cuando es menor al 0 y cuando es mayor a 600. Mientras x se encuentre entre estos dos números, la variable sentido se mantiene con el mismo valor. Eso hace que sume hasta llegar al 601 y empiece a restar hasta llegar al -1. Y así sucesivamente. Espero haber ayudado con tu duda. Saludos

Hola Iriel,

Se sigue restando porque la posición de la circunferencia está dada por la expresión x = x + sentido;, es decir, cuando sentido es igual a -1 tendremos que: x= 599 -1 => x=598, luego actualiza su posición y nuevamente x = 598-1 => x=597. y cuando sentido es igual a 1 tendremos que x= 0 +1 => x=1, luego actualiza su posición y nuevamente x = 1 + 1 => x=2. Saludos

Ganial!! Ahora ya comprendo. Muchas gracias!!

Muy bien, felicitaciones. a seguir con el curso

tenia la misma duda, pero despues de analizar el codigo, vi que en las condiciones se cumpliran una vez que x>600, sentido =-1 o si es x<0, sentido =1, y una vez que se cumpliecen una condicion, sentido tendria valor de 1 o -1, para despues nunca mas entrar en la condicion solamente decrementando o incrementando, ya que sentido ya tomo cierto valor y una vez que x alla llegado a .....601 o .....-1 entraria ala condicion alterando de nuevo el valor de sentido.