Coder Social home page Coder Social logo

game-of-life's Introduction

What is this project?

giphy

This project is based on Jhon Conway's Game of Life. It's a simulator made in python 3.9.1 and pygame 2.3.0.

But what is 'Life'? :

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine, meaning that you can create an actual working computer in this simulation. (More about this topic will be shared as I discover)

Rules of the game:

There are three rules for this game:

  1. Any live or filled cell with two or three live neighbours survives.
  2. Any dead or 'empty' cell with three live neighbours becomes a live cell.
  3. All other live cells die in the next generation. Similarly, all other dead cells stay dead.

Project dependencies:

  • pygame 2.3.0
  • pygame_gui 0.6.8

How to use this simulator:

Run the main.py file after installing the python dependencies.

  • Use mouse-left-click to place cells.
  • Use mouse-right-click to remove cells.
  • Use mouse-middle-button to move around.
  • Use 'begin_simulation' to begin the simulation (cells will no longer be editable).
  • Use 'stop_simulation' to stop the simulation and edit cells.
  • Use 'clear' to remove all the cells

Explore:

Okay. Theory aside, I believe that what the researcher devised is absoulutely amazing. The thing is turing complete, which means we can build a computer in this simulation. Many people have already done this though. Some people have managed to create the simulation in the simulation. Inception, huh? The possibilities are endless.

Working clock in 'Life':
image

Working computer in 'Life':
image

game-of-life's People

Contributors

raghavgohil avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.