Améliorer labyrinthe en C
Fermé
parisestmagic63
Messages postés
1171
Date d'inscription
mardi 25 mars 2008
Statut
Membre
Dernière intervention
6 avril 2021
-
Modifié par parisestmagic63 le 27/04/2010 à 14:36
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 avril 2010 à 08:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 avril 2010 à 08:40
A voir également:
- Améliorer labyrinthe en C
- Améliorer wifi maison - Guide
- Logiciel pour améliorer performance pc gratuit - Accueil - Utilitaires
- Améliorer carte graphique windows 10 - Guide
- Ameliorer windows 10 - Guide
- Améliorer qualité vidéo youtube - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
28 avril 2010 à 07:46
28 avril 2010 à 07:46
Bonjour,
Pour le rendre plus pro, voici toutes mes remarques :
#include<conio.h>
Evite cette bibliothèque autant que possible. Elle ne fait pas partie du standard.
void main()
Le prototype de main sans argument est : int main(void)
Il renvoie de fait un 0 (return 0;) à la fin du programme pour signaler au programme appelant le bon déroulement du programme.
system("color c1"); et system("cls");
Le top aurait été d'utiliser une API plutôt que cette fonction. Par contre, c'est un poil plus compliqué. Si tu veux, je peux te donner le nom de cette API. De plus, lorsqu'on fait un programme spécifique à un OS (ici windows), il vaut mieux séparer les fonctions respectant la norme de celles qui sont spécifiques. En suite avec les directives préprocesseurs comme #ifdef _WIN32 tu pourras tester sur quel OS sera compilé ton programme. Cela facilitera grandement la vie du programmeur.
Tu peux également regrouper plusieurs de tes nombreux if else par des switch. C'est quand même beaucoup plus lisible. Et je te conseille également de mettre le tout dans des fonctions. Car là le code n'est pas agréable à lire. Le but n'est pas de tout mettre dans un main().
case 122:
Plutôt que mettre des 122 dont le code ascii n'est pas connu par tous, tu pourrais mettre 'z'. C'est plus lisible.
Et dernière remarque sur le code : ça manque de commentaire tout ça. Un code sans commentaire est inutile ;-))).
Voilà pour mes remarques sur le code.
Sur l'aspect des fonctionnalités de ton programme, tu pourrais mettre ton tableau dans un fichier, c'est-à-dire en faire la lecture depuis un fichier que tu laisserais le soin à l'utilisateur de construire.
Il doit y avoir d'autres choses à dire, mais pour l'instant je ne vois pas ;-))).
Si t'as des questions n'hésite pas.
Pour le rendre plus pro, voici toutes mes remarques :
#include<conio.h>
Evite cette bibliothèque autant que possible. Elle ne fait pas partie du standard.
void main()
Le prototype de main sans argument est : int main(void)
Il renvoie de fait un 0 (return 0;) à la fin du programme pour signaler au programme appelant le bon déroulement du programme.
system("color c1"); et system("cls");
Le top aurait été d'utiliser une API plutôt que cette fonction. Par contre, c'est un poil plus compliqué. Si tu veux, je peux te donner le nom de cette API. De plus, lorsqu'on fait un programme spécifique à un OS (ici windows), il vaut mieux séparer les fonctions respectant la norme de celles qui sont spécifiques. En suite avec les directives préprocesseurs comme #ifdef _WIN32 tu pourras tester sur quel OS sera compilé ton programme. Cela facilitera grandement la vie du programmeur.
Tu peux également regrouper plusieurs de tes nombreux if else par des switch. C'est quand même beaucoup plus lisible. Et je te conseille également de mettre le tout dans des fonctions. Car là le code n'est pas agréable à lire. Le but n'est pas de tout mettre dans un main().
case 122:
Plutôt que mettre des 122 dont le code ascii n'est pas connu par tous, tu pourrais mettre 'z'. C'est plus lisible.
Et dernière remarque sur le code : ça manque de commentaire tout ça. Un code sans commentaire est inutile ;-))).
Voilà pour mes remarques sur le code.
Sur l'aspect des fonctionnalités de ton programme, tu pourrais mettre ton tableau dans un fichier, c'est-à-dire en faire la lecture depuis un fichier que tu laisserais le soin à l'utilisateur de construire.
Il doit y avoir d'autres choses à dire, mais pour l'instant je ne vois pas ;-))).
Si t'as des questions n'hésite pas.
arthurik
Messages postés
166
Date d'inscription
dimanche 27 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2015
14
28 avril 2010 à 01:25
28 avril 2010 à 01:25
Salut Ce que je te conseille de faire c'est d'ajouter une difficulté de plus pour ton niveau, et je voudrai bien par exemple que ça soit tes niveaux :)
Ce que tu peux ajouter comme difficulté, c'est un nombre de coups limité, comme ça le joueur n'a pas la possibilté de se balader dans le champs.
Sinon j'ai beaucoup plus de conseille à te donner, mais c'est pas des fonctionnalités et des procedures, mais si tu veux je te les dis.
Exemple nombreux niveaux, avec un editeur de niveux dans ton programme.
J'espere que je t'ai interessé par ces idées et pour toute question n'hesite pas.
A bientôt.
Ce que tu peux ajouter comme difficulté, c'est un nombre de coups limité, comme ça le joueur n'a pas la possibilté de se balader dans le champs.
Sinon j'ai beaucoup plus de conseille à te donner, mais c'est pas des fonctionnalités et des procedures, mais si tu veux je te les dis.
Exemple nombreux niveaux, avec un editeur de niveux dans ton programme.
J'espere que je t'ai interessé par ces idées et pour toute question n'hesite pas.
A bientôt.
28 avril 2010 à 08:25
a part conio, même si elle n'est pas standard, elle est bien utile lorsque l'on fait une application en mode console.
à ce moment là, je crois qu'il existe des fonctions dans conio pour remplacer tes system. ça serait un peu plus propre que de faire appel au shell.
Comme evolution du programme, tu pourrai faire un labyrinthe de taille variable, et éventuellement un générateur aléatoire de labyrinthe.
28 avril 2010 à 08:40
Oui les fonctions de conio.h sont peut-être bien utiles. Ce que je reproche c'est de ne pas séparer le code portable du code spécifique à l'OS. En cas de maintenabilité d'un projet, c'est ainsi qu'il faut faire. Cela facilite énormément la vie aux programmeurs.
@ parisestmagic63 (pas si magique que ça d'ailleurs : 4-0 par grenoble :p)
Et je rajoute également qu'il vaut mieux utiliser _getch et non getch si tu souhaites utiliser cette fonction.