Цитата:
конечно мог бы воспользоваться и рекурсией, но в делфи она не работает, по видимому переполнение стека)
|
Даже в самом худшем варианте при DrawGrid 20x20 (т.е. 400 элементов), если передавать в процедуру координаты клетки в integer (Хотя достаточно байта), и два цвета (что красим и чем красим, хотя можно использовать глобальные переменные), прогрузить стек можно только на 400*16 = 6400 байт. По идеи такое стек не переполнит. Так что скорее всего там ошибка.
Вообще в теории можно любой рекурсивный алгоритм записать циклом.
Еще есть например алгоритм закраски строками, правда не помню, как называется. Там вообще почти никакой нагрузки на стек не будет.