Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 31 déc. 2012 à 20:09
Qu'il est agréable à lire, ce code !
C'est de l'eau de source ! :)))
Sinon, on évite aussi de mettre plus d'une instruction par ligne pour le débogage pas-à-pas.
Et un petit truc qui augmente les performances :
éviter
case etat of
1 : ...
0 : ...
end;
pour
case etat of
0 : ...
1 : ...
end;
Le faire dans l'ordre logique est plus rapide pour les dernières versions de Delphi. C'est donc une bonne habitude à prendre.
10/10
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 29 déc. 2012 à 13:57
et oui Simon, mais c'est la faute (ou grace) à Cari!
bonne fin 2012
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 29 déc. 2012 à 11:58
Ok, d'accord...
J'ai jeté un œil au code, c'est super propre ! Bravo M. Dubois ! Ce sont les bonnes résolutions avant l'heure ? ;-)
korgis
Messages postés420Date d'inscriptionsamedi 17 mai 2003StatutMembreDernière intervention 6 mai 201917 28 déc. 2012 à 21:19
En fait, il faut juste éviter de mettre plus d'une instruction par ligne.
C'est plus lisible, et en plus ça facilite la localisation d'une instruction qui est refusée par le compilateur.
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 28 déc. 2012 à 17:13
ça rends pas bien
avec le "code" ça devrait être mieux
.
.
.
.
.
if toto=5 then Tata := 8;
mais
if toto=5 then
tata := 8;
(en deux lignes avec indentation de 2 espaces)
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 28 déc. 2012 à 17:10
Salut Simon
oui c'est une question de présentation
je crois avoir compris que on n'écrit pas :
if toto=5 then Tata := 8;
mais
if toto=5 then
tata := 8;
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 28 déc. 2012 à 09:34
Bonjour Cantador et M. Dubois,
C'est quoi le problème pour "les écritures en bout d'instruction" ? (En fait c'est quoi une écriture en bout d'instruction ? Je n'ai pas bien compris... Est-ce juste un problème de présentation du code ?)
Simon
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 21 déc. 2012 à 08:48
Merci Cantador pour ces judicieuses remarques.
J'ai supprimé le nombre en haut à gauche qui ne me servait en fait que pendant la mise au point.
Cette indication n'était pas vraiment utile pour le jeu.
Pour les parties, au lieu d'arrêter directement, je propose le choix "continuer ou non".
J'en ai profité aussi pour afficher le numéro du niveau terminé en cours.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 20 déc. 2012 à 15:56
à noter que le chiffre en haut à gauche est le nombre de cases rouges restantes
qui n'est pas en rapport avec le niveau et aussi que le
jeu s'arrête au bout de 4 parties gagnantes.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 16 déc. 2012 à 18:46
Oui
dans l'article cité, on trouve les deux formules..
et puis ce n'est pas une norme mais
chez les pros, ils éclatent toutes les écritures, ce qui facilite
la lecture.
Une exception toutefois avec l'exit, le continue ou le break.
ex:if (ARecord nil) or (GridView.Control nil) then Exit;
n'oublie pas de mettre un "X" à NIVEAU
ou alors décale le texte.
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 16 déc. 2012 à 08:05
Salut Cantador
juste une petite précision : "à éviter les écritures en bout d'instruction" :
comment faut-il l'écrire ?
j'ai cherché sur http://www.delphibasics.co.uk/Article.asp?Name=Logic, à priori c'est écrit comme cela
tu penses à cette façon peut être :
if numchamp = DerChamp
then
result := copy(chaine, posComaPrec + 1, length(chaine))
else
result := copy(chaine, posComaPrec + 1, posComa - posComaPrec - 1);
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 15 déc. 2012 à 19:17
à éviter les écritures en bout d'instruction comme par exemple
if numchamp = DerChamp
then result := copy(chaine, posComaPrec + 1, length(chaine))
else result := copy(chaine, posComaPrec + 1, posComa - posComaPrec - 1);
end;
sympa ce petit jeu..et il marche bien.
code bien écrit et un bon point pour avoir eu l'idée de penser aux enfants.
Est ce qu'ils jouent encore à ce type de jeux ?
tiens ça me fait penser qu'on pourrait créer une rubrique "spécial enfants".
31 déc. 2012 à 20:09
C'est de l'eau de source ! :)))
Sinon, on évite aussi de mettre plus d'une instruction par ligne pour le débogage pas-à-pas.
Et un petit truc qui augmente les performances :
éviter
case etat of
1 : ...
0 : ...
end;
pour
case etat of
0 : ...
1 : ...
end;
Le faire dans l'ordre logique est plus rapide pour les dernières versions de Delphi. C'est donc une bonne habitude à prendre.
10/10
29 déc. 2012 à 13:57
bonne fin 2012
29 déc. 2012 à 11:58
J'ai jeté un œil au code, c'est super propre ! Bravo M. Dubois ! Ce sont les bonnes résolutions avant l'heure ? ;-)
28 déc. 2012 à 21:19
C'est plus lisible, et en plus ça facilite la localisation d'une instruction qui est refusée par le compilateur.
28 déc. 2012 à 17:13
avec le "code" ça devrait être mieux
.
.
.
.
.
if toto=5 then Tata := 8;
mais
if toto=5 then
tata := 8;
(en deux lignes avec indentation de 2 espaces)
28 déc. 2012 à 17:10
oui c'est une question de présentation
je crois avoir compris que on n'écrit pas :
if toto=5 then Tata := 8;
mais
if toto=5 then
tata := 8;
28 déc. 2012 à 09:34
C'est quoi le problème pour "les écritures en bout d'instruction" ? (En fait c'est quoi une écriture en bout d'instruction ? Je n'ai pas bien compris... Est-ce juste un problème de présentation du code ?)
Simon
21 déc. 2012 à 08:48
J'ai supprimé le nombre en haut à gauche qui ne me servait en fait que pendant la mise au point.
Cette indication n'était pas vraiment utile pour le jeu.
Pour les parties, au lieu d'arrêter directement, je propose le choix "continuer ou non".
J'en ai profité aussi pour afficher le numéro du niveau terminé en cours.
20 déc. 2012 à 15:56
qui n'est pas en rapport avec le niveau et aussi que le
jeu s'arrête au bout de 4 parties gagnantes.
16 déc. 2012 à 18:46
dans l'article cité, on trouve les deux formules..
et puis ce n'est pas une norme mais
chez les pros, ils éclatent toutes les écritures, ce qui facilite
la lecture.
Une exception toutefois avec l'exit, le continue ou le break.
ex:if (ARecord nil) or (GridView.Control nil) then Exit;
n'oublie pas de mettre un "X" à NIVEAU
ou alors décale le texte.
16 déc. 2012 à 08:05
juste une petite précision : "à éviter les écritures en bout d'instruction" :
comment faut-il l'écrire ?
j'ai cherché sur http://www.delphibasics.co.uk/Article.asp?Name=Logic, à priori c'est écrit comme cela
tu penses à cette façon peut être :
if numchamp = DerChamp
then
result := copy(chaine, posComaPrec + 1, length(chaine))
else
result := copy(chaine, posComaPrec + 1, posComa - posComaPrec - 1);
15 déc. 2012 à 19:17
if numchamp = DerChamp
then result := copy(chaine, posComaPrec + 1, length(chaine))
else result := copy(chaine, posComaPrec + 1, posComa - posComaPrec - 1);
end;
sympa ce petit jeu..et il marche bien.
code bien écrit et un bon point pour avoir eu l'idée de penser aux enfants.
Est ce qu'ils jouent encore à ce type de jeux ?
tiens ça me fait penser qu'on pourrait créer une rubrique "spécial enfants".
8/10