Enoncé du TP

Transcription

Enoncé du TP
CPP_TP1
Programmation C++ SFML – TP1
G.COLIN
Objectifs :
Installer Code Blocks et SMFL
Ecrire des premiers programmes en C++ et utiliser la bibliothèque SFML
Ressources :
Pour Code Blocks : de nombreuses ressources sur Internet pour l’utilisation de Code Blocks
Pour SFML : http://www.sfml-dev.org/index-fr.php
Installation :
CodeBlocks est un IDE ou EDI en français: Environnement de Développement Intégré. Il permet d’éditer des
programmes, de compiler les programmes, d’utiliser des bibliothèques pré-compilées.
CodeBlock doit être installé sur le PC. Pour une utilisation personnelle, télécharger et installer Code Blocks pour
Windows : codeblocks-13.12mingw-setup.exe.
SFML est une bibliothèque de programmes destinée à développer des jeux vidéo ou des programmes
interactifs. Elle est écrite en C++.
Télécharger SFML 2.1 (GCC 4.7 TDM - 32 bits) – Placer le répertoire SFML-2.1 dans un répertoire nommé
SFML, dans le répertoire TRAVAIL.
Télécharger le projet 01_fenetre, à placer dans un répertoire nommé Projets, lui-même placé dans le
répertoire SFML du répertoire TRAVAIL.
Organiser les répertoires de la manière suivante :
Le répertoire SFML contient 2 répertoires :
- SFML-2.1
- Projets
1 – Création d’une première fenêtre.
Premier programme :
Exécuter Code Blocks
Ouvrir le projet nommé « projet.cbp » se trouvant dans le répertoire 01_fenetre : File / Open
Project files
Le projet comporte un seul fichier source (main.cpp). Les fonctions utilisées sont des fonctions définies par
SFML (des explications détaillées sont données sur le site http://www.sfml-dev.org/index-fr.php).
On crée une fenêtre graphique
appelée window de 600 x 600 pixels
On crée un objet
événement appelé event
On lit la liste d’attente
des événements dans la
fenêtre window, tant
que cette liste n’est pas
vide
On efface la fenêtre
window
On exécute le programme
tant que la fenêtre window
est ouverte
On affiche la fenêtre
window
Si l’événement est de type
« Closed » , on ferme la fenêtre
window (et le programme s’arrête
car voir ci-dessus)
Compiler le projet : Build / Build
Exécuter le programme : Build / Run une fenêtre noire doit apparaître
L’exécutable se trouve alors dans le répertoire 01_fenetre : fenetre.exe et il peut être lancé
indépendamment de Code Blocks
Modifications du programme :
Apporter les modifications ci-dessous, compiler et exécuter le programme.
Sous Code Blocks, ouvrir le fichier « Couleur.h » se trouvant dans le répertoire : 01_fenetre\include
Modifier le programme « main.cpp » pour avoir une fenêtre Bleu_Clair
Les couleurs peuvent être personnalisées. Les valeurs RVB (Rouge Vert Bleu) peuvent être déterminées à
l’aide du logiciel Paint.
Créer une 2ème fenêtre nommée window2 de dimensions 200x200 pixels, avec un fond vert clair.
L’application se fermera si la fenêtre window uniquement est fermée. Les lignes à dupliquer et à modifier
sont les suivantes :
Personnaliser le nom de cette 2ème fenêtre pour qu’on puisse identifier l’auteur du programme.
Faire constater le fonctionnement au prof.
2 – Led - Bouton
Télécharger le projet 02_led_bouton, à placer dans un répertoire nommé Projets, lui-même placé dans le
répertoire SFML du répertoire TRAVAIL.
Programme :
Exécuter Code Blocks
Ouvrir le projet nommé « projet.cbp » se trouvant dans le répertoire 02_led_bouton : File / Open
Project files
Le projet comporte un seul fichier source (main.cpp). Les fonctions « sf :: » utilisées sont définies dans les
bibliothèques SFML. Les fonctions Led et Bouton, écrites par G.COLIN, sont incluses dans la bibliothèque
libmede.a.
Les nouveautés :
On inclut la déclaration des fonctions utilisées pour créer des
objets Led et Bouton
On déclare un Bouton appelé
bouton1, qui sera placé dans la
fenêtre window, avec le texte ON
On déclare une Led appelée
led1 qui sera placée dans la
fenêtre window
On positionne led1 et
bouton1 dans la fenêtre
window
Le programme principal : on lit l’état du bouton1 et si ce bouton
est « cliqué », il retourne 1 (0 sinon) et on allume la led1
(led1.on()) sinon on éteint la led1 (led1.off())
Compiler le projet : Build / Build
Exécuter le programme : Build / Run et tester le.
L’exécutable se trouve alors dans le répertoire 02_led_bouton : led_bouton.exe et il peut être lancé
indépendamment de Code Blocks
Modifications du programme :
Modifier le programme pour avoir le fonctionnement suivant :
Un bouton « ON » permet d’allumer la led1
Un bouton « OFF » permet d’éteindre la led1
Compiler et tester le programme
Modifier le programme en ajoutant une 2ème Led qui prend le même état que la led1.
Personnaliser le nom de la fenêtre pour qu’on puisse identifier l’auteur du programme.
Faire constater le fonctionnement au prof.
3 – Temps
Télécharger le projet 03_temps, à placer dans un répertoire nommé Projets, lui-même placé dans le
répertoire SFML du répertoire TRAVAIL.
Exécuter Code Blocks
Ouvrir le projet nommé « projet.cbp » se trouvant dans le répertoire 03_temps : File / Open
Le projet comporte un seul fichier source (main.cpp). Les fonctions « sf :: » utilisées sont définies dans les
bibliothèques SFML. Les fonctions Led, Bouton et Tempo, écrites par G.COLIN, sont incluses dans la
bibliothèque libmede.a.
Les nouveautés :
On inclut le fichier Tempo.h
On créer un objet Tempo, appelé t1.
On lit la valeur de t1 qui retourne le temps en ms.
Si le temps écoulé est > à 200ms, on effectue la
partie du programme entre { }
On lit la valeur de la led1, si elle est à 1 on la met
à 0, sinon on la met à 1.
On met la temporisation t1 à 0
Compiler le projet : Build / Build
Exécuter le programme : Build / Run et tester le.
Modifications du programme :
Modifier le programme pour avoir le fonctionnement suivant :
Dans la fenêtre principale, 1 led clignote à la fréquence de 2 Hertz et 1 led clignote à la fréquence de
1 Hertz
Compiler et tester le programme
Faire constater le fonctionnement au prof.
4 – Chenillard
Télécharger le projet 04_chenillard, à placer dans un répertoire nommé Projets, lui-même placé dans le
répertoire SFML du répertoire TRAVAIL.
Exécuter Code Blocks
Ouvrir le projet nommé « projet.cbp » se trouvant dans le répertoire 04_chenillard : File / Open
On déclare 4 objets Led
On déclare 4 booléens
Si la tempo t1 est écoulée
On lit l’état des leds, valeurs placées dans les
booléens
On place la led1 dans l’état de la led4
Compiler le projet : Build / Build
Exécuter le programme : Build / Run et tester le.
Modifications du programme :
Modifier le programme pour avoir un chenillard avec décalage à gauche sur 4 leds.
Compiler et tester le programme
Faire constater le fonctionnement au prof.
Modifier le programme pour avoir un chenillard avec décalage à gauche sur 8 leds.
Compiler et tester le programme
Faire constater le fonctionnement au prof.

Documents pareils