From 8a6e11476183b737c793b950c1070dba921230ce Mon Sep 17 00:00:00 2001 From: DeadbraiN Date: Sun, 14 Nov 2021 15:25:13 +0200 Subject: [PATCH 1/4] added errors section --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 949ac26..d3ec610 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,9 @@ python -m pip install -r requirements.txt python fungera.py --name "Simulation 1" ``` +### Install issues +In case of issues with curses library under windows 10, please use [this](https://stackoverflow.com/questions/32417379/what-is-needed-for-curses-in-python-3-4-on-windows7) approach. Ant than install all dependencies from requirements.txt file manually excepting curses. + ### TUI controls | Key | Action | |--------------------|-----------------------------------------------------| From 635ccbdf4f6dbf4221ce19c38277ca23d44c81a6 Mon Sep 17 00:00:00 2001 From: DeadbraiN Date: Sun, 14 Nov 2021 15:25:56 +0200 Subject: [PATCH 2/4] removed extra line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d3ec610..b2d3b4f 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,6 @@ Python 3.7 is required to run Fungera. Once it is installed, running Fungera is python -m pip install -r requirements.txt python fungera.py --name "Simulation 1" ``` - ### Install issues In case of issues with curses library under windows 10, please use [this](https://stackoverflow.com/questions/32417379/what-is-needed-for-curses-in-python-3-4-on-windows7) approach. Ant than install all dependencies from requirements.txt file manually excepting curses. From b97613594b44bf5e3408442ba0a7c9f5c0dfe446 Mon Sep 17 00:00:00 2001 From: DeadbraiN Date: Sun, 14 Nov 2021 15:31:19 +0200 Subject: [PATCH 3/4] fixed mistakes --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b2d3b4f..f9d18ef 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,9 @@ Python 3.7 is required to run Fungera. Once it is installed, running Fungera is python -m pip install -r requirements.txt python fungera.py --name "Simulation 1" ``` + ### Install issues -In case of issues with curses library under windows 10, please use [this](https://stackoverflow.com/questions/32417379/what-is-needed-for-curses-in-python-3-4-on-windows7) approach. Ant than install all dependencies from requirements.txt file manually excepting curses. +In case of issues with "curses" library under windows 10, please use [this](https://stackoverflow.com/questions/32417379/what-is-needed-for-curses-in-python-3-4-on-windows7) approach. And than, install all dependencies from "requirements.txt" file manually (except "curses"). ### TUI controls | Key | Action | From 0df555c2ad0bf5e183c737f37853566c01735458 Mon Sep 17 00:00:00 2001 From: DeadbraiN Date: Sun, 14 Nov 2021 15:31:52 +0200 Subject: [PATCH 4/4] removed extra line --- README.md | 86 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index f9d18ef..67d7af1 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,69 @@ # Fungera: A two-dimensional evolution simulator + ### Organism structure + - Main memory block - Child memory block (optional) - Instruction pointer - Delta (direction) - 4 general purpose registers - A stack of 8 values + ### Instruction set + | Symbol | Max ops | Description | Type | -|--------|---------|-------------------------------------------------|-------------| -| `.` | 0 | Template constructor | Template | -| `:` | 0 | Template constructor | Template | -| `a` | 0 | Register modifier | Register | -| `b` | 0 | Register modifier | Register | -| `c` | 0 | Register modifier | Register | -| `d` | 0 | Register modifier | Register | -| `^` | 0 | Direction modifier (up) | Direction | -| `v` | 0 | Direction modifier (down) | Direction | -| `>` | 0 | Direction modifier (right) | Direction | -| `<` | 0 | Direction modifier (left) | Direction | -| `x` | 0 | Operation modifier | Operation | -| `y` | 0 | Operation modifier | Operation | -| `&` | 2+ | Find template, put its address in register | Matching | -| `?` | 4 | If not zero | Conditional | -| `0` | 1 | Put [0, 0] vector into the register | Arithmetic | -| `1` | 1 | Put [1, 1] vector into the register | Arithmetic | -| `-` | 2 | Decrement value in register | Arithmetic | -| `+` | 2 | Increment value in register | Arithmetic | -| `~` | 3 | Subtract registers and store result in register | Arithmetic | -| `W` | 2 | Write instruction from register to address | Replication | -| `L` | 2 | Load instruction from address to register | Replication | -| `@` | 2 | Allocate child memory of size | Replication | -| `$` | 0 | Split child organism | Replication | -| `S` | 1 | Push value from register into the stack | Stack | -| `P` | 1 | Pop value of register into the stack | Stack | +| ------ | ------- | ----------------------------------------------- | ----------- | +| `.` | 0 | Template constructor | Template | +| `:` | 0 | Template constructor | Template | +| `a` | 0 | Register modifier | Register | +| `b` | 0 | Register modifier | Register | +| `c` | 0 | Register modifier | Register | +| `d` | 0 | Register modifier | Register | +| `^` | 0 | Direction modifier (up) | Direction | +| `v` | 0 | Direction modifier (down) | Direction | +| `>` | 0 | Direction modifier (right) | Direction | +| `<` | 0 | Direction modifier (left) | Direction | +| `x` | 0 | Operation modifier | Operation | +| `y` | 0 | Operation modifier | Operation | +| `&` | 2+ | Find template, put its address in register | Matching | +| `?` | 4 | If not zero | Conditional | +| `0` | 1 | Put [0, 0] vector into the register | Arithmetic | +| `1` | 1 | Put [1, 1] vector into the register | Arithmetic | +| `-` | 2 | Decrement value in register | Arithmetic | +| `+` | 2 | Increment value in register | Arithmetic | +| `~` | 3 | Subtract registers and store result in register | Arithmetic | +| `W` | 2 | Write instruction from register to address | Replication | +| `L` | 2 | Load instruction from address to register | Replication | +| `@` | 2 | Allocate child memory of size | Replication | +| `$` | 0 | Split child organism | Replication | +| `S` | 1 | Push value from register into the stack | Stack | +| `P` | 1 | Pop value of register into the stack | Stack | ### Running Fungera -Python 3.7 is required to run Fungera. Once it is installed, running Fungera is simple. + +Python 3.7 is required to run Fungera. Once it is installed, running Fungera is simple. + ``` python -m pip install -r requirements.txt python fungera.py --name "Simulation 1" ``` ### Install issues + In case of issues with "curses" library under windows 10, please use [this](https://stackoverflow.com/questions/32417379/what-is-needed-for-curses-in-python-3-4-on-windows7) approach. And than, install all dependencies from "requirements.txt" file manually (except "curses"). ### TUI controls -| Key | Action | -|--------------------|-----------------------------------------------------| -| space | Start/pause simulation | + +| Key | Action | +| ------------------ | -------------------------------- | +| space | Start/pause simulation | | c | Advance 1 cycle (only if paused) | -| | Move memory view up | -| | Move memory view down | -| | Move memory view left | -| | Move memory view right | -| d | Select next organism | -| a | Select previous organism | -| p | Save simulation | -| l | Load last saved simulation | -| m | Toogle minimal mode | \ No newline at end of file +| | Move memory view up | +| | Move memory view down | +| | Move memory view left | +| | Move memory view right | +| d | Select next organism | +| a | Select previous organism | +| p | Save simulation | +| l | Load last saved simulation | +| m | Toogle minimal mode |