lang |
---|
fr |
Jeu type Snake en C avec la bibliothèque SDL3.
Projet tutoré de développement en C à Polytech Tours.
Fonction | Outil |
---|---|
Compilateur C | Clang |
Assistance langage C | clangd (LSP) |
Formateur de code | clangd (LSP) |
Débugueur C | lldb |
Système de build | CMake (utilise Make) |
Versionnage et collaboration | Git avec GitHub |
Gestion de dépendances et environnement | Nix |
- SDL3 pour la gestion des fenêtres, les graphismes, l’affichage
Fichier | Contenu |
---|---|
main.c |
Initialisation, boucle principale, fin et nettoyages |
param.h |
Paramètres globaux (macros) |
struct.h |
Structures communes à de nombreux éléments du jeu |
render.c + render.h |
Affichage des éléments et déroulement du jeu |
snake.c + snake.h |
Déplacements, évolution et gestion du serpent |
fruit.c + fruit.h |
Création et gestion des fruits |
strings.h |
Chaînes de caractères du jeu |
Symbole | Convention |
---|---|
Variable (uint32_t ) |
snake_case (my_var = … ) |
Tableau (example_tab [] = … ) |
snake_case suivi de _tab |
Pointeur (* example_ptr = … ) |
snake_case suivi de _ptr |
Macro (constante) (#DEFINE ) |
UPPER_CASE (MY_CONST … ) |
Fonction (void my_func(uint32_t arg) {…} ) |
snake_case |
Types (typedef struct /enum {…} … ) |
snake_case suivi de _t |
Formatage automatique avec le « language server » inclus dans Clang. Style de
code défini dans le fichier .clang-format
.
BasedOnStyle: Microsoft
IndentWidth: 4
UseTab: Never
ColumnLimit: 80
.
.
.
Documentation de toutes les fonctions en français, suivant la syntaxe
Doxygen, comportant au moins la mention
@brief
, ainsi que @param
si la fonction prend un ou plusieurs paramètres, et
@return
si son type de retour n’est pas void
.
/**
* @brief Ne fais rien, mis à part être un fonction d’exemple
* @param arg1 Le premier argument
* @param arg2 Le second argument
*/
void my_func(uint32_t arg1, uint16_t arg2);
Utilisation des entiers de taille définie uint8_t
, uint16_t
, uint32_t
et
uint64_t
de la bibliothèque <stdint.h>
au lieu des char
, short
, int
et
long
dépendants de la plateforme.
Norme utilisée du langage C la plus récente, C23.