Bonjour,
Je vous propose un nouvel élément à utiliser : Puissance 4
Le célèbre puissance 4 codé en SDL
Qu'en pensez-vous ?
Bonjour,
Je vous propose un nouvel élément à utiliser : Puissance 4
Le célèbre puissance 4 codé en SDL
Qu'en pensez-vous ?
Bonjour,
Je n'ai que survolé le code mais plusieurs choses ont retenu mon attention :
La compatibilité Windows uniquement.
Tu utilises pourtant la SDL qui est portable et tu ne semble pas utiliser de fonctions spécifique à Windows, je pense donc que ton code est compatible Windows, Linux et Mac.
Le header "includes"
Pour moi c'est une très mauvaise idée, si jamais tu modifie un seul header, tu recompiles entièrement tout ton projet. Mieux vaut donc inclure uniquement les headers nécessaires.
Certaines fonctions me semblent un peu trop longues
En séparant tes grosses fonctions en fonctions plus petites, tu amélioreras la compréhension de ton code et sa maintenabilité.
Le manque de commentaires.
Il faut prendre l'habitude de mettre des commentaires (si possible doxygen).
#define HAUTEUR_FENETRE HAUTEUR_PION*N_LIGNES + 100.
Pense à mettre des parenthèses pour t'éviter des surprises et des erreurs : #define HAUTEUR_FENETRE (HAUTEUR_PION*N_LIGNES + 100), en effet, si jamais dans ton code tu écrit : HAUTEUR_FENETRE*100 ceci ne produira pas l'effet escompté.
Je pense que tu gagnerais en lisibilité en ne laissant que le break; dans le if et en déplaçant les lignes précédant le break; à la fin du while(1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 while(1) { tempsActuel = SDL_GetTicks(); if((tempsActuel - tempsPrecedent) >= LAPS_DE_TEMPS) { SDL_Surface *texte = TTF_RenderText_Blended(police , " BY KULTURMAN " , couleurNoire); positionTexte.x = (LARGEUR_FENETRE / 2) - (texte->w)/2 - 10; positionTexte.y = 250; SDL_BlitSurface(texte , NULL , ecran , &positionTexte); SDL_Flip(ecran); tempsPrecedent = tempsActuel; break; } else SDL_Delay((LAPS_DE_TEMPS - tempsActuel + tempsPrecedent)); }
Personnellement, je pense que la fonction main ne devrait contenir qu'un minimum de choses comme :
- l'analyse des arguments passé au programme ;
- l'appel de la fonction d'initialisation du programme ;
- l'appel de la fonction de "début" du programme ;
- l'appel de la fonction de libération des ressources.
Je garde donc le main le plus court possible ce qui permet de pouvoir réutiliser les sources plus facilement et de créer des bibliothèques si on le souhaite.
Sinon le code semble pas mal
Bonjour. Je vais prendre très au sérieux tes remarques. Surtout merci ça m'encourage
C'est marrant de jouer contre soi-même
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager