Avons-nous le droit de critiquer ?
Je sais très bien qu’il n’y a pas qu’une façon de programmer,
mais un avis peu aider dans le futur, qu’il soit constructif ou pas.
L’idée des cases vides sur l’image permet d’avoir tout de suite la zone cliquée,
et pour les débutants, les aider en affichant le fond d’une couleur différente.
Car si ce n’est pas pour ce cas, une simple formule aurait pu faire l’affaire dans le clic de l’image,
pour connaitre les coordonnées du plateau de 0 à 7 :
Sur le bouton nouveau, j’aurai caché le déplacement des pièces, en désactivant l’affichage de la fenêtre,Code (Text):info(arrondi((SourisPosX() - IMG_Image1..X) / (IMG_Image1..Largeur / 8)) + ":" + Arrondi((SourisPosy() - IMG_Image1..Y) / (IMG_Image1..Hauteur / 8)))
et c’est plus rapide : FEN_Principale..AffichageActif = Faux
et réactivé avant le chrono, mais bon, ce n’est que de l’esthétisme.
J’aurais comme même une vraie remarque, c’est au sujet de l’optimisation,
bon j’ai trouvé quelque chose qui n’est pas transcendant, mais récurrent dans le code,
et si on commence à faire des traitements pour rien, la partie risque d’être longue .
RelevePosition :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
DeplacementValide :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
MovePiece :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Les boucle n’ont pas une grosse occurrence, mais ça ne sert à rien de continuer,
il faut utiliser SORTIR dans le SI, petit à petit … oui, je sais, je chipote un peu.
Un autre conseil, n’utilise pas TRACE directement, pour debugger il faut pourvoir l’activer ou pas.
Tu devrais utiliser une méthode, par exemple AfficheTrace avec la méthode TRACE à l’intérieur pour
pouvoir mettre la ligne de TRACE en commentaire quand tu en n’as plus besoin.
A mettre dans les procédures globales :
Une chose que je n’ai pas compris, c’est pourquoi la procédure RemplireTableauTapie est en globale ?Code (Text):PROCÉDURE AfficheTrace(*)
Trace(MesParamètres)
Et évitez d’utiliser les variables i, j, c, xx …, quand on peut leurs donner un sens pour le lecteur.
Par exemple dans RemplireTableauTapie, "j" aurait dû se nommer nLigneInverse (par ex),
Et "i" en "nColonne", cela t’aurait permis de voir que "i" et "nCol" sont les mêmes.
Il ne faut pas "coder" le code, mais en faire un livre pour les autres.
Je n’ai pas tout regardé, mais c’est propre et ça le mérite de fonctionner,
et en tout cas, c’est du bon boulot.
A+.
Edit :
Le lecteur, ce serait peut-être vous dans 10 ou 15 ans pour debugger,
vous serez content de pourvoir lire une partie du code sans essayer de tout comprendre,
et en ayant aucun souvenir de comment cela s’articule.
-
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
[Travail collectif] Projet commun : Echecs
Discussion dans 'Windev' créé par channibal, Juil 6, 2018.
Page 2 sur 2
Bonsoir,
Enfin des créatiques ça me fait plaisir
Je vais pas prendre cas par cas, mais oui t'as raison sur l’ensemble.
C'est normal que le code ne soit pas optimisé. J'ai dis dans le premier post que "c'était des projets de dimanche ou quand j'avais pas trop de boulot" qui m'ont pas pris beaucoup de temps.
Généralement lorsque je suis sur un projet professionnel, de 30, 60 voir même 90 jours ou plus selon le final deadline, je passe facilement de 10 à 16 heures par jours, y compris les weekends, en programmation. Après, le projet passe à l’étape d'optimisation avant le déploiement chez les clients. Donc pas de souci je ne plaisante pas au boulot
Le code de ce projet n'est pas parfait et le but était/est de l’améliorer en collectif, tous ensemble donc tes remarques entrent forcement dans ce même cadre et je t'invite a faire les modifs et a poster une nouvelle version avec les correctifs (+une solution pour les prises par exemple )
Merci encore pour l’intérêt que t'a porter a l'idée
Moi j'ajouterai pour améliorer le programme d'échecs, il faut ajouté pour une pièce donnée les différents endroits ou elle pourra se placer.
Salutations
channibal apprécie ceci.
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Code du dimanche ou pas, tu n’as pas les bons reflets, oublie les phases d’optimisation, le code tu le conçois nickel une fois pour toute,
tu ne reviens pas dessus après l’avoir testée et validé, c’est la pire façon d’injecter des effets de bord. Je dis ça, mais tu fais comme tu veux.
Par exemple, tu gères à la fois gbSelection et gnIDPiece_Selectionnee, le premier on comprend bien,
mais le second, à la deuxième boucle pour rechercher quelle pièce est sélectionnée par le nom, je me serais dit que je ne stock pas la bonne valeur.
Le reflex aurait été d’utiliser nIDPiece_Selectionnee pour stocker d’indice du tableau des pièces, et quand-t-il est à 0, c’est qu’il n’y a pas de sélection,
fini les boucles de recherche et la variable gbSelection.
Réfléchir avant de coder, c’est du gain de temps et d’argent.
Je ne critique pas pour critiquer, mais pour que vous ayez les bons reflexes,
moi je dis qu’il faut plutôt en profiter, que de se braquer.
Bon, je n’ai pas changé grand-chose malgré les critiques, juste un petit peu,
Mais je t’ai mis les captures, il manque le "en passant" des pions.
J’ai aussi ajouté la dé-sélection.
A+.
PS : Zut, ce n’était pas le bon lien :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(en WD22)
joker apprécie ceci.
Bonsoir a tous,
Une nouvelle version
- Restructuration totale niveau code
- Alternance entre les 2 joueurs
- Alternance entre les 2 horloges (2 chronos et 2 Timer).
- Prises
- Ajout de son
- Ajout d'un système de notation des coups (il faut installer la police de caractère Figurine Symbole T2: les deux fichier FIG-TB-2 et FIG-TN-2 qui se trouvent dans le répertoire ressources)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Bon dev
Il manque la prise en passant, j’ai fait ça, mais je ne sais pas si tu pourras le récupérer.
Bon, j’ai fait un peu le ménage, je suis vraiment désolé, je n’ai pas pu me retenir.
Même si je suis un peu maniaque, tu pourrais jeter un œil pour voir comment, avec un minimum,
cela serait un délice pour le lecteur (et toi dans 5 ans), et là je n’ai pas osé tout casser.
L’utilisation d’une énumération, ce n’était pas pour faire beau, c’était pour tous les coups spéciaux, aussi bien le "en passant", que les échecs.
Mais là, avant de coder, il aurait fallu avoir une bonne vision de ce qu’on doit réaliser,
et de ne pas faire du one shot, comme tu as tendance à faire et défaire en permanence.
Ne le prends pas mal, ce n’est pas que pour toi.
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
A+.
joker apprécie ceci.
Page 2 sur 2