Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TP 2
Premiers pas en graphisme
On se propose de débuter au niveau du « graphisme » mais de façon très rudimentaire. Il s’agit ici
de se familiariser avec la gestion de l’écran graphique en termes de dessins ainsi qu’à la gestion
d’un « curseur graphique ». Cette familiarisation vous permettra ensuite de réaliser le projet
semestriel qui consistera à concevoir un programme de jeu interactif. Pour cela, vous manipulerez
une bibliothèque graphique rudimentaire permettant de mettre en oeuvre les différentes
fonctionnalités qui suivent.
Depuis le cours sur AMeTICE, téléchargez et enregistrez dans votre répertoire de travail les 3
fichiers libgraphique.c ; libgraphique.f ; libgraphique_fonts.h.
Sur cette page, vous pouvez aussi consulter le fichier libgraphique-documentation.pdf qui
est le manuel d’utilisation de la bibliothèque graphique. Une version papier vous est distribuée.
Vous pouvez également récupérer le fichier cocotte.c qui vous montre à travers un exemple
comment utiliser cette bibliothèque.
Vous devez concevoir une procédure qui prend en entrée au moins trois paramètres : nbLin
(nombre de lignes), nbCol (nombre de colonnes), marge (marge à laisser blanche tout autour de
la grille) et dessine à l’écran une grille constituée de nbLin x nbCol cases carrées de côté
tCase (valeur calculée en fonction de nbLin, nbCol, marge et 2 constantes de la
bibliothèque graphique : WINDOWS_WIDTH et WINDOWS_HEIGHT).
Pour cette grille, il faudra également afficher les coordonnées des cases (indices horizontaux sous
les colonnes, et verticaux au niveau des rangées).
Vous devez concevoir une procédure permettant d’afficher un curseur graphique représenté par
un disque coloré, dans une case de la grille, de coordonnées (li,co). Attention : vérifier que
0<li<nbLin et 0<co<nbCol.
Une fois ceci réalisé, il vous faut procéder à la gestion de ce curseur graphique. Cela consiste à le
déplacer en fonction des commandes entrées au clavier par l’utilisateur. Le déplacement du
curseur à l’écran sera commandé par les 4 flèches du clavier (→, ←, ↓ et ↑), ou par les 4 chiffres
associés (8, 6, 2 et 4) pris sur le pavé numérique.
Des explications sur l’acquisition des touches du clavier sont données à la fin de la documentation
de la bibliothèque graphique (section 4).
Vous devez permettre à l’utilisateur de se déplacer avec le curseur dans la grille précédente de
telle sorte qu’il parvienne de la case de départ (en bas à gauche de la grille) jusqu’à la case
d’arrivée (en haut à droite) en se déplaçant de case en case. L’arrêt des déplacements sera
automatiquement entraîné par l’accession à la case d’arrivée.
Une fois ce traitement conçu, vous devrez permettre la mémorisation des déplacements réalisés
de case en case (en fait la trace des déplacements) pour reproduire à l’écran et « au ralenti » le
déplacement réalisé. La notion de « ralenti » sera dans un premier temps commandée par
l’utilisateur qui demandera de passer à la case suivante.
Dans un second temps, ce ralenti sera automatisé par une temporisation entre chaque case.
NB. Pour faire « patienter » le programme sans consommer de ressources, vous pouvez utiliser les
fonctions sleep(nombre_de_secondes) ou bien usleep(nombre_de_micro_secondes), en
incluant la bibliothèque unistd.h.
Exemple :
Grille de nbLin=4,nbCol=5. Curseur positionné en(li=3,co=1)
tCase marge
1
1 2 3 4 5