This is a long-term list of things that might be nice to have on the game.

If you want to add a suggestion, by all means create an issue here:
https://github.com/alexdantas/nsnake/issues?state=open

--------------------------------------------------------------------------------

[easy]
When the snake eats a frut, modify its body so that the place where
the fruit was becomes big.. Just like when a snake eats it gets stuffed

[medium]
Attribute that changes the snake color
	Like -c [0 ~ 4], changes colors from 0 to 4
	Change more colors?
Key 'c' changes the color in-game

[simple]
Make the game speed changing more balanced
Make the fruit give score equal to game level

[medium]
Make attribute that changes the game level size?
Follow the other 'nsnake' path and handle the SIGWINCH signal?
	This way, whenever someone resize the window, i could do whatever
	i want, like resize the game window or move the screen...

[hard]
Change level to be a big char grid.
Each cell will be able to be EMPTY, FRUIT, WALL or SNAKE.
When checking collision, simply watch if snake's head is in a WALL cell
Same for when snake's head is in a FRUIT cell
And same when creating a fruit! Instead of checking each and every snake
position, check only if the grid is a SNAKE. (the only exception would
be the snake head. how can i check collision with it if it's a SNAKE cell?)
	This will make possible to create LEVELS for the game!
	Just read a text file with real grids on it, parse and voila!
		I wonder if this would be the game be complicated...
		Need to check other game's examples.

[simple]
Insert header when writing to score file so i can check if it is corrupted.
Whenever i read from the score file, check if the header is ok.
Maybe some special number like 666 or a string like "nSnAkE_sCoReFiLe"
	What will i do if i find a corrupted score file?
	Erase the score? Rewrite it? I need to warn the player, right?

[hard as hell]
Change the way highscores exist.
Maybe implement a highscore screen, with the names of the players.
Assume default name as getenv("USER") and such.


[simple]
Leave nsnake with the default background color of the user terminal, instead of COLOR_BLACK.
	Since use_default_colors is a ncurses extension, the man page recommends
	conditioning it to NCURSES_VERSION. What does that mean?

[simple]
Deal with signals, in case someone does Ctrl+C.
	Exit from ncurses and free() the snake memory :D


[simple]
Create function that will verify if the user pressed something (kbhit())
	If the user did, go to the nonblocking input functions (saves memory)

[simple]
When clearing highscores, show if it worked or not (due to several reasons)
	Show the hscore directory?



<random_ideas>-------------------------------------------

*	Campaign Mode? Change levels? > way ahead

***	Increase or decrease movement speed according to the game

*	Possibility to change the controls (add config option - add controls.bin file)

****	Include libncurses with the source?

*****	True Highscore Support:	For each mode, its own Highscore

***	Windows support:	PDCurses!

</random_ideas>------------------------------------------

IMPLEMENT IT ON C++

