conway's game of life

My java implementation of the conway's game of life.This project is a Java implementation of Conway's Game of Life, a cellular automaton devised by the mathematician John Conway.

This project is a Java implementation of Conway's Game of Life, a cellular automaton devised by the mathematician John Conway.

Overview

The application provides a full-screen render of the cellular grid, dynamically scaling cells to fill the screen. An overlay interface displays real-time statistics, including cell count, living cell count, and cell clusters, as the generations progress over time.

Features

  • Full-screen dynamic cell rendering
  • Real-time statistics overlay
  • Adjustable grid size and cell attributes
  • Step-through generations

Screenshot

Screenshot

  1. Launch the application.
  2. The grid will dynamically adjust to fill the screen.
  3. View real-time statistics in the overlay.

Concepts

Conway's Game of Life follows a set of simple rules that determine the state of each cell in the grid based on its neighbors. The rules are:

  1. Any live cell with fewer than two live neighbours dies (underpopulation).
  2. Any live cell with two or three live neighbours lives on to the next generation.
  3. Any live cell with more than three live neighbours dies (overpopulation).
  4. Any dead cell with exactly three live neighbours becomes a live cell (reproduction).

The game is an example of a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. The Game of Life is Turing complete and can simulate a universal constructor or any other Turing machine.

For more detailed information, you can visit the Wikipedia page.

Customization

You can modify the cell attributes in the CustomCellsGrid Java file:

package com.mycompany.conwaysgameoflife2;
 
    // Cell size
    private final int Size = 10;

Note: reducing cell size increases the number of cells on display at the cost of performance