MATSERMIND OBJET [DEV-C++ + CONIO.H DE TURBO C++ 3.0]

Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 - 8 mars 2003 à 17:45
littlefl Messages postés 21 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 2 juillet 2003 - 12 mars 2003 à 13:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10536-matsermind-objet-dev-c-conio-h-de-turbo-c-3-0

littlefl Messages postés 21 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 2 juillet 2003
12 mars 2003 à 13:32
Kaid : Hum... c'est vrai, tu as raison, mais je pensais que const <var> = <val> déclarait une variable constante mais ce n'est pas le cas donc je n'ai rien dit ^^ (mais je n'ai jamais dis que je savais tout ;).
Par conte ça m'étonne quand même parce-que, dans cet extrait de l'aide en ligne de C++Builder 5, il dise que const déclare une variable constante :
"Use the const modifier to make a variable value unmodifiable."
Donc logiquement, cette variable constante doit tenir une place en mémoire, pourtant, je compile le fichier en .ASM et là, je constate qu'étrangement, aucune variable n'est déclarée.
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
12 mars 2003 à 10:23
Je ne suis pas d'accord avec toi littlefl, sur ta règle numéro 2:

2. évite les constantes déclarée de manière
const <type> = <value>;
et préfère celles du préprocesseur
#define <value>

C'est bien plus propre de déclarer des constantes comme le fait ElVirolo qu'avec un #define. Le préprocesseur ne vérifie pas les types dans les #define.
#define pour le C, const X=Y pour le C++.
ElVirolo Messages postés 15 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 11 mars 2003
11 mars 2003 à 19:47
Et au fait, non, je n'ai jamais fait d'objet avant.
Bien sûr que mon premier programme était un "Hello World!", mais je ne vois pas le but de le poster ici. Et ce mastermind est mon premier programme en C++ dans le sens que je l'ai dans un premier temps écrit en C puis j'ai appris les bases de l'objet (mais vraiment les bases) donc c'est mon premier pogramme C++ (vous me suivez ?)
Il est vrai que j'ai commencé le Pascal il y a deux ans, mais je n'ai jamais rien fait d'intéressant ... (je n'insinue pas que ce mastermind est intéressant, je l'ai seulement posté pour avoir des conseils)

Voilà !

Merci encore,
Alex, el virolo
ElVirolo Messages postés 15 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 11 mars 2003
11 mars 2003 à 19:21
Je vous remercie tous pour ces précieux conseils que j'ai lus attentivement!
Je vais améliorer tout ça !
J'ai conscience que cela vous prend du temps de lire mon programme, et d'en donner les défauts (nombreux) et j'en suis très touché.
Merci,vraiment, d'aider yn grand débutant !
Je m'y mets tout de suite !
Un jour, je ferai quelque chose d'intelligible :-D

Merci encore, vous êtes tous supers
Alex

(et vive le projet GNU même si je ne respecte pas leur syntaxe :)

P.S: J'ai pensé intégrer un système dans lequel les joueur et leurs scores sont enregistrés dans un fichier externe, et puis diverses petites choses ... reprenez-moi si je m'égare :-D
littlefl Messages postés 21 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 2 juillet 2003
10 mars 2003 à 21:04
Bonjour tout le monde,
Je suis nouveau sur CPPFrance et un newb aussi ^^ (qui a ingéré pas mal de bookins mais sans aucune expérience).

Mais je me pose la même question que Dav6215. Dis ElVirolo, tu n'aurais pas djà touché de l'objet avant ? :p Genre Java, Delphi...

Pour ElVirolo, qq chtits conseils, je suis un newb aussi mais bon ^^ (dsl mais c'est assez conséquent comme liste ;p) :
1. je pense qu'il serait préférable d'inliner tes fonctions liées aux propriétés (celles qui permettent l'accès à celles-ci) car ça serait un gain de temps et la perte en taille de l'exe sera minime voir nulle...

2. évite les constantes déclarée de manière
const <type> = <value>;
et préfère celles du préprocesseur
#define <value>

3. évite les variables avec un nom comme iC (car ça ne veut pas dire grand chose !!).

4. évite la syntaxe
<var_1> <var_2> ... = <var_n> = ;
parce-que c'est pas très lisible et parce-que tu spécifies au compilateur d'assigner la valeur de <var_n> à <var_n-1>, de <var_n-1> à <var_n-2> etc. alors que la syntaxe
<var_1> = ;
<var_2> = ;
...
<var_n> = ;
est peut-être plus longue à écrire mais tu spécifie cette fois-ci d'assigner une constante (la même) à toutes tes variables ce qui ets plus rapide.

5. le style de codage
- je te conseille d'espacer tes opérateurs parce-que c'est plus lisible je trouve.
- sois régulier, je veux dire, il ne faut pas que une de tes propriétés s'appelle m_player et une autre m_SecretCode, la dernière devrait s'appeler m_secretCode ;). Autre exemple, tu mélanges Allman (dsl mais chai plus comment ça s'écrit ^^) et le style K&R dans le fait que tu écrives
do
{
;
} while( <condition> );
alors qu'avec Allman ça serait
do
{
;
}
while( <condition> );
- tes tabulations ne sont pas régulières (à moins que ce soit due à l'affichage sur le site dans ce acs j'ai rien dit ;).
- ne dépasse pas les 80 caractères car je crois (je n'ai pas compté mais ça paraît logique ^^) que le site tronque d'une manière assez hasardeuse ce qui dépasse pour les reporter sur la ligne suivante pas d ela plus belle manière ;).
- un pitit détails mais j'ai cru voir que tu suivais plus ou moins la notation de MS donc sache qu'ils codent les char avec le préfixe ch et non c. Et aussi, ils préconisent de rajouter a à tes tavleaux ^^. Tu n'es pas obligé de suivre mais c'est pour ta culture info ;p.
- pour finir avec le style, tu as dit admirer le GNU, et bien sache si tu ne le sais aps encore qu'ils placent les accolades de la manière suivante (je te montre par un exemple).
if( <condition> )
{
;
}
donc si ça te tente de suivre leur exemple jusqu'au bout ;p.

6. Dans Combinaison::AnalyseCombinaison, tu déclare une valeur de retour de type bool et tu retourne un int !

Bon la liste est terminée, si j'ai pas été clair (parce-que je suis encore plus newb en explication qu'en C++ lol) dis le ;).

Bonne prog !
littlefl
Dav6215 Messages postés 22 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 23 juillet 2004
10 mars 2003 à 16:47
je ne comprend vraiment pas.
Mon premier programme etait simplement d'afficher un texte a lecran.
Donc je ne comprend pas comment on peut faire ca pour son premier programme.
Dav6215
Haldwin Messages postés 77 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 16 juin 2004
9 mars 2003 à 21:40
Salut ElVirolo,
Je voulais juste de dire que pour un ptit bout de gars comme toi (13ans), c'est du chouette boulot... et à ton age je n'en faisait pas autant! C'est, entre nous, ce qui fout les boules à certains et donc t'insultes pour que tu abandonnes la prog... ;-)
Sinon juste une petite remarque, il vaut mieux mettre un destructeur dans ta classe, c'est plus "propre" et mettre tes variables membres en privée ou protégé (voir classe Partie) afin de protéger tes données... Et dernieres choses: pour la methode : "int* RetourneCombinaison()" renvoie plutot une copie du tab d'entier plutot que le tableau lui-meme afin que l'utilisateur ne puisse pas changer les variables de ce tableau sans passée par une méthode de la classe.
Voila, mais sinon c'est tres bienpour un débutant en c++,
Bon dev,
<<-- H@ldwin -->>
ElVirolo Messages postés 15 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 11 mars 2003
8 mars 2003 à 20:57
Kaid, je te remrcie :)
J'avais un peu peur que ma source tombe comme un cheveu sur la soupe étant donné le peu d'intérêt qu'on peut y porter, mais je voudrais juste des conseils de programmeurs confirmés pour l'améliorer (y'a bcp de boulot :)
N'empêche que je vais tâcher d'améliorer ça !
Mais chacun est libre de donner son jugement :) Je suis trop novice pour cela et je n'ai pas mon mot à dire :)

@+ et heureusement qu'il y a des gens comme toi pour aider les débutants dans cette communauté :)
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
8 mars 2003 à 20:44
Moi j'ai pas essayé le programme ni regardé la source en détail. Je vois juste quelqu'un qui veut essayer de progresser en programmation, qui fait l'effort d'apprendre le C++ (y'a plus simple pour débuter) et dont la source à plus d'intérêt à mes yeux que la source suivante: http://www.cppfrance.com/article.aspx?Val=1460
ElVirolo Messages postés 15 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 11 mars 2003
8 mars 2003 à 18:43
Ne te sens pas désolé ! (perso, je pense aussi que c'est nul, mais c pr an avoir la conviction)! Pourrais-tu me dire les améliorations majeures à faire (et fais que la liste ne soit pas trop longue stp...) ?
Merci d'avance,
Alex (qui est là pour apprendre)
Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 1
8 mars 2003 à 17:45
Hum...Hum...
Franchement... c un peu de la merde (desole)
Rejoignez-nous