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