Код:
' Рекурсивная функция перебора ячеек области и их перекраска.
' Map(n,m) - карта с областями
' old - существующий цвет области
' new - новый цвет области
' i, j - точка ветвления просмотра области
' k - количество просмотренных ячеек области
Function Region(i1,j1,old,new) ' перебор ячеек области и их перекраска
i = i1
j = j1
k = 0
Map(i,j) = new ' перекраска ячейки
if Map(i-1,j) = old theh k = 1 + Region(i-1,j,old,new) end if ' вверх
if Map(i,j+1) = old theh k = 1 + Region(i,j+1,old,new) end if ' вправо
if Map(i+1,j) = old theh k = 1 + Region(i+1,j,old,new) end if ' вниз
if Map(i,j-1) = old theh k = 1 + Region(i,j-1,old,new) end if ' влево
Region = k + 1 ' площадь области
End Function
' Это черновик функции, требующий ограничений на значения переменных i и j.