nikhil-RGB / Game-Of-Life-Basic

A basic representation of the 0-player game, "Game-of-Life", a simple example of basic cellular automata

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Game-Of-Life-Basic


image


Purpose:

This application can be used to view and control a simplified configuration from the 0-player game,
"Connway's Game-of-Life", a simple example of basic Cellular Automata
A cellular automaton is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessellation structures, and iterative arrays.
Game-of-Life is a 0-player game which demonstrates this automata concept.
This Application is a Desktop GUI application and can run on any computer system with a JRE.

Project Details:

The Game-of-Life board is generally infinite, with the bottom row wrapping around to the top row, and the right-most column wrapping around to the left-most column.
Each cell will have two states- DEAD or ALIVE. A cell switches states every generation, and calculates it's state based on the 8 adjacent cells around it. Users can define a basic initial configuration, choosing which cells should be alive initially, and which cells should be dead.
The default rules followed are:
In the 8 adjacent cells surrounding the cell in question, let x be the number of cells which are in the ALIVE state:

Condition Result
x<2 or x>5 Cell in question dies
x==3 Cell in question dies
Any other condition Cell retains previous state

Of course, these numbers can be modified by the user.
Using this well-defined ruleset, the state of each cell is calculated based off the states of it's **8 adjacent cells**,
but none of the states are updated until the new state is calculated for each cell in the board. Once the new state is calculated for each
cell in the board, the entire board is updated as a whole, and the generation count is updated.
Multiple generations later, the board either gains stability/all the cells die/infinite growth ocuurs due to looping conditions.

How to Launch:

  • Install the latest release of "Game-of-Life" from the releases section, it should be a .jar file.
  • To run this file, you will need to have JAVA 8/9 installed on your system
  • Once JAVA is set up on your system, launch the jar file with a double click! Check the releases section to download the .jar file to run the app.

About

A basic representation of the 0-player game, "Game-of-Life", a simple example of basic cellular automata

License:Apache License 2.0


Languages

Language:Java 100.0%