IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Pathfinding A*


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Pathfinding A*
    Bonsoir,

    je cherche un pathfinding A* en VB.NET sous forme de coordonnées X ; Y.
    Quelqu'un peut m'aider ?
    Dernière modification par Sankasssss ; 07/03/2012 à 21h51. Motif: Enlèvement du tag [VB.NET] du titre vu que la discussion est dans le forum concerné.

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    il n'y a pas de code préfait pour ça,
    et je ne te conseille pas d'en prendre un *si tu en trouve*
    Je trouve qu'il est plus simple de faire sont propre algo,
    sachant que c'est ta carte que tu lui met en paramétres.

    L'idée, c'est que tu a une carte sous forme de cases (tableau 2D),
    et tu cherche le chemin pour aller d'un point A à un point B.

    j'ai trouvé un site qui parle de ça:
    http://blog.lalex.com/post/2003/09/1...-pathfinding-A


    Sinon tu à une astuce tout bête,
    tu rempli ton tableau de valeur décimales qui vont symboliser ce qu'il contient. La c'est toi qui choisi.
    Tu peu prendre par exemple:
    • Mur -> '255' (en se disant que ta carte n'est pas trop grande)
    • Position Initiale -> '1' (Point A, si je reprend ce que je t'ai dit)
    • cases autres -> '0'


    Ensuite il ne te reste plus qu'a faire des boucles pour remplir ton tableau 2D,
    en incrémentant à chaque fois la cases en cours.
    Je te montre un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Dim MaCarte[5][10] as interger 'exemple une carte de dimension 5*10
    Dim Valeur_du_Chemin as integer = 1
     
    While Tableau[Bx][By] = 0 'Tant que tu n'a pas trouvé le chemin jusqu'au point B
      'Tu parcours tout le tableau
      For i as integer = 0 To 5
        For j as integer = 0 To 10
     
          ' Tu incrément les valeurs autour de "valeur_du_Chemin"
          ' Avec certaines conditions que je te laisse voir ;)
     
        Next
      Next
     
      Valeur_du_Chemin ++ 'Tu passe à la case suivante
    End While
    voila, ça peu paraitre lourd, mais t'inquiète les pc n'ont aucun soucis pour le gérer
    L'idée c'est de balayer X fois le tableau 2D en le remplissant de manière à avoir une progression de chiffre qui montrent le nombre de mouvement à faire pour atteindre la case un partant de ton point A.

Discussions similaires

  1. Biblio pour gérer pathfinding
    Par Mat.M dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 28/06/2007, 15h07
  2. Pathfinding A* Astar
    Par LEK dans le forum Intelligence artificielle
    Réponses: 8
    Dernier message: 01/06/2007, 11h33
  3. pathfinding en js
    Par arcanis dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/05/2007, 12h12
  4. pathfinding click and play
    Par youp_db dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/08/2006, 00h28
  5. Réponses: 8
    Dernier message: 12/04/2006, 01h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo