Abschnittsübersicht

    • Proposition pour les questionnaires en décembre Forum
      Nicht verfügbar, außer: Sie sind in Enseignants
  • L'organisation du cours :

    CM1 : Fonctionnement un programme (en mémoire) + présentation de projet 

    CM2 : Rappels (fonctions, structures de données: piles et tableaux, ...) + Makefile (+ allocation de mémoire)

    • TP1 : Makefile / CMake + SDL + Gestion de version github

    CM3 : Gestion de mémoires

    CM4 : Gestion de fichiers et d'entrées/sorties

    • TP2 : SDL (événements avec souris et clavier) + écrire/lire les fichiers

    CM5 : Algorithme sur le graphe et la structure arborescente  

    • Projet de programmation avancée

  • Pour installer SDL sur votre PC perso :
    Pour installer CMake sur votre PC persohttps://cmake.org/install/

    Tutoriels pour C

    Tutoriels pour SDL en C

    • Gestion de version Git, compilation avec Makefile/CMake et la bibliothèque SDL.

      Attention si vous faites une copie-colle de Makefile pour SDL depuis le sujet, vous pouvez rencontrer d'erreur de type : ‘sdl2-config n'existe pas. Cela vient du caractère d'apostrophe (‘) dans LDFLAGS que vous avez copié, pour corriger, vous devez remplacer ce caractère par la caractère (`) venant de la touche AltGr + 7 !!!!


    • Si vous travaillez sur votre PC personnel et vous avez installé libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev :

      • Vous n'avez pas besoin de configurer les zip : SDL_image-1.2.12.zip, SDL_ttf-2.0.11.zip, SDL2_image.zip, SDL2_ttf.zip
      • Il faut juste mettre dans LIBS : -lSDL2_ttf -lSDL2_image (c.f Makefile dans Supports TP1)

    • SDL événements et la gestion des fichiers

  • Le projet a pour objectif de mettre en pratique les connaissances acquises durant l'UE.

    Les exigences du projet sont :

    • Langage de programmation 
      • C / C++
    • Compilation séparée 
      • Makefile / CMake
    • Fonctions et procédures
    • Structure de données
      • Enregistrements avec listes chainées, piles, files, graphes, …
    • Gestion de mémoire
      • Allocation de la mémoire dynamique
      • Libération de la mémoire
      • Fuite de mémoire
    • Gestion d’entrées et de sorties
      • Clavier et souris
    • Gestion des fichiers
      • Lecture et écriture
    • Graphiques
      • SDL, SFML, ...
    • Gestion de version 
      • github, gitlab, bitbucket,…
    • Autres critères
      • Organisation du code : headers, sources, definition de constantes, commentaires, clarté, ...
      • Optimisation du code : accès aux fichiers, gestion de la mémoire dynamique (malloc + free), ...

    Vous devez compléter le pad Info projet sur Arche avant
    18h le 18 octobre 2023, en indiquant :
    • Votre binôme 
    • Le lien git du projet : les projects devaient être obligatoirement versionnés !

    Exemple : SDL avec de sprites, de traitement de collisions, de boucles etc.

  • Une feuille antisèche manuscript A4 est autorisé pendant l'examen.

    • La mise à disposition d'un sujet exemple n'est en aucun cas une garantie que le sujet final y ressemblera.