[MY-AL] Pathfinding (A*) class ou struct?

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
balouu
Messages : 14
Inscription : 13 Fév 2017 17:12

[MY-AL] Pathfinding (A*) class ou struct?

Message par balouu » 21 Mars 2017 15:45

Bonjour à tous,
Donc voilà, pour la faire courte on est en train de bosser notre jeu de fin d'année et j'ai un problème sur un point assez chiant: le pathfinding.
On n'utilise pas celui implémenté dans unity (s'il y en a un), je suis parti sur A*

En fait, notre terrain de jeu est construit selon des "cases" chaque case accessible ou non (selon que ce soit de la route ou des bâtiments par exemple) - en gros, comme une sorte de groooos damier en 2D.
Donc, pour faire mon pathfinding, je pensais calquer mes nodes sur ces cases et lancer l'algo.

Mais on est sur un travail de groupe, et là deux écoles s'affrontent:
- On fait une nouvelle class node qui convertit chaque case (et lui ajoute les attributs nécessaires à A*)
ou bien
- On fait une struct "node" qui pourra prendre comme attribut un case (correspondant à la case quoi) et on crée une nouvelle variable de type node à chaque fois qu'on en a besoin pour calculer le chemin.

J'aimerais vos avis, et des indications sur comment faire du mieux possible si vous êtes chauds à l'idée de m'aider!

Merci =)

(ps: selon ce que vous me répondrez il y aura sûrement d'autres questions et demandes d'explications parce que je ne sais pas tout faire haha, mais j'ai essayé de rester le plus neutre possible car mon avis sur quelle méthode choisir ne compte pas ici, je veux surtout savoir quelle est la meilleure manière de faire, que ce soit celle que j'aurais voulu ou non, d'implémenter l'algo A* dans Unity en général et avec mon système de cases)

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: [MY-AL] Pathfinding (A*) class ou struct?

Message par evereal » 22 Mars 2017 12:02

De ce que je vois, ta case EST un node. pourquoi vouloir séparer en 2 entités ?
Si tu as déjà une classe "Case", rajoute simplement les variables dedans.
Ensuite il faudra créer une méthode statique qui prend en paramètre ta case de départ et ta case d'arrivée et qui renvoit le chemin sous forme de liste de cases.
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

balouu
Messages : 14
Inscription : 13 Fév 2017 17:12

Re: [MY-AL] Pathfinding (A*) class ou struct?

Message par balouu » 24 Mars 2017 11:27

C'est une des idées, mais en les regroupant dan une struct pour centraliser les variables nécessaires au pathfinding :) C'est too much la struct? Ou même carrément dommageable?

Et du coup, l'idée de créer une seconde class, inutile vu ce qu'on a déjà à disposition c'est bien ça?

Merci en tout cas :amen:

Répondre

Revenir vers « (C#) CSharp »