Apprenez à programmer en C / C++, tutoriel & guide de travaux pratiques en pdf.
[LANGAGE C] TECHNIQUES AVANCÉES
Cette seconde partie introduit une notion très importante du langage C : les pointeurs. Nous verrons ce que c’est et tout ce qui en découle, tout ce qu’on peut faire avec.
Je ne vous le cache pas, et vous vous en doutiez sûrement, la partie II est à un cran de difficulté supérieur.
Là encore, je fais mon maximum pour tout vous expliquer le plus simplement possible Lorsque vous serez arrivés à la fin de cette partie, vous serez capables de vous débrouiller dans la plupart des programmes écrits en C. Dans la partie suivante nous verrons alors comment ouvrir une fenêtre, créer des jeux 2D, jouer du son etc.
Accrochez votre ceinture quand même, parce que ça va secouer un tantine
1) La programmation modulaire
Les prototypes
Les headers
La compilation séparée
La portée des fonctions et variables
Q.C.M.
2) A l’assaut des pointeurs
Un problème bien ennuyeux
La mémoire, une question d’adresse
Utiliser des pointeurs
Envoyer un pointeur à une fonction
Qui a dit : « Un problème bien ennuyeux » ?
Q.C.M.
3) Les tableaux
Les tableaux dans la mémoire
Définir un tableau
Parcourir un tableau
Passage de tableaux à une fonction
Q.C.M.
4) Les chaînes de caractères
Le type char
Les chaînes sont des tableaux de char !
Fonctions de manipulation des chaînes
Q.C.M.
5) Le préprocesseur
Les includes
Les defines
Les macros
Les conditions
Q.C.M.
6) Créez vos propres types de variables !
Définir une structure
Utilisation d’une structure
Pointeur de structure
Les énumérations
Q.C.M.
7) Lire et écrire dans des fichiers
Ouvrir et fermer un fichier
Différentes méthodes de lecture / écriture
Se déplacer dans un fichier
Renommer et supprimer un fichier
Q.C.M.
8) L’allocation dynamique
La taille des variables
Allocation de mémoire dynamique
Allocation dynamique d’un tableau
Q.C.M.
9) TP : Réalisation d’un pendu
Les consignes
La solution (1 : le code du jeu)
La solution (2 : la gestion du dictionnaire)
Idées d’amélioration
Si vous arrivez jusque-là, vous pouvez vous dire que le plus dur est fait !
Certes la partie II comporte son lot de difficultés, mais avec un peu de bonne volonté on arrive à tout !
Une récompense attend tous ceux qui seront parvenus à comprendre toute la partie II. Cette récompense…
c’est la partie III !
[LIBRAIRIE C] CRÉATION DE JEUX 2D EN SDL
Arrivés à ce stade, vous connaissez la plupart des bases du C. Vous avez donc la théorie nécessaire pour réaliser à peu près n’importe quel programme. Mais… pour le moment nous n’avons fait que des printf en console, ce qui fait que nos programmes sont encore bien monotones.
Dans la partie III, ça va changer ! Nous allons étudier une librairie qui a pour nom SDL (Simple Directmedia Layer).
Cette librairie, une fois installée, rajoute de nombreuses possibilités.
Vous allez pouvoir en effet ouvrir des fenêtres, faire du plein écran, dessiner, gérer le contrôle du clavier, de la souris, du joystick… Bref, à partir de maintenant nous allons vraiment pouvoir nous amuser !
1) Installation de la SDL
Pourquoi avoir choisi la SDL ?
Téléchargement de la SDL
Créer un projet SDL
2) Création d’une fenêtre et de surfaces
Charger et arrêter la SDL
Ouverture d’une fenêtre
Manipulation des surfaces
(Exercice) Créer un dégradé
Q.C.M.
3) Afficher des images
Charger une image BMP
Gestion de la transparence
Charger plus de formats d’image avec SDL_Image
Q.C.M.
4) La gestion des évènements (Partie 1/2)
Le principe des évènements
Le clavier
(Exercice) Diriger Zozor au clavier
La souris
Q.C.M.
5) La gestion des évènements (Partie 2/2)
Initialiser le joystick
Les évènements du joystick
Les évènements de la fenêtre
Q.C.M.
6) TP : Mario Sokoban
Cahier des charges du Sokoban
Le main et les constantes
Le jeu
Chargement et enregistrement de niveaux
L’éditeur de niveaux
Résumé et améliorations
7) Maîtrisez le temps !
Le Delay et les Ticks
Les Timers
Q.C.M.
8) Ecrire du texte avec SDL_ttf
Installer SDL_ttf
Chargement de SDL_ttf
Les différentes méthodes d’écriture
Q.C.M.
9) Jouer du son avec FMOD
Installer FMOD
Initialiser et libérer FMOD
Les sons courts
Les musiques (MP3, OGG, WMA…)
Les musiques (MIDI)
Q.C.M.
10) TP : visualisation spectrale du son
Les consignes
La solution
Idées d’amélioration
La partie sur la SDL est terminée, mais il est fort probable que des TP supplémentaires fassent leur apparition dans le futur.
Cette partie n’était qu’une application pratique de ce que vous avez appris dans les parties I et II. Vous n’avez en fait rien découvert de nouveau sur le langage C, mais vous avez vu comment concrétiser vos connaissances en travaillant sur une librairie intéressante, la SDL.
S’il y en a parmi vous qui sont intéressés par la 3D, je vous recommande vivement de lire le cours sur OpenGL rédigé par Kayl. C’est une librairie graphique 3D dont vous avez sûrement déjà entendu parler. Kayl a plus d’expérience que moi dans le domaine de la 3D, il sait de quoi il parle et vous apprendrez une foule de choses intéressantes avec lui !
Notez que pour suivre son cours il faut avoir lu tout mon cours de C / C++ jusqu’à la partie III sur la SDL incluse (Kayl utilise la SDL et OpenGL en même temps, vous verrez ) Bien, attaquons maintenant la partie IV sur le C++ si vous le voulez bien.
………