Генерация Пещер

27830a6a8ba4ee9fe85e4645e281f52b.png

Окре́стность Му́ра клетки (англ. Moore neighborhood) — в двумерном случае — совокупность восьми клеток на квадратном паркете, имеющих общую вершину с данной клеткой.

value_type CountLiveNeighbours(value_type row, value_type col, const return_type &cave) {
    value_type count = 0;
    for (auto item: {cave(row, col - 1), cave(row, col + 1), cave(row - 1, col), cave(row + 1, col),
                     cave(row - 1, col - 1), cave(row - 1, col + 1), cave(row + 1, col - 1),
                     cave(row + 1, col + 1)})
        if (item != 0)
            count++;
    return count;
}

© Habrahabr.ru