Je voudrais faire un programme simulant un banc de poissons : avec plusieurs poissons (pixels) et un pixel que l'on peut faire bouger sur tout l'écran (je l'appelle pointeur).
Le principe est le suivant :
Si un poisson détecte le pointeur à une certaine distance de lui, il s'en éloigne jusqu'à être au delà de cette distance.
Le groupe de poissons se forme de cette façon : chacun va en direction du poisson le plus proche et s'arrête à une distance donnée de lui.
J'ai déjà fait un début de code avec un poisson mais je me suis presque fait jeter dans un autre forum parce qu'il parait qu'il est nul, donc, s'il vous plait, pas de critiques destructives, je les connais par coeur !

// C Source File // Created 25/05/2006; 15:45:26 #include <tigcclib.h> short xa,ya,xta,yta,yy,xx,y,x,yt,xt; /* Variables de déplacement */ char get; /* Variable de test clavier */ short cy,cx,tecom; /* Variables de comptage */ moduldep() /* Fonction de déplacement */ { /* du pointeur */ get=ngetchx(); if((get==81)&&(y>2)) y-=2; if((get==82)&&(x>2)) x-=2; if((get==84)&&(y<98)) y+=2; if((get==88)&&(x<158)) x+=2; } bacomp() /* Fonction de comptage des */ { /* distances */ cy=ya-y; cx=xa-x; if((cy<=10)&&(cx<=10)) { tecom=1; if(cy<0) { if(ya<99) ya++; } else { if(ya>1) ya--; } if(cx<0) { if(xa<159) xa++; } else { if(xa>1) xa--; } } else tecom=0; } // Main Function void _main(void) { clrscr(); xa=xta=79; ya=yta=49; x=y=xt=yt=1; DrawPix(xa,ya,A_NORMAL); DrawPix(x,y,A_NORMAL); dep: moduldep(); DrawPix(x,y,A_XOR); DrawPix(xt,yt,A_XOR); yt=y; xt=x; ba: bacomp(); if (get=8) goto zzz; if(tecom) { DrawPix(xa,ya,A_XOR); DrawPix(xta,yta,A_XOR); yta=ya; xta=xa; goto ba; } goto dep; zzz: }