Beispiel #1
0
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);
		}
	}
}
Beispiel #2
0
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();
}