Комментарии 5
Есть ещё вариант со множествами из координат (по множеству на каждый цвет), это позволяет работать с квазибесконечными полями:
$mol_app_life: симулятор бога своими руками · Issue #11 · nin-jin/HabHub
github.comСпасибо, как понимаю, вся магия происходит через обсчет состояния отдельной клетки
for( let y = -1 ; y <= 1 ; ++y ) for( let x = -1 ; x <= 1 ; ++x ) { if( !x && !y ) continue
И функцию key(x, y), возвращающую состояние ячейки с произвольными координатами
if( prev.has( key( nx + x , ny + y ) ) ) ++sum
}
if( sum != 3 && ( !prev.has( nkey ) || sum !== 2 ) ) continue state.add( nkey )
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
To Byte or not to Byte