bonsoir,
Juste avant que je parte féter l'année 2016, j'ai une question assez complexe (enfin je trouve)..
Mon programme doit ouvrir un fichier ini (que je passe en paramètre), grace au données de ce fichier je dois dessiner une carte comme dans le jeu wolfenstein (les 1 correspondant aux murs et les 0 à un vide), je lui fait lire le contenue du fichier sans problème mais pour afficher la carte c'est autre chose.Ce n'est pas un problème d'algo car je sais quoi faire et j'arrive déjà à dessiner un carré dans ma fentre .En fait je ne vois pas comment utiliser mes données de mon fichier ini (que j'ai stocké dans str) au sein de ma fonction t_bunny_reponse loop, je ne vois pas comment passer str en paramètre vu que loop est utilisé bizarement , enfin utilisé en tant que paramètre d'une autre fonction de ma lib graphique ( bunny_set_loop_main_function)...
Je tiens à présicer que cette fonction provient de la librairie graphique (que je dois utiliser) .
Je suis certain que j'ai du mal expliqué certaines choses donc n'hésité pas à me poser des questions !
Pour le moment j'affiche ça, c'est la taille de la map, largeur , hauteur et représentation:
100
width:10 height:10
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 1 0 1 0 1 0 1
1 0 0 1 0 1 1 1 0 1
1 0 0 1 0 0 0 0 0 1
1 0 0 1 1 1 0 1 0 1
1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 0 0 0 1
1 1 1 1 1 1 1 1 1 1
fonction d'affichage de la fenetre:
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
23 int main(int ac, char **av) { t_bunny_window *win; t_bunny_ini *ini; char **str; size *sizemap; str = NULL; if (av[1] != NULL) ini = bunny_load_ini(av[1]); else { printf("no argument\n"); return(1); } str = getmap(ini, str, sizemap, i); win = bunny_start(800, 800 ,false, "wolf"); bunny_set_loop_main_function(loop); bunny_loop(win, 7, win); bunny_delete_ini(ini); free(str); return (0); }
définition de la fonction loop:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 t_bunny_response loop(void *i) { t_bunny_window *win; t_bunny_pixelarray *pix; win = i; pix = bunny_new_pixelarray(800, 800); background(pix); bunny_blit(&win->buffer, &pix->clipable, 0); bunny_display(win); bunny_delete_clipable(&pix->clipable); return (GO_ON); }
Bonnes fetes !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part typedef t_bunny_response (*t_bunny_loop)(void *your_data);
Partager