Exemplo n.º 1
0
int calcul_deplacement_preds(modele_t*m){
	int i;
	vecteur_t *result = new_vecteur(0,0,0);
	for(i=0;i<m->nbPre;i++){
		recherche_proies(m,i);

		add_vecteur(result,chasse(m,i,100));
		
		limite_vit(result,10);
		
		application_deplacement(m->tabPre[i],result,10,3);
	}
	return 1;
}
Exemplo n.º 2
0
void anim(void) {
  
  G2Xpoint m = g2x_GetMousePosition(); /* chien suis souris */
  Particule *moutons= tab_moutons;
  Particule *chiens= tab_chiens;
  Particule *loups=tab_loups;
  
  /*  poursuite(souris,chiens) */
  if(point_in_window(m))
	  cible(chiens,m,alpha);
  
  /*  poursuite (chien,mouton) */
  for(moutons=tab_moutons;moutons<tab_moutons+NB_MOUTONS;moutons++){
	cible(moutons,chiens->pos,alpha);
  }
  /* chasse loup mouton */
  for(loups=tab_loups;loups<tab_loups+NB_LOUPS;loups++)
	chasse(loups,tab_moutons,1.);
    
  /* Group collision */
  /*for(moutons=tab_moutons;moutons<tab_moutons+NB_MOUTONS;moutons++)
	*/groupCollision(tab_moutons);
  
  /* Tous fonctions évitement */
  for(chiens=tab_chiens;chiens<tab_chiens+NB_CHIENS;chiens++)
	detect_avoid(chiens,circ,NC);
  for(moutons=tab_moutons;moutons<tab_moutons+NB_MOUTONS;moutons++)
	detect_avoid(moutons,circ,NC);
  for(loups=tab_loups;loups<tab_loups+NB_LOUPS;loups++)
	detect_avoid(loups,circ,NC);
  
  
  /* Tous les bords */
  for(chiens=tab_chiens;chiens<tab_chiens+NB_CHIENS;chiens++)
	chiens->edge(chiens);
  for(moutons=tab_moutons;moutons<tab_moutons+NB_MOUTONS;moutons++)
	moutons->edge(moutons);
  for(loups=tab_loups;loups<tab_loups+NB_LOUPS;loups++)
	loups->edge(loups);
  
  /* Tous les mouvement */
  for(chiens=tab_chiens;chiens<tab_chiens+NB_CHIENS;chiens++)
	chiens->move(chiens);
  for(moutons=tab_moutons;moutons<tab_moutons+NB_MOUTONS;moutons++)
	moutons->move(moutons);
  for(loups=tab_loups;loups<tab_loups+NB_LOUPS;loups++)
	loups->move(loups);

}