Топология игры в жизнь [closed]

Я хочу реализовать игру жизни в разных топологиях, это то, что у меня есть, когда сетка сделана Torus / Toroidal,

val x0 = ( x1 - 1 + width) % width;
val x2 = ( x1 + 1) % width;
val y0 = ( y1 - 1 + height) % height;
val y2 = ( y1 + 1) % height;
val result = List(getIndex(x0, y0), getIndex(x0, y1), getIndex(x0, y2), getIndex(x1, y0),
                      getIndex(x1, y2),getIndex(x2, y0), getIndex(x2, y1), getIndex(x2, y2))

Теперь я хочу найти соседей, когда сделаю сетку цилиндрической как в горизонтальном, так и в вертикальном формате. Есть идеи, как рассчитать соседей для обеих этих проблем?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *