No funciona un programa

andygonzm gonzalez
03 de Marzo del 2012
Hola ,estoy haciendo un programa en c con Dev c++ y cuando lo ejecuto no funciona, y al depurar me aparece : Violacion a un acceso de memoria (Fallo de segmantacion) ocurrio en tu programa. Me aparece cuando se usa la funcion place_free() dentro de la funcion install_collision()




arraycol.h
Código:
#ifndef _arraycol_
#define _arraycol_

int install_collision(int nx,int ny,int n1,int n2)
{
int sh=sign(n1),sv=sign(n2);

int ax=nx+16*sh*sh+sh*16;
int bx=nx+16*sign(n1)*sign(n1)-sign(n1)*16;
int cx=ax;

int ay=ny+16*sv*sv+sv*16;
int by=ay;
int cy=ny+16*sv*sv-sv*16;

if ((place_free(ax+n1,ay+n2)==0)&&(place_free(bx+n1,by+n2)==0)&&(place_free(cx+n1,cy+n2)==0)) //0) return 1;
if (npongo solo donde ma da el fallo
Código:
if (place_free(30,36)) hspeed=(key[KEY_LEFT]-key[KEY_RIGHT])*4;//aqui place_free funciona
vspeed=(key[KEY_UP]-key[KEY_DOWN])*4;
//collision
install_collision(x,y,hspeed,vspeed);//