Ayuda con las listas
typedef struct _rival
{
jugador datos_rival;
struct _rival* next;
}rival;
rival* lista_rival=NULL;
int max_num_rivales=3;
typedef struct _jugador
{
float x_jugador;
float rad_jugador;
float y_jugador;
float vel_x_jugador;
float vel_y_jugador;
float max_rango;
float min_rango;
int color_jugador;
}jugador;
void AddRival(rival *ins)
{
rival *aux=lista_rival;
lista_rival=ins;
ins->next=aux;
}
void CrearListadeRivales()
{
rival *aux=(rival*)malloc(sizeof(rival));
int i;
for (i=0;i<num_max_rivales;i++)
{
aux->datos_rival.x_jugador=rivales[i].x_jugador;
aux->datos_rival.y_jugador=rivales[i].y_jugador;
aux->datos_rival.vel_x_jugador=rivales[i].vel_x_jugador;
aux->datos_rival.vel_y_jugador=rivales[i].vel_y_jugador;
aux->datos_rival.color_jugador=rivales[i].color_jugador;
aux->datos_rival.max_rango=rivales[i].max_rango;
aux->datos_rival.min_rango=rivales[i].min_rango;
aux->datos_rival.rad_jugador=rivales[i].rad_jugador;
AddRival(aux);
}
}
void DibujarLista(rival *ins)
{
rival *aux=ins;
while (aux!=NULL)
{
DibujaRivales(aux);
aux=aux->next;
}
}
void DibujaRivales(rival *primerrival)
{
Color(primerrival->datos_rival.color_jugador);
glTranslatef(primerrival->datos_rival.x_jugador,primerrival->datos_rival.y_jugador,0);
glutSolidSphere(primerrival->datos_rival.rad_jugador,12,12);
glTranslatef(-primerrival->datos_rival.x_jugador,-primerrival->datos_rival.y_jugador,0);
}
Bueno queria ver si me podeis decir q es lo q falla, pues me compila bien pero luego al ejecutar no me dibuja los jugadores rivales.Las variables estan inicializadas en la funcion main.Bueno espero q me podais echar una mano, q el trabajo lo tengo q terminar para el 19.
{
jugador datos_rival;
struct _rival* next;
}rival;
rival* lista_rival=NULL;
int max_num_rivales=3;
typedef struct _jugador
{
float x_jugador;
float rad_jugador;
float y_jugador;
float vel_x_jugador;
float vel_y_jugador;
float max_rango;
float min_rango;
int color_jugador;
}jugador;
void AddRival(rival *ins)
{
rival *aux=lista_rival;
lista_rival=ins;
ins->next=aux;
}
void CrearListadeRivales()
{
rival *aux=(rival*)malloc(sizeof(rival));
int i;
for (i=0;i<num_max_rivales;i++)
{
aux->datos_rival.x_jugador=rivales[i].x_jugador;
aux->datos_rival.y_jugador=rivales[i].y_jugador;
aux->datos_rival.vel_x_jugador=rivales[i].vel_x_jugador;
aux->datos_rival.vel_y_jugador=rivales[i].vel_y_jugador;
aux->datos_rival.color_jugador=rivales[i].color_jugador;
aux->datos_rival.max_rango=rivales[i].max_rango;
aux->datos_rival.min_rango=rivales[i].min_rango;
aux->datos_rival.rad_jugador=rivales[i].rad_jugador;
AddRival(aux);
}
}
void DibujarLista(rival *ins)
{
rival *aux=ins;
while (aux!=NULL)
{
DibujaRivales(aux);
aux=aux->next;
}
}
void DibujaRivales(rival *primerrival)
{
Color(primerrival->datos_rival.color_jugador);
glTranslatef(primerrival->datos_rival.x_jugador,primerrival->datos_rival.y_jugador,0);
glutSolidSphere(primerrival->datos_rival.rad_jugador,12,12);
glTranslatef(-primerrival->datos_rival.x_jugador,-primerrival->datos_rival.y_jugador,0);
}
Bueno queria ver si me podeis decir q es lo q falla, pues me compila bien pero luego al ejecutar no me dibuja los jugadores rivales.Las variables estan inicializadas en la funcion main.Bueno espero q me podais echar una mano, q el trabajo lo tengo q terminar para el 19.
