Allegro

 

Accueil | Langage C | C++ | C# | VB.NET | API WIN 32 | Struct. données | Allegro | DirectX | XNA | Sprites | Recherche | CV

Allegro
Allegro

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

IDE / Compilateur :

CodesBlock / Mingw32

 

TUTORIAL Allegro 4.2.3 / 4.4.0:

allegro 4.2.3

Documentation (on-line)

 

Allegro 4.2.3, version stable compilée :
Package allegro pour codeBlock
Package allegro pour Visual C++ v.10

 

ADDONS ALLEGRO DISPONIBLES
(voir les docs associées pour utilisation) :
AllegroGl pour coupler allegro avec OpenGl
JpgAlleg pour disposer d'images jpeg dans un programme
loadpng pour dispser d'images au format png
logg pour disposer du format son logg

 

Liens utiles :

Site de référence pour la librairie Allegro
Site de la communauté Allegro pour la création
Site codeBlock
Site packages Dev C++ et codeBlock
 

Déroulé :

1 : Démarrer avec Allegro
Télécharger le source commenté du cours 1
Allegro TD-TP 1 : Base, primitives de dessin, animation directe écran

 
1. Démarrage
      - Introduction librairie
      - Base d’un projet (linkage et premier programme)

2. Entrer dans le mode graphique
      - Avoir une couleur  
      - afficher du texte
      - primitives de dessin

3. Entrer dans l’événementiel
      - Contrôle de la souris  
      - Contrôle du clavier
 

2 : Couleurs, image bitmap
Télécharger le source commenté du cours 2
Allegro TD-TP 2 : couleurs, datas images, animation

 

1. Modes couleur
      - Pixel
      - CODAGE 15, 16, 24, 32 bits (mode « true colors ») et 8

        bits (mode « palette »)      .....................................................................................(prg1)
      - Sélectionner une profondeur de couleur 8, 15, 16, 24 ou 32 bits
      - Sous Allegro par défaut c’est le mode palette :
             - créer une palette de couleurs       ................................................................ (prg 2)
             - rendre opérationnelle une palette créée ou modifiée (fonction set_palette()(prg 2)
             - rotation de palette    ...................................................................................  (prg 3)

 
2. BITMAP en mémoire
      - Structure de données de la Bitmap
      - Créer, détruire une Bitmap...................................................................................(prg 4)
      - Dessiner, placer du texte, effacer une Bitmap......................................................(prg 4)
      - Afficher (copier) une Bitmap : fonction blit()..........................................................(prg 4)
      - Bouger une Bitmap...............................................................................................(prg 5)
      - Sauvegarde dune Bitmap......................................................................................(prg 6)
      - Faire une photo d'écran........................................................................................(prg 7)
      - Récupérer une Bitmap dans le programme (load).................................................(prg 8)
      - Accéder aux datas d’une Bitmap...........................................................................(prg 9)

 

3 : Concevoir une animation
Télécharger le source commenté du cours 3

Allegro TD-TP 3 : spéciale préparation au DS

Allegro TD-TP 3 : Double buffer, sprites, animations, collisions

 

1. Avoir des acteurs (des formes ou des personnages) les animer et les afficher
      1) Définir des acteurs à l’aide de structures
      2) Affichage, méthode double buffer
          - Test avec des acteurs «  formes » (rect, cercles, etc.) ……..............................…(prg 1)
          - Ajouter un fond (une image étirée par homotétie)  ……….............................…...(prg 2)
          - Pratiquer une homothétie………...…………………………….............................…............(prg 3)
      3) Remplacer les formes (rect, cercles etc.) par des images……...............................(prg 4)
          - affichage sans mode masque
          - affichage avec mode masque

2. Sprites et animation
      4) Remplacer une image par une séquence d’images
          - Base de l'animation : un bonhomme marche sur place….…...............................(prg 5)
          - Bonhomme déplacé au clavier……………………………….......................…......…...........(prg 6)
          - Contrôler la vitesse de l’animation………………………….............................…...........(prg 7)
      5) Généralisation du contrôle d’un sprite
          - Définir une structure de données
          - Récupérer une série d’images stockées dans un seul fichier...….......................(prg 8)
      6) Animer plusieurs séquences simultanément……………….................................….....(prg 9)
 

3. Détecter des collisions

      7) Test simple rectangle à rectangle……………………………..........................................(prg 10)

4 : Elaborer un monde
Télécharger le source commenté du cours 4

Télécharger le source du cours 4 modifié 2009

Allegro TD-TP 4 : Création d'un monde avec des personnages dedans

1. Avoir un décor
      1) Scroller une grande image ..................................................................................(prg 1)
      2) Till Map : construire un univers à partir de "tuiles"
          - Agencement aléatoire de tuiles ........................................................................(prg 2)
          - Agencement à la main de tuiles ........................................................................(prg 3)
      3) Utiliser un éditeur graphique
          - Présentation sommaire de Mappy (v1418) ............................................... (demo live)
          - Récupération du terrain réalisé dans le source du programme........................ (prg 4)

2. Déplacer un bonhomme dans un décor
      4) Bonhomme mobile dans décor fixe .....................................................................(prg 5)
      5) Nombreux bonhommes mobiles dans décor fixe
          - Obstacles respectés, pas de collision entre bonhommes .................................(prg 6)
          - Obstacles respectés, collisions entre bonhomme ......................................
          - Le player peut envoyer des boules de feu ................................................
      6) Bonhomme fixe, c'est le décor qui bouge.............................................................(prg 7)

3. Nécessité de diviser son programme en plusieurs modules
          - Découpage du programme "bonhomme fixe, c'est le décor qui bouge".............(prg 8)

5 : Collisions, lignes, chemins
Télécharger le source commenté du cours 5

Allegro TD-TP 5 ... suivi de projet

1. Etudes collisions
      1) intersection rectangles........................................................................................(prg 1)
      2) intersection polygones........................................................................................(prg 2)
      3) différentiel de couleurs........................................................................................(prg 3)

2. Récupérer une ligne, un contour
      4) récupérer des lignes (droite, cercle, ellipse, bézier)............................................(prg 4)
      5) récupérer des lignes, algorithme P. Audibert (droite, cercle)...............................(prg 5)
      6) récupérer un contours, algorithme P. Audibert....................................................(prg 6)

3. Disposer de trajets
      7) fixer et suivre des trajets ..............................................................................

      8) fixer et suivre une route plus large qu'un trajet ............................................
      9) élaborer un réseau de stations .....................................................................
      10) cheminer sur le réseau ................................................................................

4. Rechercher un chemin, bases
      11) atteindre une proie, un objectif
          - poursuite basique .......................................................................................
          - le coup des miettes de pain du petit poucet ...............................................

      12) problème des obstacles

          - un mouvement aléatoire pour se dégager ..................................................
          - contourner l'obstacle ...................................................................................
      13) Déplacement dans plusieurs pièces
          - explorer systématiquement les ouvertures .................................................
          - utiliser la technique du réseau ....................................................................

5. Recherche de chemins, l'algorithme A-star (A*)
      14) Recherche sur terrain uniforme

          - commencer la recherche
          - système d'évaluation
          - processus et chemin trouvé ........................................................................

      15) Recherche sur terrain composite (des zones de valeurs différentes)

          - calcul du coût
          - processus et chemin trouvé ........................................................................

          - ajouter des zones d'influence en fonction de présences ............................

Bibliographie :

BOURG David M. et SEEMANN Glenn, AI for game developpers, O'Reilly, 2004.