Conway's Game of Life

A Python QtPY implementation of Conway's Game of Life.


Project Overview

Conway’s Game of Life is a cellular automaton simulation. This project features two executable versions:

  • conway_gui.py: A simple mode for easy execution.
  • conway_gui_complex.py: A complex mode with additional configuration options.

Requirements ❗️

Ensure you have the following installed:

  • Python
  • pip

Setup Instructions

  1. Create a virtual environment:
    python -m venv venv
    
  2. Activate the virtual environment:
    • On Windows:
      venv\Scripts\activate
      
    • On macOS/Linux:
      source venv/bin/activate
      
  3. Install dependencies:
    pip install -r requirements.txt
    

Running the Application

For the simple mode:

python conway_gui.py

Check out how it looks:

For the complex mode:

python conway_gui_complex.py

Configuration Options

In conway_gui_complex.py, configure the following before starting:

  • Rows: Number of matrix rows.
  • Columns: Number of matrix columns.
  • Generations: Number of updates for the matrix.
  • Probability: Probability of alive cells.

To run:

  1. Set matrix size and generations.
  2. Click “Draw Matrix.”
  3. Click “Start Game.”
  4. Click “Stop Game” to halt execution.

Project Structure 📦

conway/
├── conway.py
├── conway_gui.py
├── conway_gui_complex.py
├── animation_conway_gui.gif
├── animation_conway_gui_complex.gif
├── custom_dialog.py
├── infinity.png
├── readme.md
├── requirements.txt
└── worker.py

About

This implementation of Conway’s Game of Life offers both simple and complex modes with enhanced visualization using Python and QtPY. See More on Github!