1 # VIIper - a Snake Clone for Unicode-compatible Terminals
3 TODO: find a better name
7 - A VTE based terminal (like GNOME Terminal and a whole bunch of others)
8 - Google Noto's Color Emoji Font (Fedora: `google-noto-emoji-color-fonts.noarch`)
12 hjkl or cursor keys move the snake.
13 r to restart, p to pause, q to quit.
17 - DONE base game: fixed field size, fixed speed
19 - put 'sprites' into `schemes.h`
22 - timer, score, increasing speed
23 - special items: slower snake, shorter snake, etc.
24 - input buffer (so fast 180° turns get executed)
25 - wall-wrap-around mode?
31 to display emojis, we need a terminal that can handle a color emoji font (no
32 shit, sherlock). mlterm, xterm and urxvt didn't work in my tests (mlterm might
33 work if compiled correctly, the other two use bitmap fonts and i don't think
34 there are any w/ emoji support). konsole will have to be tested in the future.
35 i intend to put bonus items in the game that will only be visible for a short
36 time. when they get near the end of their life, SGI-5 (blink) will make them
37 blink. this is supported in gnome-term 3.28 (vte 0.52) which is supplied with
38 fedora 28. [bug report](https://bugzilla.gnome.org/show_bug.cgi?id=579964)
42 to draw the snake with box chars, we need to know which glyph to draw.
44 our current position is X, and our predecessor and successor are on one of
45 `[NESW]` of us (we need to compute the relpos from the absolute). we need to
46 draw a line between them. note that head and tail have `NULL` as pre-/successor.
54 6 combinations (+ reverse):