Имплементация легендарной игры, с приятной графикой и простым интерфейсом.
- Использовался android.os.Handler, который отправляет runnable объекты в очередь объекта Looper. Через метод postDelayed объекта Handler и выполненно замедленние или ускоренние игры.
- Для рисования поля использовались объекты Canvas и Paint, переопределён метод onDraw для рисования поля (удобен при вызове invalidate на view )
- Класс Cell представляющий точку на поле, с методами возраждения, смерти и обратное от состояния ячейки.
- Класс World инициализирует мир и выполняющий логику заполнения ячеек на новом поколении.
- MainActivity создаёт toolbar и отслеживает изменения на нём, при изменении меняется атрибут fps, который отвечает за количество кадров или скорость игры.
- Отслеживает изменения на кнопке старт/паузы, отслеживает изменения в Menu и выполняет соответсвующию логику.