Alors, je ne vais pas aider, ou du moins, pas directement.
Quand on demande de l'aide sur un programme, on essaie de reproduire le problème avec un bout de code minimal, et d'être succinct.
Sinon, peu probable que des gens soient motivés à lire l'ensemble du source.
Autre point, il existe des outils dont on ne te parlera probablement pas à l'école, mais qui sauvent de nombreux chatons tous les jours de la fureur des dev qui perdent patience, j'ai nommé les outils de versionning.
Pas mal d'avantages, notamment au sujet de comment faire de petites itérations qui évitent d'introduire de super gros bugs, et quand c'est le cas, si les itérations étaient assez petites, de retrouver rapidement le bout de code coupable en cas de régression.
Personnellement, j'apprécie bien git, mais il existe aussi subversion ( ou svn ), mercurial ( ou hg ), bazaar, fossil... pour débuter sur de petits projets, je dirais que fossil est pas mal, mais je ne connais pas de forge logicielle sur le web qui l'utilisent.
Le lien entre le VCS et l'aide sur les forums, c'est que si t'es flemmard, tu peux juste balancer un lien vers ton repo. Et si tu es chanceux quelqu'un ira le lire... mais une fois encore, si tu n'as pas de code minimal qui montre le comportement erroné, c'est peu probable.
Ensuite, au sujet de linuxfr, quand tu mets une balise, genre "```" il faut sauter une ligne avant de la mettre, sinon ça marche pas ( je me suis fait avoir plusieurs fois aussi ).
D'ailleurs, le bouton pré-visualiser est là pour ça ( l'aiguille dans l'œil du voisin, je la vois mieux que la poutre dans le mien ;) ).
Enfin, pour conclure, il s'agit d'un problème de programmation, python, je suppose ( commentaires bash-like, orienté objet, je ne connais pas python, mais je ne serais pas surpris )?
Donc il aurait fallu mettre ce message dans les problèmes de programmation, ce n'est pas spécifique à linux.
Et bien sûr, il aurait fallu préciser le langage, ainsi que les technologies employées qui pourraient impacter le comportement mis en cause.
Ah, et dernier point ( pour de vrai ce coup-ci ): essayez de diviser le code au maximum en fonctions.
Même si la fonction n'est appelée qu'une seule fois, et ne fait que 10 lignes, ça rends le code plus clair, surtout après 2 semaines de pause. Autre avantage: si un jour la même chose est nécessaire ailleurs, il est possible de réutiliser la fonction, et donc d'éviter d'avoir à corriger les choses à 20 coins différents.
Petit exemple:
déplacement bas-gauche
et
déplacement haut-gauche
Leur code est très semblable. Suggestion: une fonction qui applique un déplacement serait probablement intéressante, prenant, au hasard ( j'ai juste survolé le code ), une coordonnée à modifier en entrée, un offset à lui appliquer pour la direction, le nombre d'itérations ( j'ai noté 10? ) ainsi que les probables coordonnées du rectangle dont il ne faut pas sortir.
Une fois le tout refactoré pour être plus propre, ce sera plus simple d'avoir de l'aide, et d'ailleurs, peut-être même que vous aurez trouvé le problème de vous-mêmes.
# comment demander de l'aide & méthode/outils de développement
Posté par freem . En réponse au message Problème avec un jeu de dame. Évalué à 2.
Alors, je ne vais pas aider, ou du moins, pas directement.
Quand on demande de l'aide sur un programme, on essaie de reproduire le problème avec un bout de code minimal, et d'être succinct.
Sinon, peu probable que des gens soient motivés à lire l'ensemble du source.
Autre point, il existe des outils dont on ne te parlera probablement pas à l'école, mais qui sauvent de nombreux chatons tous les jours de la fureur des dev qui perdent patience, j'ai nommé les outils de versionning.
Pas mal d'avantages, notamment au sujet de comment faire de petites itérations qui évitent d'introduire de super gros bugs, et quand c'est le cas, si les itérations étaient assez petites, de retrouver rapidement le bout de code coupable en cas de régression.
Personnellement, j'apprécie bien git, mais il existe aussi subversion ( ou svn ), mercurial ( ou hg ), bazaar, fossil... pour débuter sur de petits projets, je dirais que fossil est pas mal, mais je ne connais pas de forge logicielle sur le web qui l'utilisent.
Le lien entre le VCS et l'aide sur les forums, c'est que si t'es flemmard, tu peux juste balancer un lien vers ton repo. Et si tu es chanceux quelqu'un ira le lire... mais une fois encore, si tu n'as pas de code minimal qui montre le comportement erroné, c'est peu probable.
Ensuite, au sujet de linuxfr, quand tu mets une balise, genre "```" il faut sauter une ligne avant de la mettre, sinon ça marche pas ( je me suis fait avoir plusieurs fois aussi ).
D'ailleurs, le bouton pré-visualiser est là pour ça ( l'aiguille dans l'œil du voisin, je la vois mieux que la poutre dans le mien ;) ).
Enfin, pour conclure, il s'agit d'un problème de programmation, python, je suppose ( commentaires bash-like, orienté objet, je ne connais pas python, mais je ne serais pas surpris )?
Donc il aurait fallu mettre ce message dans les problèmes de programmation, ce n'est pas spécifique à linux.
Et bien sûr, il aurait fallu préciser le langage, ainsi que les technologies employées qui pourraient impacter le comportement mis en cause.
Ah, et dernier point ( pour de vrai ce coup-ci ): essayez de diviser le code au maximum en fonctions.
Même si la fonction n'est appelée qu'une seule fois, et ne fait que 10 lignes, ça rends le code plus clair, surtout après 2 semaines de pause. Autre avantage: si un jour la même chose est nécessaire ailleurs, il est possible de réutiliser la fonction, et donc d'éviter d'avoir à corriger les choses à 20 coins différents.
Petit exemple:
déplacement bas-gauche
et
déplacement haut-gauche
Leur code est très semblable. Suggestion: une fonction qui applique un déplacement serait probablement intéressante, prenant, au hasard ( j'ai juste survolé le code ), une coordonnée à modifier en entrée, un offset à lui appliquer pour la direction, le nombre d'itérations ( j'ai noté 10? ) ainsi que les probables coordonnées du rectangle dont il ne faut pas sortir.
Une fois le tout refactoré pour être plus propre, ce sera plus simple d'avoir de l'aide, et d'ailleurs, peut-être même que vous aurez trouvé le problème de vous-mêmes.