Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Module UE LIFAPCD – GalagaWars

GalagaWars est une implémentation simple d'un jeu de tir spatial inspiré de Galaga, où le joueur contrôle un vaisseau pour combattre des vagues d'ennemis et un boss final, développé par deux étudiantes dans le cadre du cours de L2 Informatique Conception et Développement d'Applications(LIFAPCD) à l’Université Claude Bernard Lyon 1.

Ce projet est écrit en C++ dans un style clair et accessible pour un étudiant de niveau L2. Il a également pour objectif d’illustrer l’utilisation d’outils courants dans le développement logiciel tels que Git, Doxygen, Valgrind, etc.

Le jeu peut être compilé sous Linux, Windows, MacOs ou via la ligne de commande et des IDE comme CodeBlocks, Visual Studio Code.

Pour plus d’informations: 👉 https://forge.univ-lyon1.fr/p2303609/galagawars.git

Contributeurs et License

Contributeures :

  • 12303609 THI HANH TRUONG
  • 12304387 SERINE MATEMATI

License : Ce projet est distribué sous la licence MIT / GNU GPL

Organisation de l’archive

L’archive du projet GalagaWars est structurée comme suit :

  • Galagawars/src : Contient le code source.

    • src/core : Classes de base du jeu (Jeu, Vaisseau, Ennemi, Terrain, Projectile).

    • src/txt : Code pour la version texte, incluant la classe WinTXT pour gérer l’affichage console et les événements clavier.

    • src/sdl2 : Code pour la version graphique avec SDL2.

  • Galagawars/doc : Contient le fichier Doxygen pour générer la documentation du code.

  • Galagawars/data : Contient les ressources comme les images ou sons (si disponibles).

  • Galagawars/bin : Répertoire où les exécutables sont générés (GalagaWars_txt, GalagaWars_sdl).

  • Galagawars/obj : Répertoire pour les fichiers intermédiaires (.o) générés lors de la compilation.

Pour compiler

Avec Makefile

  1. Compiler le projet

    make
    make docu
    doxygen doc/doxyfile
  2. Exécuter un des programmes

  • .Version texte :

     ./bin/GalagaWars_txt

    Cette version affiche le jeu dans la console avec des caractères ASCII. Utilisez les touches W, A, S, D pour déplacer le vaisseau (W : haut, S : bas, A : gauche, D : droite). Appuyez sur P pour mettre en pause/reprendre et Q pour quitter.

  • .Version SDL2 :

     ./bin/GalagaWars_sdl

    Cette version affiche une interface graphique. Utilisez les touches fléchées pour déplacer le vaisseau (haut, bas, gauche, droite) ou activez le contrôle par souris en appuyant sur M pour basculer entre clavier et souris. Appuyez sur P pour mettre en pause/reprendre, Q pour quitter, et F pour basculer en mode plein écran.

  1. Nettoyer les fichiers compilés

    make clean

Avec CMake

  1. Compiler le projet
      cd build
      cmake ..
      make
  2. Exécuter un des programmes
  • .Version texte :
     ./GalagaWars_txt
  • .Version SDL2 :
     ./GalagaWars_sdl

Description des exécutables

  1. GalagaWars_txt : Une version console du jeu où les éléments sont représentés par des caractères ASCII dans une arène entourée de bordures (#). Le vaisseau du joueur est affiché comme un 'V', les ennemis comme 'N' (normal), 'R' (rapide), 'C' (capturant), 'B' (boss), ou 'F' (autre type). Les projectiles du vaisseau sont des '|' et ceux des ennemis des '*'. Le score est affiché en haut à gauche sous la forme "Score: [nombre]". Le joueur contrôle le vaisseau pour détruire des vagues d’ennemis, puis un boss final, avec pour objectif de survivre et vaincre le boss.

  2. GalagaWars_sdl : Une version graphique utilisant SDL2, avec des sprites pour représenter le vaisseau, les ennemis (normaux, rapides, capturants, boss), et les projectiles. Le score et la vie du vaisseau sont affiché à l’écran, et le gameplay est identique à la version texte, mais avec un rendu visuel amélioré. Un écran de victoire s’affiche après avoir vaincu le boss (fond blanc avec le texte vert "You Win! Score: [nombre]"), et un écran de défaite apparaît si le joueur perd toutes ses vies (fond noir avec "Game Over! Score: [nombre]").

Tests de régression

la classe Vaisseau

  1. Compilez le programme de test :

    g++ -Wall -ggdb -std=c++17 -o test_vaisseau src/core/test_vaisseau.cpp src/core/Vaisseau.cpp src/core/Terrain.cpp src/core/Projectile.cpp
  2. Exécutez le programme :

    ./test_vaisseau

la classe Jeu

  1. Compilez le programme de test :

    g++ -Wall -ggdb -std=c++17 -o test_jeu src/core/test_jeu.cpp src/core/Jeu.cpp src/core/Terrain.cpp src/core/Vaisseau.cpp src/core/Ennemi.cpp src/core/Projectile.cpp
  2. Exécutez le programme :

    ./test_jeu

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages