PETIT JEU POUR NOËL KASTET

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 15 déc. 2012 à 19:17
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 - 31 déc. 2012 à 20:09
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/54814-petit-jeu-pour-noel-kastet

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
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és 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
29 déc. 2012 à 13:57
et oui Simon, mais c'est la faute (ou grace) à Cari!
bonne fin 2012
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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és 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
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és 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
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és 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
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és 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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és 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
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és 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
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és 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
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és 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
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és 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
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".

8/10
Rejoignez-nous