Parcourir la source

updated README

Aaro Saila il y a 1 an
Parent
commit
a12c3228a0
1 fichiers modifiés avec 25 ajouts et 1 suppressions
  1. 25 1
      README.md

+ 25 - 1
README.md

@@ -2,4 +2,28 @@
 A simple snake game in the terminal. No third party libraries needed.
 
 ## Demo
-[![Video Title](https://img.youtube.com/vi/_coOVAW9qa4/0.jpg)](https://www.youtube.com/watch?v=_coOVAW9qa4)
+Click image for video
+
+[![Sanke demo](https://img.youtube.com/vi/_coOVAW9qa4/0.jpg)](https://www.youtube.com/watch?v=_coOVAW9qa4)
+
+## How it works
+The program makes the terminal use non-canonical input and output by using termios. Then it updates and prints a 2D character array containing the board borders, snake, and food. Before terminating, the program restores canonical mode.
+
+
+Each part of the snake is a node of a dynamically allocated linked list that contains:
+- The snake's x and y coordinates
+- The character that represents it on the board
+- The part's direction
+- A pointer to a order node (more on orders below)
+- A pointer to the next snake part node
+
+An order keeps information on when a snake part should change to what direction. An order is also a node in a dynamically allocated linked list that contains:
+- The direction that this order eventually tells the snake part to go to
+- The delay i.e. how many ticks until the snake part has to change direction.
+- A pointer to the next order
+
+## Info
+Only tested and designed to work with the combination of
+- GCC
+- Linux
+- x86 CPU