
Sommaire
1 - Architecture
2 - Librairie graphique
3 - Snake
4 - dloader
5 - Difficultés
1
1 - Architecture
2
- Core avec un dloader pour charger les librairies graphiques et les jeux.
- Librairie graphique basée sur la SFML.
- Un jeu Snake.
2 - Librairie graphique
3
class Arcade
{
public:
virtual ~Arcade(){};
virtual void dispWindow() = 0;
virtual void clearWindow() = 0;
virtual bool isWindowOpen() = 0;
virtual void loadSound(std::string const &, std::string const &) = 0;
virtual void playSound(std::string const &) = 0;
virtual void stopSound(std::string const &) = 0;
virtual void loadMusic(std::string const &, std::string const &) = 0;
virtual void playMusic(std::string const &) = 0;
virtual void stopMusic(std::string const &) = 0;
virtual void loadSprite(std::string const &, std::string const &) = 0;
virtual void dispSprite(std::string const &, int const, int const) = 0;
virtual void dispText(std::string const &, int const, int const) = 0;
virtual void getKey(int &) = 0;
virtual void getEvent() = 0;
virtual int getWinX() const = 0;
virtual int getWinY() const = 0;
};3 - Snake
4

4 - dloader
5
- Utilisation des extern "C" pour ne pas avoir de probleme de mangling lors du chargement des librairies dynamiques.
- Génération d'un créateur pour instancier la classe.
- Utilisation de dlopen() et pour charger la librairie dynamique.
- Récupération de l'adresse du symbole chargé par dlopen() avec dlsym()
5 - Difficultés
6
- OpenGL
- dloader
- Mode moulinette
Conclusion
6
deck
By Nils Duflo
deck
- 289