Déjà algorithme !!
Ah bon ? Nan je rigole, c'est une faute de frappe.
Ensuite, comme tu présente un algorithme, je pense qu'il est nécessaire de présenter un peu de pseudo-code. (Ou au moins une présentation "texte" au début du tuto du fonctionnement).
Tu as entièrement raison. Je vais m'en occuper !
Ensuite, pourquoi présenter "un algorithme que tu as fait" ? Au final c'est l'ago A* à quelques différences d'implémentation près.
Pourquoi j'ai dit : "Un algorithme que j'ai fait" ?
Et bien parce que j'ai cherché à apprendre l'algorithme A* sans succès. Je ne connais donc pas comment il se "code". Je connais juste comment il recherche un chemin.
Je ne pouvais donc pas dire "Je vais vous apprendre l'algo A Star" puisque je n'ai jamais su le refaire. J'ai donc inventé mon propre code (et non mon propre algorithme comme je le dit par erreur) en reprenant le même fonctionnement que l'algo A Star. Du coup, oui, mon algo est celui de l'A* (à deux trois poils près ), mais je ne sais pas à quel point.
Si je présente cet algo est pas celui A*, c'est pour trois raisons :
- La première, c'est que je n'ai su refaire ce dernier.
- La seconde, c'est que si j'ai su faire celui-ci, c'est qu'il est vraiment simple à comprendre.
- La troisième, c'est que comme c'est moi qui l'ai écrit, je connais parfaitement bien mon code et je peux donc l'expliquer sans problèmes.
C'est juste une suggestion, mais pourquoi ne pas faire un tutoriel un peu plus général sur le PathFinding (Dijkstra, Floyd-Warshall, parcours en profondeur/largeur dans un graphe …)
A vrai dire, si je n'ai jamais su refaire l'algo A*, c'est qu'il y à une raison. Je ne connais pas bien ce domaine. Je voulais simplement faire un petit cours sur un algo simple à comprendre et surtout efficace !
Cependant, j'y ai tout de même pensé, c'est pourquoi je vais apprendre le plus possible sur ce domaine pour pouvoir ensuite le réexpliqué dans ce cours. Cependant, j'ai peur de :
- Mal expliqué car je ne maîtrise pas parfaitement le sujet
- Donner une mauvaise explication
Alors pourquoi faire un cours si je ne connais pas mon domaine ?
Et bien tout simplement parce que, comme je l'ai dit, j'apprend au "débutants" un algo extrêmement simple. Et cet algo, je le maîtrise !
C'est donc pour aider ceux qui sont dans même cas que j'était il y à quelque temps.
Cependant, je vais vraiment me pencher sur le sujet afin de fournir tout ce dont le tutoriel à besoin !
Après, ceci est aussi une suggestion, peut être ajouter une preuve de l'algorithme ? (Surtout que comme tu dis que tu l'as refais à ta sauce, on n'a aucune preuve que ton implémentation marche ).
Comment faire ? En donnant un exécutable démo utilisant cet algo ?
A vrai dire, lorsque j'ai commencé à écrire cet algo et que je l'ai eu terminé (du moins, je pensais), il fonctionnait à merveille. Le chemin le plus court été trouvé.
Cependant, il mettait plus de 6 secondes à trouver un chemin sur une carte de 20x20 sans obstacles. Je l'ai donc amélioré, et il trouve maintenant un chemin instanément.
Mais je vais faire un petit test et vous dire combien de temps il met à trouver un chemin. (Je vous dit ça dans mon prochain message !)
Idem pour la complexité.
Je n'ai pas compris.
Sinon, c'est assez bien expliqué
Merci !
L'explication, c'est ce que je craignais le plus !
Avec mes maigres capacité à expliquer, j'avais très peur que mon tuto soit confus.
- A-tu réussi à comprendre la totalité des explications ?
- Y-a-t'il eu des passages un peu plus difficile à comprendre ?
Pour les schéma, j'y ai pensé.
Je sais déjà ou je vais les ajouter, et comment les faire.
En tout cas, merci infiniment pour ta réponse, cela m'aide énormément !
Edit : Voici les performances de l'algo :
La recherche à été effectuée en 128 millisecondes sur une carte d'une taille de 40 sur 40.
Longeur du chemin : 48