Votre premier jeu Windows - C++/DirectX
 |
2 Les fichiers et répertoires
2.1 Pourquoi dispatcher l'application
En dispatchant nos fichiers, c'est à dire en répartissant les codes et fonctions sur plusieurs fichiers cela rend notre programme bien plus convivial et facile à éditer ! Voici la liste des fichiers contenu dans l'archive ainsi qu'un bref descriptif de leur utilité et les fonctions contenu dans chaqu'un d'eux :
2.2 jeu_exemple1.exe
Il s'agit du fichier déjà compilé (donc executable) de notre exemple, en l'executant, et si vous disposer des Drivers DirectX 8, vous pourrez voir à quoi ressemble notre application (utilisez les touches du pavé fléché pour déplacer le sprite).
2.3 jeu_exemple1.dsp et jeu_exemple1.dsw
Il s'agit des fichiers projets du compilateur Visual C++. Ouvrez le fichier jeu_exemple1.dsw, vous pourrez plus facilement consulter les fichiers dont nous allons parler plus bas.
2.4 jeu_exemple1.cpp
Ce fichier est la base de notre application, l'extension cpp signifie "C Plus Plus" ou "C++", fantastique  Il est utilisé pour initialiser l'application Windows, inclure les autres fichiers du projet, gérer les messages et rafraichir l'écran (dessiner les sprites, etc.), il contient les fonctions suivantes, chaqu'une d'elle a un chapitre dédié :
- WindowProc() : Gére les processus (messages) de Windows
- InitApp() : Initialise notre application, crée la classe de fenêtre, la fenêtre, nos objets DirectX
- WinMain() : La fonction principalle de notre application
- UpdateFrame() : Met à jour l'écran et son contenu, dessine les sprites, du texte et d'autres fonctions graphiques
2.5 globals.h
Ce fichier contient les variables et constantes de notre application, notamment plusieurs définitions de macros, structures et déclarations de fonctions. Vous y trouverer aussi deux tableaux (dirX et dirY) qui seront utilisés pour déplacer notre sprite dans la direction voulu, pour plus d'informations sur le sujet, consultez l'article Déplacements & Directions dans un jeu 2D.
2.6 fonctions.h
Comme son nom l'indique ce fichier contient les définitions des fonctions globales à l'application, c'est à dire utilisables par tous les autres fichiers du projet. Voici la liste des fonctions, elles sont toutes traitées dans le chapitre 7 sauf InitGame() :
- InitGame() : Initialise les variables de notre jeu
- GetImage() : Retourne une structure RECT de l'image voulue
- Fail() : Cette fonction est utilisé pour terminer notre application en affichant un message d'erreur
- ReleaseAllObjects() : "Relache" tous nos objets DirectDraw
- RestoreAll() : Restore tous nos objets DirectDraw (recharge les surfaces)
2.7 input.h
Vous trouverez la dedans plusieurs fonctions utilisées par DirectInput ainsi la gestion du clavier et de la souris. Il contient les fonctions suivantes :
- DoKeyboardAction() : Effectue les actions du clavier
- DoMouseAction() : Effectue les actions de la souris
- UpdateCursorPos() : Met à jour la position du curseur de notre souris
- SetDIDwordProperty() : Définit les propriétés des périphériques DirectInput
- InitDirectInput() : Initialise nos périphériques DirectInput
- SetAcquire() : Acquière et "désacquière" nos périphériques DirectInput
- ReadKeyboardInput() : Lit et stocke les touches appuyés sur le clavier
- ReadMouseInput() : Lit et stocke les boutons appuyés ainsi que les mouvements effectués à la souris
- FreeDirectInput() : Libère les périphériques DirectInput
Uniquement les trois premières fonctions sont décrites en détails dans le chapitre 8 - input.h, les autres sont "trop complexes" pour l'instant.
2.8 ddutil.cpp et ddutil.h
Ici, sont déclarer et définit les fonctions utilisées par DirectDraw : Gérer les bitmaps, Gérer les palettes et couleurs. Nous ne reviendrons pas sur ces fonctions "trop complexes" pour l'instant. Voici la liste des fonctions :
- DDLoadBitmap() : Crée une surface DirectDraw d'après un bitmap
- DDReLoadBitmap() : Recharge un bitmap dans une surface
- DDCopyBitmap() : Dessine un bitmap dans une surface DirectDraw
- DDLoadPalette() : Crée une palette de couleurs d'après un bitmap
- DDColorMatch() : Convertit une couleur RGB en couleur physique
- DDSetColorKey() : Définit une couleur transparente pour la surface passée
2.9 resource.rc et resource.h
Ces fichiers contiennent les macros des ressources pour notre application. Dans notre exemple uniquement un icone est définit : IDI_MAIN_ICON, celui de notre application (icon.ico)
2.10 Le répertoire data
Ce répertoire contient uniquement nos données (data) ; nos bitmaps (sprites) et notre icône à savoir :
- curseur.bmp : Utilisé pour le curseur de la souris
- icon.ico : L'icône principal de notre application
- sprite.bmp : Les images et animations de notre sprite balle
|
|  |
 |