File: README.md

package info (click to toggle)
nsnake 3.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, sid, stretch
  • size: 760 kB
  • ctags: 839
  • sloc: cpp: 5,472; ansic: 201; makefile: 107
file content (193 lines) | stat: -rw-r--r-- 6,698 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# nsnake

Classic snake game on the terminal; made with C++ and ncurses.

![menu](http://nsnake.alexdantas.net/images/arcade-menu.png)
![menu](http://nsnake.alexdantas.net/images/small-maze.png)
![menu](http://nsnake.alexdantas.net/images/large-maze-with-lots-of-fruits.png)

`nsnake` is a clone of the classic snake game that we all used to
play on our cellphones. You play this game on the terminal,
with textual interface.

Here's some features:

* Customizable gameplay, appearance and key bindings
* GUI-like interface with nice animations
* Levels - create your own [easily][level_wiki];
* Lots of possible game modes; teleport, scroll map, random walls,
  etc. Scores are saved for each setting.

## Controls

The keybindings are completely customizable on the in-game menus.
The default ones are:

| Keys              | Actions                    |
| ----------------- | -------------------------- |
| Arrow Keys        | Moves the snake            |
| q                 | Quits the game at any time |
| p                 | Pauses/Unpauses the game   |
| h                 | Show help during game      |

All user settings are located at `~/.local/share/nsnake`.

## Levels

nSnake looks out for level files on `~/.local/share/nsnake/levels`. By default
it installs stock levels on `/usr/share/games/nsnake/levels`, so make sure to
copy them before playing.

Levels have a `.nsnake` extension and are simple text files.  The file
format is very easy to edit; check out [the wiki][level_wiki] for a quick guide.

## Dependencies

nSnake only depends on `ncurses`; it's used to show cute things on the terminal.

Make sure you have the package *ncurses dev*. Note that it's _not_ the default
that comes with your distro.

| Distro         | Installation command              |
| -------------- | --------------------------------- |
| Ubuntu/Debian  | `apt-get install libncurses5-dev` |
| Fedora         | `yum install ncurses-devel`       |
| Arch Linux     | _comes by default_                |

If you know the means to install on other distros, [please tell me][issues].

## Usage

Briefly, the following shell commands should configure,
build and install this package on the default directories:

    $ make
    $ [sudo] make install

If you want to test it before installing, do:

    $ make run

Then, it's simple:

	$ man nsnake
	$ nsnake

To change the default installation directories, check file
`INSTALL.md`.

## Contact

Hello there, I'm Alexandre Dantas (kure)!

Thanks for downloading and playing this game, I'm very glad you had
interest on this humble project.

You can send me comments, bugs, ideas or anything else by email.
And if you have time, please visit my blog!

* My email:      <eu@alexdantas.net>
* My homepage:   http://alexdantas.net/
* Mu blog:       http://alexdantas.net/stuff

I'd appreciate any commentary - even if it's
just _"Hello, I play your game!"_.

## Links

Some interesting links if you're interested on nsnake:

* [nSnake homepage][home]
* [Up-to-date nsnake news][news] ([RSS feed][rss])

Also, it's all over the web!

* [Source on GitHub][github]
* [Source on Bitbucket][bitbucket]
* [Source on Sourceforge][sourceforge]
* [Source on Google Code][googlecode]
* [Source on Gitcafe][gitcafe]
* [Package on Debian](https://tracker.debian.org/pkg/nsnake)
* [Package on Fedora](https://apps.fedoraproject.org/packages/nsnake)
* [Package on Arch Linux (AUR)](https://aur.archlinux.org/packages/nsnake/)
* [Package on Slackware (SlackBuilds)](http://slackbuilds.org/repository/14.1/games/nSnake/)

## Credits

Firstly, I'd like to thank you for playing this game.
Hope you liked it!

The game was mainly done by me, but a lot of people helped me in
many ways. There's a list of them on the `AUTHORS` file, and you
can see people's [contributions to the code here][contrib].

Throughout the nsnake development, I found very interesting sources
of ideas; small games made in C, textual games with ncurses, and
stuff like that.

I raise my hat to:

* *nInvaders*: A space invaders-like game using ncurses.
  * homepage: http://ninvaders.sourceforge.net
  * comments: "Thanks for the inspiration. If I haven't installed
               this in first place, I'd never have the idea
			   for nsnake"

* *pacman4console*: A console-based pacman game.
  * homepage:  http://doctormike.googlepages.com/pacman.html
  * comments:  "The way this package was organized
                    is incredible. Thanks for the
                    general packaging ideas"

* *vadorz*: An addicting ncurses space-invaders game.
  * homepage: http://code.google.com/p/vadorz/
  * comments: "This package is awesome, 'cause it uses ncurses
               AND pdcurses to be able to play in Windows and
			   GNU/Linux"

* *snake4*: Fruit-eating snake game
  * homepage: http://shh.thathost.com/
  * comments: "Thanks for the Makefile ideas. It's
               very well-written."

* *ASCII Generator*: A generator of awesome ASCII text arts
  * homepage:  http://www.network-science.de/ascii/

* *Text ASCII Art Generator*: Another awesome ASCII text generator
  * homepage:  http://patorjk.com/software/taag/
  * comments:  "I've used the Modular font to display
                the Game Over screen"

## License

 nsnake - The classic snake game with ncurses.
 Copyright (C) 2011,2014  Alexandre Dantas

 nsnake is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.

 homepage: http://www.alexdantas.net/projects/nsnake/
 mailto:   eu@alexdantas.net

[issues]:      https://github.com/alexdantas/nSnake/issues
[home]:        http://nsnake.alexdantas.net/
[news]:        http://alexdantas.net/stuff/posts/category/projects/nsnake/
[rss]:         http://alexdantas.net/stuff/posts/category/projects/nsnake/feed/
[github]:      https://github.com/alexdantas/nsnake
[bitbucket]:   https://bitbucket.org/alexdantas/nsnake
[sourceforge]: https://sourceforge.net/projects/nsnake/
[gitcafe]:     https://gitcafe.com/alexdantas/nsnake
[googlecode]:  http://code.google.com/p/nsnake/
[contrib]:     https://github.com/alexdantas/nSnake/graphs/contributors
[level_wiki]:  https://github.com/alexdantas/nSnake/wiki/How-to-create-your-own-levels