Actualiser README.md
This commit is contained in:
parent
ce58c1e9f3
commit
8ea68ad89f
121
README.md
121
README.md
|
|
@ -1,23 +1,124 @@
|
||||||
When starting a task "TODO" edit it to "TODO-INPROGRESS"
|
|
||||||
When task is done edit it to "TODO-COMPLETE"
|
|
||||||
If there is an error in the code edit it to "TODO-ERROR"
|
|
||||||
|
|
||||||
Link Canva Whiteboard:
|
# Game Of Life
|
||||||
https://www.canva.com/design/DAGCBGF5b4c/4cNmhoS6lSC8Once9r_Tlg/edit?utm_content=DAGCBGF5b4c&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton
|
The Game of Life (an example of a cellular automaton) is played on an infinite two-dimensional rectangular grid of cells. Each cell can be either alive or dead. The status of each cell changes each turn of the game (also called a generation) depending on the statuses of that cell's 8 neighbors. Neighbors of a cell are cells that touch that cell, either horizontal, vertical, or diagonal from that cell.
|
||||||
|
|
||||||
Reminder of game of life rules:
|
### Reminder of basic game of life rules
|
||||||
1. Any living cell with strictly fewer than two living neighbors dies (referred to
|
1. Any living cell with strictly fewer than two living neighbors dies (referred to
|
||||||
as underpopulation or exposure).
|
as underpopulation or exposure).
|
||||||
|
|
||||||
2. Any living cell with strictly more than three living neighbors dies (referred to
|
2. Any living cell with strictly more than three living neighbors dies (referred to
|
||||||
as overpopulation or overcrowding).
|
as overpopulation or overcrowding).
|
||||||
|
|
||||||
3. Any dead cell with exactly three living neighbors will come to life. (Referred to as
|
3. Any dead cell with exactly three living neighbors will come to life. (Referred to as
|
||||||
spreading or growth)
|
spreading or growth)
|
||||||
With the implied additional rules:
|
With the implied additional rules:
|
||||||
|
|
||||||
4. Any living cell with two or three living neighbors continues to live, unchanged.
|
4. Any living cell with two or three living neighbors continues to live, unchanged.
|
||||||
5. Any dead cell who doesn’t have exactly 3 living neighbors stays dead,
|
|
||||||
unchanged.
|
5. Any dead cell who doesn’t have exactly 3 living neighbors stays dead, unchanged.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Classic Game of Life Rules: Implements the traditional rules of Conway's Game of Life.
|
||||||
|
- Customizable Rulesets: Load and apply custom rulesets from JSON files.
|
||||||
|
- Agent Behavior: Simulate agents with specific behaviors based on their surroundings.
|
||||||
|
- Interactive Grid: Click on cells to change their states with two modes: cell state change and agent placement.
|
||||||
|
- Looping Borders: Option to enable or disable looping borders for the grid. (Opposit sides are connected)
|
||||||
|
- Adjustable Simulation Speed: Change the speed of the simulation using a slider.
|
||||||
|
- Random Cell Generation: Generate a random initial state for the grid, the density slider allows to adjust the probability for a cell to become alive.
|
||||||
|
- Save and Load States: Save/Load current state of the simulation.
|
||||||
|
- Pause and Resume.
|
||||||
|
- Visual Representation: Display the grid with different colors representing different cell states.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Run Locally
|
||||||
|
|
||||||
|
Clone the project
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://gitarero.ecam.fr/guillaume.bonabau/OOP_F1_Project.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Go to the project directory
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd OOP_F1_Project
|
||||||
|
```
|
||||||
|
|
||||||
|
Install dependencies
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TODO How to install the json-simple-1.1.1.jar
|
||||||
|
```
|
||||||
|
|
||||||
|
Start the program
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TODO ???? => javac .\src\Main.java
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Basic How to
|
||||||
|
|
||||||
|
- Load Rules
|
||||||
|
By default, Coneways rules are loaded. You can load other set of rules by clicking the "Load Rule" button.
|
||||||
|
|
||||||
|
- Create Field
|
||||||
|
Create the fild either by generating a random field, or by clicking yourself on cells (Don't forget to Toggle click).
|
||||||
|
|
||||||
|
- Toggle Border
|
||||||
|
There is 2 different iterations methodes.
|
||||||
|
|
||||||
|
1. Closed
|
||||||
|
The sides of the gride will count as dead.
|
||||||
|
|
||||||
|
2. Loop
|
||||||
|
The gride technicaly has no sides. The left handside is connected to the right one, the top to the bottom.
|
||||||
|
All 4 corners cells are nearby cells of each others.
|
||||||
|
## Color Reference
|
||||||
|
|
||||||
|
| Color | HEX | RGB |
|
||||||
|
| ----------------- | ------------------------------------------------------------------ |------|
|
||||||
|
| Dead |  #25341F | [37,52,31] |
|
||||||
|
| Alived |  #f8f8f8 | [167,237,139] |
|
||||||
|
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
#### Question 1
|
||||||
|
|
||||||
|
Answer 1
|
||||||
|
|
||||||
|
#### Question 2
|
||||||
|
|
||||||
|
Answer 2
|
||||||
|
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
- [OOP Project](https://gitarero.ecam.fr/francois.neron/OOP_H03_test_Project)
|
||||||
|
- [Francois NERON](https://gitarero.ecam.fr/francois.neron)
|
||||||
|
|
||||||
|
## Appendix
|
||||||
|
|
||||||
To download the json library:
|
To download the json library:
|
||||||
https://code.google.com/archive/p/json-simple/downloads
|
https://code.google.com/archive/p/json-simple/downloads
|
||||||
tutorial to install it on vscode:
|
|
||||||
https://www.youtube.com/watch?v=g6vvEEm2hhs
|
Workflow :
|
||||||
|
When starting a task "TODO" edit it to "TODO-INPROGRESS"
|
||||||
|
|
||||||
|
When task is done edit it to "TODO-COMPLETE"
|
||||||
|
|
||||||
|
If there is an error in the code edit it to "TODO-ERROR"
|
||||||
|
|
||||||
|
|
||||||
|
Link Canva Whiteboard:
|
||||||
|
https://www.canva.com/design/DAGCBGF5b4c/4cNmhoS6lSC8Once9r_Tlg/edit?utm_content=DAGCBGF5b4c&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
- [@guillaume.bonabau](https://gitarero.ecam.fr/guillaume.bonabau)
|
||||||
|
- [@g.le-chartier](https://gitarero.ecam.fr/g.le-chartier)
|
||||||
|
- [@balthazar.squinabol](https://gitarero.ecam.fr/balthazar.squinabol)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue