Necesito ayuda

theguardian
04 de Enero del 2004
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.

igno
04 de Enero del 2004
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!

theguardian
04 de Enero del 2004
Gracias por tu indicacion pero lo que quiero es q a la altura 15 me haga lo mismo q a la 0, no es un error de teclado.