Nibbler

made with C++

Détails technique

  • Client

    Epitech

  • Langage

    C++

  • Librairie

    OpenGL / SDL

  • Plateforme

    Linux

  • Date

    Mars 2015

Description du projet

Ce jeu a été développé en C++ pour Epitech. Le jeu reprend les règles d'un "Snake" classique.

1. Contrainte technique

Epitech nous impose la contrainte suivante : « Le projet doit pouvoir être compilé avec 3 librairies graphique de notre choix. ». Cette contrainte oblige les élèves à séparer la logique du jeu et les fonctions graphiques.
Donc l'objectif du projet est de créer une interface pour la partie graphique et d'encapsuler 3 librairies graphique capable d'hériter de cette interface.

J'ai choisi d'utiliser OpenGL pour avoir un jeu en 3D. SDL affiche un thème Pokémon en 2D. Et pour finir, il est également possible de jouer en ASCII.

2. À propos du jeu

Le but du jeu est typiquement le même qu'un jeu "Snake" classique. Il faut gagner le plus de points possibles avant la fin de la partie.

Le jeu s’arrête lorsque le serpent entre en collision avec un obstacle ou avec sa queue.

Le serpent se déplace continuellement, mais le joueur peut le faire tourner à droite ou à gauche pour le guider.

Des fruits apparaissent à l'écran et le serpent doit les manger pour gagner des points. Lorsque l'on mange un fruit, la queue du serpent s'agrandie.

Il y a également des obstacles qui apparaissent à l'écran lorsqu'un fruit est mangé.

Avec OpenGL, le serpent est constitué d’un trapèze 3D pour la tête et de rectangles 3D pour le corps. Une pomme est composée d’un cylindre et d’une sphère. Les obstacles sont des cubes.

Avec SDL, le serpent est constitué d’un sprite animé de dresseur Pokémon pour la tête et d’un sprite de Pokéball pour le corps. Les fruits sont des sprites de Pokémon. Les obstacles sont des sprites de montagne.

En ASCII, le serpent est constitué de "^/" pour la tête et de "x" pour le corps. Les fruits sont des "3" et les obstacles de "@".