Guide de démarrage

Comment installer, compiler et utiliser le projet ARCADE

Prérequis

Avant de démarrer avec le projet ARCADE, assurez-vous d'avoir les éléments suivants installés sur votre système :

  • Compilateur C++ supportant C++17
  • Make ou CMake
  • Bibliothèque ncurses
  • Bibliothèque SDL2 avec SDL2_image et SDL2_ttf
  • Bibliothèque SFML

Installation des dépendances

Ubuntu/Debian
sudo apt-get update
sudo apt-get install build-essential cmake libncurses5-dev
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev
sudo apt-get install libsfml-dev
Fedora
sudo dnf update
sudo dnf install gcc-c++ cmake ncurses-devel
sudo dnf install SDL2-devel SDL2_image-devel SDL2_ttf-devel
sudo dnf install SFML-devel
macOS (avec Homebrew)
brew update
brew install cmake ncurses
brew install sdl2 sdl2_image sdl2_ttf
brew install sfml

Téléchargement du projet

Clonez le dépôt du projet ARCADE à partir de GitHub :

Terminal
git clone https://github.com/nogebeat/B-OOP-400-COT-4-1-arcade-james.gbetchedji.git
cd B-OOP-400-COT-4-1-arcade-james.gbetchedji

ou Telecharger le Zip du projet :

Téléchargé le projet zip
Terminal
unzip arcade
cd arcade

Compilation

Le projet ARCADE peut être compilé en utilisant Make ou CMake. Voici comment utiliser chaque méthode :

Compilation avec Make

Terminal
# Compiler l'ensemble du projet
make

# Compiler uniquement le core
make core

# Compiler uniquement les jeux
make games

# Compiler uniquement les bibliothèques graphiques
make graphicals

# Nettoyer les fichiers objets
make clean

# Nettoyer les fichiers objets et binaires
make fclean

# Recompiler
make re

Compilation avec CMake

Terminal
mkdir -p build && cd build
cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build .
cd ..

Note: L'implémentation CMake est en cours de développement et peut ne pas être complètement fonctionnelle.

Utilisation

Pour lancer l'application ARCADE, vous devez spécifier une bibliothèque graphique au démarrage :

Terminal
# Lancer avec SDL2
./arcade ./lib/arcade_sdl2.so

# Ou lancer avec SFML
./arcade ./lib/arcade_sfml.so

# Ou lancer avec NCurses
./arcade ./lib/arcade_ncurses.so

Contrôles

Touche Action
F5 Changer de bibliothèque graphique (précédente)
F6 Changer de bibliothèque graphique (suivante)
/ Changer de jeu (dans le menu)
/ Changer de bibliothèque graphique (dans le menu)
Enter Lancer le jeu sélectionné
R Redémarrer le jeu
M Retourner au menu
N Modifier le nom d'utilisateur
Flèches directionnelles Contrôler le jeu
Espace Action (selon le jeu)
Échap Quitter

Structure des dossiers

Le projet ARCADE est organisé selon la structure suivante :

Structure des dossiers
.
├── Makefile
├── CMakeLists.txt
├── assets
│   └── fonts
│       └── duckhunt.ttf
├── Ressources
│   ├── bg.png
│   ├── ch.png
│   ├── duckhunt.ttf
│   ├── heart.png
│   ├── pause.png
│   ├── push.ogg
│   ├── push.wav
│   ├── score.png
│   └── ss.png
├── includes
│   ├── Core
│   │   ├── ArcadeCore.hpp
│   │   ├── DLLoader.hpp
│   │   ├── EventManager.hpp
│   │   └── ScoreManager.hpp
│   ├── Display
│   │   ├── NCursesDisplay.hpp
│   │   ├── SDL2Display.hpp
│   │   └── SFMLDisplay.hpp
│   ├── Interfaces
│   │   ├── IDisplayModule.hpp
│   │   └── IGameModule.hpp
│   └── Utils
│       ├── Error.hpp
│       └── Types.hpp
├── srcs
│   ├── Core
│   │   ├── ArcadeCore.cpp
│   │   ├── DLLoader.cpp
│   │   ├── DisplayGames.cpp
│   │   ├── EventManager.cpp
│   │   ├── Menu
│   │   │   ├── Menu_Ncurses.cpp
│   │   │   ├── Menu_SFML.cpp
│   │   │   └── Menu_sdl2.cpp
│   │   └── ScoreManager.cpp
│   ├── Games
│   │   ├── Hunter
│   │   │   ├── Hunter.cpp
│   │   │   ├── Hunter.hpp
│   │   │   └── HunterModule.cpp
│   │   ├── Nibbler
│   │   │   ├── Nibbler.cpp
│   │   │   ├── Nibbler.hpp
│   │   │   └── NibblerModule.cpp
│   │   └── Snake
│   │       ├── Snake.cpp
│   │       ├── Snake.hpp
│   │       └── SnakeModule.cpp
│   ├── Graphics
│   │   ├── NCurses
│   │   │   ├── NCursesDisplay.cpp
│   │   │   └── NCursesModule.cpp
│   │   ├── SDL2
│   │   │   ├── SDL2Display.cpp
│   │   │   └── SDL2Module.cpp
│   │   └── SFML
│   │       ├── SFMLDisplay.cpp
│   │       └── SFMLModule.cpp
│   └── main
│       └── main.cpp
├── lib
│   ├── Games
│   └── Graphics
└── doc
    ├── index.html
    ├── getting-started.html
    ├── core-arch.html
    ├── graphics.html
    ├── games.html
    ├── api.html
    ├── styles.css
    └── script.js

Prochaines étapes

Maintenant que vous avez installé et configuré ARCADE, vous pouvez :