Vous êtes sur la page 1sur 2

Université d’Aix-Marseille - Faculté des Sciences

Licence d'Informatique - Licence de Mathématiques


ENSIN2U1 – Programmation

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.

1. Obtention des fichiers de la bibliothèque graphique

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.

Pour compiler un programme nommé essai.c utilisant la bibliothèque graphique, la commande


est :

gcc –o essai essai.c libgraphique.c –lglut –lGLU –lGL –lm

2. Affichage d’un grille à l’écran ( n x m )

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).

La couleur des affichages constituera sans doute un paramètre à prendre en compte.

Pour cette grille, il faudra également afficher les coordonnées des cases (indices horizontaux sous
les colonnes, et verticaux au niveau des rangées).

3. Affichage et gestion d’un curseur à l’écran par le clavier

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).

4. Déplacement du curseur dans la grille

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

Vous aimerez peut-être aussi