|
|
[ < -
retour au sommaire
- > ]
I. Djgpp, quoi qu'est-ce ?
Très simplement, et pour aller vite
(petite formule bidon ne voulant rien dire, utilisée pour faire augmenter la taille de mon
article... tout comme cette parenthèse...) on peut dire que Djgpp est un compilateur C gratuit,
sous Dos, accompagné de moultes utilitaires fort sympathiques. "DJGPP est un ensemble
d'applicatifs gratuits permettant de developper des programmes C/C++ en mode protégé
32 bits sous MS-DOS.", nous dit la faq traduite de l'anglais par François Charton. Nous, on va
s'intéresser uniquement au C et à la programmation graphique avec l'extrrrraordinaire librairie
Allegro. La version 3.1 est disponible sur le site de son auteur, Shawn Hargreaves, à cette adresse :
http://www.talula.demon.co.uk/
, mais pour ce qu'on va faire, la version 3.0 suffira. Pour ceux qui liraient cet article en vue de
se lancer dans la programmation de démos, sachez que les productions du groupe
Knights
sont réalisées avec ces outils...
II. Où ?
Djgpp est disponible dans toutes
les bonnes crèmeries, mais surtout à
ftp://ftp.ibp.fr/pub/simtelnet/ gnu/djgpp
. Mais comme vous n'avez pas envie d'engraisser France Telecom (non, vous n'avez pas envie...) vous
ne voudrez pas tout télécharger. De toutes façons, tout n'est pas nécessaire. Donc, si vous voulez
savoir quoi télécharger, rendez vous sur le site de Guillaume Betous (ne paniquez pas, l'adresse
est plus bas...;-) ) qui explique également la procédure d'installation. Sinon, plus simple et
moins couteux (sauf peut-être pour les veinards qui sont cablés), sachez que la version 2.01 de
djgpp et la version 3.0 d'Allegro, (ce sont celles que j'utilise) sont disponibles sur le cd pro de
Pc Team
n°33.
III. Piti historique de cette rubrique.
Au début, je comptais faire une
rubrique traitant d'une initiation à la programmation graphique avec Djgpp et Allegro. Mais le fait
est que certaines personnes ayant un cerveau plus rapide que le mien ont eu l'idée de le faire
avant moi. Guillaume Betous en praticulier, qui fait ça très bien. Du coup, on ne traitera pas ici
des bases de la programmation, ni de l'installation de djgpp. Nan. Pour ces choses, mieux vaut, si
vous voulez APPRENDRE quelque chose (ça risque pas d'arriver avec Peuw!) aller sur le site de la
personne sus-citée, à
http://members.tripod.com/~betous
. Donc, la rubrique en est réduite à ce principe: à chaque numéro, on décortiquera le code source
d'un effet bien connu. Cela dit, si vous débutez, (et même si vous êtes confirmés, ça vous fera
réviser...) je vous conseille FORTEMENT d'aller sur le site de Guillaume Betous pour faire vos
premières armes... et même un peu plus.
IV. Premier effet: le feu.
Evidemment, le feu, tout le monde
le fait, dans tous les webzines. Bah oui. Et nous on va faire pareil. Le feu, ça à l'air ringard
comme ça, mais pensez que l'algo peut servir de base pour construire d'autres effets plus
intéressants. (on en reparlera à la fin de l'article) Sachez, pour vot' culture, que c'est le coder
espagnol Jare qui, le premier, a réalisé cet effet. Vous pouvez télécharger un
fichier zip conteant le source, l'image contenant la palette et l'exécutable, (
149 ko
) ou bien seulement le source et l'image (
1,16 ko
).
Le principe
On utilise l'image
précédente pour passer à la suivante. Chaque pixel de la nouvelle image va en
fait recevoir la moyenne de la valeur des pixels environnants de l'image précédente.
(cette valeur correspond à une couleur dans la palette, sachant que de 0 à 79, on va
des couleurs froides vers les couleurs chaudes, et qu'après c'est du blanc jusqu'à la
dernière couleur, c'est-à-dire la couleur 255.) De plus, cette moyenne sera
décrémentée de 1 si elle est supérieure à zéro. En ce qui
concerne le choix des "pixels environnants" pour le calcul de la moyenne, on peut varier
la chose pour obtenir des effets un peu différents... à vous d'expérimenter.
Evidemment, si on fait une moyenne et qu'on ne rajoute pas de pixels à couleurs
"chaudes" en bas de l'écran, le feu va vite mourir... On va donc mettre des
couleurs chaudes au hasard sur les trois dernières lignes. En complément, pour
obtenir une certaine "turbulence" du feu, on rajoutera des foyers sur ces mêmes
lignes à des emplacements choisis au hasard. Les foyers seront représentés par
des carrés blancs (valeur 255, pour qu'on n'arrive pas trop vite aux couleurs froides) de 3
pixels de côté.
|