Mam pewien problem otóż piszę sobie sapera w c++.Do odsłaniania pustych pól sąsiadujących z klikniętym pustym chcę użyć algorytmu Flood Fill z Wikipedii: http://pl.wikipedia.org/wiki/Flood_fill
Mam problem rekurencją a właściwie z zwracaniem do funkcji.Zwraca ona w nieskoność i powaoduje zwieche programu.
Oto kod:
void sprawdz_czy_puste(int x,int y,int zam,int now)
{
if (liczby_bomb[(x/40)][(y/40)]==zam)
{
map[x/40][y/40]=now;
sprawdz_czy_puste((x/40)+1,(y/40),zam,now) ;
sprawdz_czy_puste((x/40)-1,(y/40),zam,now) ;
sprawdz_czy_puste((x/40),(y/40)+1,zam,now) ;
sprawdz_czy_puste((x/40),(y/40)-1,zam,now) ;
}
else return ;
}
code>
x,y-współrzędne pola
zam-wartość która ma być zmieniana
now-nowa wartość
map[][]-mapa kafelkowa
Czekam na odpowiedzi.