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

Algorithmes et structures de données Discussion :

pathfinding click and play


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut pathfinding click and play
    bonjour,

    voici le problème :

    comment faire pour faire bouger un personnage le long d'un chemin tordu SANS PASSER EN DEHORS en sachant qu'il doit aller ou le joueur a clické.

    c'est pour un jeu vidéo en 2D de type click and play (exemple : monkey island)
    exemple :

    chemin :


    x (arrivée)

    --------------------------
    ********************|
    ********************|
    ********************| x (point de départ)




    merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    As-tu cherché dans le forum l'algorithme A* ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Miles
    As-tu cherché dans le forum l'algorithme A* ?
    oui, pas trouvé ... , mais es-tu certain qu'il n'y a pas plus simple vu le type de jeu ??

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Le problème du plus court chemin est un problème de parcours de graphe, et le A* est l'un des plus performant à ce niveau, par rapport à ce qui se fait d'habitude. Maintenant, tu peux aussi l'optimiser en utilisant des points caractéristiques de la grille de ton jeu plutôt que la grille complète.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Miles
    ...Maintenant, tu peux aussi l'optimiser en utilisant des points caractéristiques de la grille de ton jeu plutôt que la grille complète.
    mais comment faire cela stp ?

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Sur ta grille, tu indiques des points particuliers et tu fais un pathfinding entre ces points.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    savez-vous ou je peux trouver la traduction de cet algorithme en C svp ?

    merci

  8. #8
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Nous ne sommes pas ici pour te "pondre" le code tel quel.

    Ici nous pouvons t'aider sur la compréhension de l'algorithme.

    Ensuite si c'est un problème d'implémentation, tu pourras aller voir dans le forum C.

    Mais en aucun cas nous ne produisons pas de "code à la demande". Seulement des aides.

    Si tu n'as aucune idée de l'algorithme, cette page pourra t'aider : http://www.policyalmanac.org/games/aStarTutorial.htm

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par PRomu@ld
    ...
    Ici nous pouvons t'aider sur la compréhension de l'algorithme.
    sur le site http://www.policyalmanac.org/games/aStarTutorial.htm, dans la figure 5, à côté de la position actuelle, on peut constater que le cout le plus faible se trouve dans la case a gauche la plus éloigné du point d'arrivé.

    comment cela se fait il ? comment faire pour l'éviter ?

    merci

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    J'ai pas tout lu, mais normalement, on utilise une heuristique qui estime un chemin peu coûteux, mais ce n'est pas le meilleur. Il peut arriver que l'heuristique se plante et indique d'aller à un endroit qui n'est pas optimal pour nous, mais pour lui si. Mais ne tout manière, il trouve bien un chemin correct dans l'exemple.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    d'après la figure 6, les cases formant le chemin ont été sauvegardées dans une liste fermée.

    mais comment font-ils après pour savoir quelles cases garder, à savoir les cases jaunes de la figure 7

    merci

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Au fur et à mesure de la construction du chemin, on stocke les cases à parcourir, la liste est donc construite en temps réel.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Miles
    Au fur et à mesure de la construction du chemin, on stocke les cases à parcourir, la liste est donc construite en temps réel.
    oui, mais il y a des cases stockées inutilement comme dans la figure 6 où on peut voir que certaines cases en bleu se situent autour de la case de départ mais ne sont pas utilisées pour le chemin final.

  14. #14
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    En fait, dans chaque cas, on note le parent optimal trouvé jusqu'à présent, et donc en remontant ces cases, on trouve le chemin jaune.

Discussions similaires

  1. [Carte graphique] Probleme d'affichage bureau multi ecran plug and play
    Par Raiden1234 dans le forum Composants
    Réponses: 1
    Dernier message: 27/01/2009, 17h47
  2. pièces jointe et click and drop
    Par pkrvz dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/02/2008, 08h20
  3. Universal Plug and Play (UPnP)
    Par jmjmjm dans le forum Protocoles
    Réponses: 1
    Dernier message: 20/06/2007, 08h46
  4. paramètres pilote non plug and play
    Par alberico dans le forum Windows XP
    Réponses: 4
    Dernier message: 17/08/2006, 20h38

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