void traiter_ButtonPress_sur_mail_graphique(XButtonEvent xbe){ if(xbe.window == quit_general){ quit_cliquable=true; return; } int i; for(i=0; i< N; i++){ if(xbe.window == tab_mails[i].quit_button){ destroy_mail_win_graphique(i); return; } } for(i=0; i<N; i++){ if(xbe.window == tab_mails[i].slider){ XEvent tmp; XNextEvent(dpy, &tmp); int pos= xbe.y_root; while(tmp.type != ButtonRelease){ if(tmp.type == Expose){ expose_graphique(tab_mails[i].slider); } if(tmp.type == MotionNotify){ int diff= pos - tmp.xmotion.y_root; pos= tmp.xmotion.y_root; if(tab_mails[i].posslider+diff <= 0 && tab_mails[i].posslider+diff >= -1*(HEIGHT_MAIL_CONTENU- HEIGHT_SLIDER)){ XMoveWindow(dpy, tab_mails[i].slider, 0, -1 * (tab_mails[i].posslider + diff) ); tab_mails[i].posslider+= diff; } if(tab_mails[i].posslider+diff <= 0 && tab_mails[i].posslider+diff >= -1*(HEIGHT_MAIL_CONTENU- HEIGHT_SLIDER)) XMoveWindow(dpy, tab_mails[i].mail_contenu_inter,0, ((tab_mails[i].posslider + diff)*tab_mails[i].height_contenu_inter) / (HEIGHT_MAIL_CONTENU - HEIGHT_SLIDER) ); } XNextEvent(dpy, &tmp); } return; } } int tmp= numero_msg(xbe.window); if( tmp == -1){ printf("Erreur lors de la recherche du numero de message\n"); exit(EXIT_FAILURE); } if(est_present(tmp)== false){ init_mail_win_graphique(tmp); } }
void generation_mob_suivante(t_cellule grille[N][M],t_coord personnage){ t_coord coordonnee; init_liste(); for(coordonnee.x=0;coordonnee.x<N;coordonnee.x++){ for(coordonnee.y=0;coordonnee.y<M;coordonnee.y++){ //printf("\nX=%d,Y=%d",coordonnee.x,coordonnee.y); if(grille[coordonnee.x][coordonnee.y]==ennemi && !est_present(coordonnee) && chemin_possible(grille,personnage,coordonnee)){ recherche_chemin(grille,coordonnee,personnage); en_queue(); ajout_droit(coordonnee); } } } vider_liste(); }