aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README30
1 files changed, 30 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..6ec72dd
--- /dev/null
+++ b/README
@@ -0,0 +1,30 @@
+# rocks
+
+An experimental terminal-based game about rocks
+
+## File Structure and Entry Point
+```
+| rocks.py ; the entry point, runs curses and manages explore/graphics
+| explore.py ; provides Explore, a class which manages saving, loading, movement, some graphics, inventory, and rock positioning
+| inv.py ;one line: "quantity = 0". This sections off the inventory into inv.quantity for explore and could permit more extension in the future
+| isrock.py ; makes use of sorter.py and manages all items as rocks (including portals to prevent intersection --- however, "type of rock" is noted)
+| isportal.py ; also makes use of sorter.py. manages all portals' saving, movement, and interlinking
+| sorter.py ; creates a new, efficient data type that automatically insorts coordinates with bisection and allows indexing, removal, etc.
+| README.md ; you're reading it right now
+| worlds ; a directory which holds all files created by save data
+```
+
+## Necessary Tools
+
+Python3.7.2 was used to develop this app, and to run it, `curses`, `hashlib`, and `math` must be available.
+
+## Controls
+
+`rocks.py` runs as a full window terminal application with a few controls, namely:
+- `q`: quits the program and returns to normal terminal mode
+- `s`: saves at a requested file location in worlds
+- `l`: loads from a file in worlds (if not available, does nothing)
+- arrow keys: moves cursor around world and through portals
+- `.` picks up rocks
+- `/` puts down rocks in your inventory
+- `\\` puts down portals (cost 10 rocks)