Skip to content

logan-montellimard-braga/breakinvaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BreakInvaders, le Jeu

Logan BRAGA - Claire DELAYE - Marie NUEL

BreakInvaders est un mini-jeu réalisé dans le cadre du projet PixelArt (Cours Gestion de Projet) de l'IUT MMI du Puy-en-Velay, promotion 2013-2014.

Site support du projet : [breakinvaders.loganbraga.fr] (http://breakinvaders.loganbraga.fr)


NOTE : Le projet est encore en phase de développement et toutes les fonctionnalités peuvent ne pas être implémentées.

Le Jeu

BreakInvaders est un mélange entre le traditionnel casse-briques et le non moins célèbre Space Invaders. Le but est de réussir à obtenir le plus haut score, en éliminant les briques. Mais attention, elles peuvent se défendre !

Dès le début de la partie, déplacez votre palette afin de rattraper la balle, et visez les briques. Si la balle tombe, c'est perdu... Enfin, après 3 essais ! Garre aux murs, qui peuvent vous renvoyer la balle avec force...

Pour chaque brique cassée, votre score est incrémenté. Les points que rapportent chaque brique sont calculés selon leur position : plus la brique est dure à atteindre, et plus elle vous rapportera de points. Le nombre de vies restant en fin de partie vous accorde un bonus de points : les vrais survivants sont bien évidemment récompensés... Les lâches, aussi, puisque vous faire toucher par un missile diminue votre score ! Ne criez pas victoire trop vite non plus ; les briques noires sont là pour vite vous faire retomber sur terre...

Les images

![ScreenShot] (https://raw.githubusercontent.com/loganbraga/breakinvaders/master/Website/assets/img/main_affiche.png)

![ScreenShot] (https://raw.githubusercontent.com/loganbraga/breakinvaders/master/Website/assets/img/affiche2.png)

Les contrôles

  • Lancer le jeu
    • Espace
  • Quitter le jeu
    • Echap
    • Q
  • Relancer la partie
    • R
  • Mettre en pause
    • Espace
    • P
  • Activer/désactiver le mode Nuit
    • N
  • Déplacer la palette
    • Gauche
      • Flèche gauche, Flèche haut, H, J
    • Droite
      • Flèche droite, Flèche bas, K, L

Les fonctionnalités

Seules les fonctionnalités notables sont listées ici. (Liste non-exhaustive)

  • Mode nuit
  • Briques générées aléatoirement
  • Briques noires : briques super solides !
  • Génération aléatoire de la position de la palette à chaque tour
  • Génération aléatoire de la position de la balle à chaque tour
  • Génération dynamique des constructions
  • Personnalisation facile des images du jeu (briques, balle et palette)
  • Personnalisation des styles par fichiers CSS
  • Objets bonus
  • Sauvegarde des scores en local
  • Portabilité

L'installation

git clone https://github.com/loganbraga/BreakInvaders.git
cd BreakInvaders
qmake
make

Vous devez disposer du paquet QtCreator pour la commande qmake, et de make d'installé.

Les détails techniques

En quel langage BreakInvaders est-il développé ?

Le mini-jeu est développé en C++11, avec la bibliothèque graphique Qt4.

En combien de temps a-t-il été développé ?

Il a été développé en une vingtaine d'heures.

Et tout a été fait de A à Z ?

Non ! Le squelette du jeu a été réalisé grâce au tutorial de ZetCode.

Et comment ça marche, tout ça ?

Grosso-modo, on se sert d'un objet balle, d'un objet palette, d'une multitude d'objets briques, et d'un objet général pour accueillir le jeu. La balle est en déplacement constant sur les axes X et Y ; elle change de direction lorsqu'elle rencontre les limites de la fenêtre, une brique ou la palette. Lorsqu'une brique est touchée par la balle, on lui passe sa propriété destroyed (détruite) à vrai ; toutes les briques dont la propriété destroyed est à vrai ne sont pas dessinées lors du prochain rafraichissement de l'interface. Un compteur compte le nombre de briques détruites pour calculer les points et savoir quand s'arrêter. Si la position Y de la balle passe sous la position Y de la palette, elle est considérée comme perdue : on réinitialise la balle et la palette, et on décrémente le compteur de vies. Si ce compteur atteint 0, on lance la défaite.

Quelle est l'architecture du projet ?

  • include/
    • ball.hpp
    • breakinvaders.hpp
    • brick.hpp
    • paddle.hpp
    • score.hpp
  • src/
    • data/
      • scores.brknvdrs
    • images/
      • ball.png
      • BreakInvaders.png
      • brick.png
      • brick_black.png
      • paddle.png
    • ball.cpp
    • breakinvaders.cpp
    • brick.cpp
    • main.cpp
    • paddle.cpp
    • score.cpp
  • BreakInvaders.pro
  • LICENCE
  • README.mdown
  • .gitignore

La licence

Licence WTFPL ((do) What The Fuck (you want to) Public Licence). CF fichier LICENCE pour plus d'informations.


Crédits

  • Développement mini-jeu par Logan BRAGA
  • Logo, charte et identité graphique par Claire DELAYE
  • Hébergement par Marie NUEL
  • Développement site support par Marie NUEL, Claire DELAYE et Logan BRAGA
Contact
  • Logan BRAGA
  • Claire DELAYE
  • Marie NUEL