Necesito ayuda
void Goles(pelota *p)
{/**************************************************************/
int vinicialx,vinicialy;
srand(time(NULL));
vinicialx=rand()%8+1;
vinicialy=rand()%8+1;
if (p->x_pelota-p->rad_pelota<2.5)
{ if(p->x_pelota-p->rad_pelota>-2.5)
{ if((p->y_pelota-p->rad_pelota==0)||((p->y_pelota-p->rad_pelota)==15))
{
p->vel_x=0;
p->vel_y=0;
p->x_pelota=0;
p->y_pelota=7.5;
}
Este codigo q he escrito en principio es para q cada vez q marque gol el balon se pare y vuelva al centro del campo, cuando la altura de mi campo vale cero lo hace bien, pero cuando vale 15(donde se encuentra la otra porteria) en lugar de pararse y volver al centro, rebota. Yo creo q esta bien pero me gustaria q alguien me dijera donde esta el error.MUchas gracias.
{/**************************************************************/
int vinicialx,vinicialy;
srand(time(NULL));
vinicialx=rand()%8+1;
vinicialy=rand()%8+1;
if (p->x_pelota-p->rad_pelota<2.5)
{ if(p->x_pelota-p->rad_pelota>-2.5)
{ if((p->y_pelota-p->rad_pelota==0)||((p->y_pelota-p->rad_pelota)==15))
{
p->vel_x=0;
p->vel_y=0;
p->x_pelota=0;
p->y_pelota=7.5;
}
Este codigo q he escrito en principio es para q cada vez q marque gol el balon se pare y vuelva al centro del campo, cuando la altura de mi campo vale cero lo hace bien, pero cuando vale 15(donde se encuentra la otra porteria) en lugar de pararse y volver al centro, rebota. Yo creo q esta bien pero me gustaria q alguien me dijera donde esta el error.MUchas gracias.
Hola!, no se si es error de dedo o que, pero en tus validaciones de rango (eso creo que son los if's)
if (p->x_pelota-p->rad_pelota<2.5)
{ if(p->x_pelota-p->rad_pelota>-2.5)
nunca va a entrar cuando sea 15, ya que es mayor que 2.5
por eso te digo que si no fue erro de dedo y era 1.5???
Saludos!
if (p->x_pelota-p->rad_pelota<2.5)
{ if(p->x_pelota-p->rad_pelota>-2.5)
nunca va a entrar cuando sea 15, ya que es mayor que 2.5
por eso te digo que si no fue erro de dedo y era 1.5???
Saludos!
