Porneia delights

Je sais pas pour vous, mais moi j'ai passé des heures et des heures à jouer à Snake sur le vieux Nokia de mon cousin quand j'étais plus jeune. Vous trouverez très certainement dans chacune de vos distributions des jeux graphiques du même acabit. Mais rien pour les fanas de cli :/ (si en fait, y'a bien un jeux qui fait semblant d'y ressembler dans les bsdgames mais bon... pas gaygay).

Et bien nous allons compiler et installer notre fork pour cli : nibbles. Voilà donc un jeu reprenant les mêmes principes et utilisant ncurses. Donc nous allons avoir besoin des librairies ncurses pour pouvoir compiler et jouer. Je vous renvoie donc à votre distribution pour installer les libncurses5 et libncurses5-dev (le nom de ces paquets sont valables sous Debian, n'hésitez donc pas à adapter au besoin (la version ici est la 5, j'imagine que ça doit marcher avec des versions antérieures comme la 4, mais j'ai pas vérifié).

Ensuite, nous allons récupérer les sources de nibbles, les décompresser. Mais on ne va pas compiler tout de suite. Avant il faut modifier un peu les sources ainsi que le Makefile. En effet, par défaut, la binaire s'installe dans /usr/games et le fichier des scores dans /var/lib/games/ ce qui n'est pas très pratique (surtout que si vous essayez de compiler tel quel vous aurez une erreur à l'installation car /var/lib/games n'existe pas). On va régler le problème en mettant tout dans /usr/local.

Edit: veuillez noter que les dossiers d'installation peuvent être modifier selon votre convenance, donc si ça vous chante, arrangez les paths à votre sauce.

Rentrez dans le dossier des sources et déplacez Makefile vers Makefile_back :

$ mv Makefile Makefile_back

Puis, nous allons commencer par modifier le répertoire de destination des scores :

$ sed 's/\/var\/lib\/games/\usr\/local\/share\/games/' Makefile_back > Makefile

Ouvrez maintenant votre nouveau Makefile avec vim par exemple et remplacez /usr/games pour la variable INSTALL_FOLDER par /usr/local/games (oui j'aurai pu rajouter ça dans le sed, mais ça me faisait une ligne vraiment trop longue, et j'ai pas envie d'effrayer ceux qui ont pas l'habitude de voir sed). Vous aurez donc le résultat suivant :

INSTALL_FOLDER=/usr/local/games

Enregistrez et quittez. Voilà pour le Makefile. C'est pas fini. Il faut enfin spécifier à nos sources où aller trouver les scores. Donc ouvrez le fichier scoring.h et modifiez la 10ème ligne de façon à ce quelle ressemble à ça (l'ancienne version de la ligne ne doit plus exister) :

#define HIGHSCOREFILE "/usr/local/share/games/nibbles.score"

Enregistrez et quittez. J'imagine que vous avez déjà installer les dépendances (les libncurses* du début d'article) ? Oui, alors tant mieux, il nous reste à faire un simple :

$ make

suivi d'un (en root/avec sudo) :

# make install

Une dernière petite chose, nous allons arranger les permissions du fichier nibbles.score histoire que vous puissiez écrire dedans. Notez (mais si vous avez lu le README vous le savez déjà) que cela entraînera une "faille de sécurité" sur votre fichier nibbles.score (au sens où n'importe qui pourra écrire dedans et donc écraser vos scores, bouh les sales tricheurs ;)) :

# chmod 666 /usr/local/share/games/nibbles.score

Voilà, il ne vous reste plus qu'à jouer en utilisant les touches ijkl. De plus si ça vous amuse, vous pouvez créer vos propres levels en prenant exemple sur les levels déjà existants (dans /usr/local/games/nibbles.levels/). Enfin, vous pouvez créer un fichier ~/.nibblerc avec dedans le PATH de votre dossier de level perso pour qu'il le lance automatiquement à chaque fois. Pour plus de détails, lisez le README et faites nibbles -h.


Vous pouvez envoyer par mail vos commentaires et vos remarques à illovae[at]bk[dot]ru.

Nibbles (651 mots) de illovæ est mis à disposition selon les termes de la licence WTFPL(v2) - Beerware License.

Vulnerant omnes, ultima necat. Sic transit hominis regnum.
Copyleft © 2008 — illovæ