/*LISSAGE OBSTACLES ET AIMANTAGE*/ for (k=0;k999) //ici, un obstacle est détecté, on procède au flou { for (x=(k-(LISS+2));x<(k+(LISS+2));++x) // +2 pour être sur que zone couverte car racine impréscise { for (y=(l-(LISS+2));y<(l+(LISS+2));++y) { if ((xGROS) {tempb=k-x;} // Vérifie si valeur supérieur à 0 (pout valeur absolue) else {tempb=x-k;} if ((y-l)>GROS) {tempc=l-y;} else {tempc=y-l;} temp=((tempb*tempb)+(tempc*tempc)); for (n=0;n<65536;++n) //pour être sur sort de la boucle.... { tempe=n*n; if (tempe==temp) {tempd=n;break;} if (tempe>temp) {tempd=n;break;} }//FIN RACINE résultat dans tempd if (tempd<=LISS) { temp=(((LISS-tempd)*mem_obstacle[x][y]*(20-1))/(LISS-1))+(mem_obstacle[x][y]/(planque+1)); if (temp>999) {temp=999;} if ((obstacle[x][y]<1000)&&(obstacle[x][y]==mem_obstacle[x][y])&&(tempobstacle[x][y])) { obstacle[x][y]=temp; } } } } } } } } //Méthode de racine plus rapide (par essais successif) /* tempd=65536;//permet de calculer la racine de max 4.2 * 10E9 tempc=32768; tempb=0; for (n=0;n<256;++n)//pour être sur sort de la boucle.... { tempe=tempc*tempc; if ((tempb==tempc)||(tempd==tempc)||(temp==tempe)) {tempd=tempc;break;} if (temp>tempe) {tempb=tempc;tempc=(((tempd-tempc)/2)+tempc);} else {tempd=tempc;tempc=(((tempc-tempb)/2)+tempb);} } */