void inserer(t_valeurMot mot) { /*Insère un élément dans la liste, en préservant l'ordre croissant des valeurs de la liste*/ int valeur, valeur_actuelle; valeur = mot.score; if(liste_vide()) { ajout_droit(mot); } else { en_tete(); valeur_elt(&valeur_actuelle); while(!hors_liste() && valeur_actuelle < valeur) { suivant(); valeur_elt(&valeur_actuelle); } if(hors_liste()) { en_queue(); ajout_droit(mot); } else { ajout_gauche(mot); } } }
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(); }