Bonjour,
J'ai actuellement un "problème" ; pourquoi "problème" entre guillemets ? parce que j'ai réussi à trouver un moyen de passer outre.
Je ne comprend juste pas pourquoi ça ne marche pas et ça m' énerve

voilà la fonction que j'essaye d'appeller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void AI (AABB joueur, AABB ecran)
{
	AABB mob;
 
	mob.surface = SDL_CreateRGBSurface (SDL_HWSURFACE, 20, 20, 32, 0, 0, 0, 0);
	SDL_FillRect (mob.surface, NULL, SDL_MapRGB(ecran.surface->format, 50, 50, 50));
 
	mob.pos.x = 400;
	mob.pos.y = 400;
 
 
	if (mob.pos.x > joueur.pos.x + joueur.surface->w)
		mob.pos.x--;
	if (mob.pos.x + mob.surface->w < joueur.pos.x)
		mob.pos.x++;
	if (mob.pos.y > joueur.pos.y + joueur.surface->h)
		mob.pos.y--;
	if (mob.pos.y + mob.surface->h < joueur.pos.y)
		mob.pos.y++;
 
	SDL_BlitSurface (mob.surface, NULL, ecran.surface, &mob.pos);
}
avec le fichier AI.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
#include <SDL.h>
 
void AI (AABB joueur, AABB ecran);
 
typedef struct //variable utilisée pour les collisions
{
	SDL_Surface *surface;
	SDL_Rect pos;
}AABB;
je l'appelle dans mon main avec un bête :

Cependant quand je compile il me donne cette erreur
warning C4013: 'AI' non défini(e)*; extern retournant int pris par défaut

et evidemment la fonction ne fais pas effet.

Je souhaiterais juste savoir pourquoi ça ne marche pas de cette manière, alors que ça marche quand je met le header dans le fichier main. Je précise que j'ai bien mis le include du fichier contenant la fonction dans le fichier main. (d'ailleurs une question me viens : est-ce que l'ordre des includes influe quelque chose dans le code ?)

Je vous remercie d'avance pour vos réponses