Architecture du système de map
Shadow edited this page 1 month ago

Gestions des maps

Le principe de ‘matrice virtuelle’

Théorie

Lorsque vous êtes dans une map, une matrice représente l’écran et affiche les éléments du décors avec cette matrice.

Lorsque vous quittez cette map, vous arrivez en toute logique dans… une autre map ! (Si si ça marche !!) Et c’est cette gestion qui m’intéresse.

Représentation

Vous avez ci-dessous une matrice qui représente toutes le maps du jeu et l’aggrandissment montre une map du jeu :

   +--Matrice de toutes les map du jeu
   |
   v
+-+-+-+-+-+   +-+-+-+-+-+-+-+
| | | | | | / | | | | | | | | <-- Matrice d'une map du jeu
+-+-+-+-+-+/  +-+-+-+-+-+-+-+
| | | | | |   | | | | | | | |
+-+-+-+-+-+\  +-+-+-+-+-+-+-+
| | | | | | \ | | | | | | | |
+-+-+-+-+-+   +-+-+-+-+-+-+-+

La matrice qui contient toutes les map du jeu sait dans quelle map on est grâce au couple (x ; y) unique de la map en cours. Mais les cases de la matrice ne servent à rien. Donc on peut enlever la matrice et garder uniquement le couple x y pour savoir dans quelle map on est. Par un emboîtement de switch on retrouve quelle map il faut afficher.

À partir de là on remplit la matrice qui contient l’écran et on l’affiche par deux for imbriqués.

Le moteur physique du jeu

Principe

Code commenté sur un exemple