На этой неделе я буду работать над Игрой жизни Конвея и начну курс Структуры данных и алгоритмы Coursera.

[Игра жизни Конвея] — это игра с нулевым игроком, что означает, что ее эволюция определяется ее начальным состоянием и не требует дополнительных действий. С Игрой жизни взаимодействуют, создавая первоначальную конфигурацию и наблюдая за ее развитием, или, для продвинутых игроков, создавая паттерны с определенными свойствами.

Насколько я понимаю, есть сетка, полная ячеек; и клетки либо живые, либо неживые.

Каждое поколение сетка меняется на основе следующего набора правил:

  1. Любая живая клетка с менее чем двумя живыми соседями умирает, как будто из-за недонаселения.
  2. Любая живая клетка с двумя-тремя живыми соседями живет до следующего поколения.
  3. Любая живая клетка с более чем тремя живыми соседями умирает, как бы от перенаселения.
  4. Любая мертвая клетка, имеющая ровно три живых соседа, становится живой клеткой, как бы путем размножения.

На данный момент я создал свой репозиторий и свои классы Grid и Cell. Мой разум расходится в разных направлениях в зависимости от того, как я хочу это сделать, но мне нужно напомнить себе делать это шаг за шагом и строго TDD, вместо того, чтобы слишком много обдумывать в начале.