[DB-AL] Calcul de la trajectoire d'un pion
- AllezCacahuète
- Messages : 10
- Inscription : 13 Juil 2017 13:39
[DB-AL] Calcul de la trajectoire d'un pion
Bonsoir à tous ,
Si j'écris ces lignes , c'est que j'ai un problème ... tout simple , en fait je suis en train de faire un jeu mobile de plateforme qui se joue avec des dés et j'ai tout simplement un problème de calcul des différents chemins possibles pour le pion.
Dans le plateau , le pion peut aller dans 4 directions (Gauche , droit , haut , bas) mais il y a des obstacles , donc si par exemple , on a eu 5 au dés et qu'après trois cases en haut il y a un obstacle , on peut aller encore deux cases à gauche ou deux cases à droite ou encore une case à gauche puis une autre en haut. (En l'absence d'autre obstacles bien entendu)
Bref , c'est beaucoup de possibilités et j'ai des difficultés à trouver l'astuce pour tout calculer du coup , de l'aide serait la bienvenue ...
Merci pour vos éventuelles réponses
Si j'écris ces lignes , c'est que j'ai un problème ... tout simple , en fait je suis en train de faire un jeu mobile de plateforme qui se joue avec des dés et j'ai tout simplement un problème de calcul des différents chemins possibles pour le pion.
Dans le plateau , le pion peut aller dans 4 directions (Gauche , droit , haut , bas) mais il y a des obstacles , donc si par exemple , on a eu 5 au dés et qu'après trois cases en haut il y a un obstacle , on peut aller encore deux cases à gauche ou deux cases à droite ou encore une case à gauche puis une autre en haut. (En l'absence d'autre obstacles bien entendu)
Bref , c'est beaucoup de possibilités et j'ai des difficultés à trouver l'astuce pour tout calculer du coup , de l'aide serait la bienvenue ...
Merci pour vos éventuelles réponses
Tu me kiffes , je te kiffe alors on est kif-kif
Re: [DB-AL] Calcul de la trajectoire d'un pion
Bonsoir,
cela ressemble à un problème de recherche de chemin. Tu peux visionner cette vidéo, ca répondra peut-être à ton problème.
cela ressemble à un problème de recherche de chemin. Tu peux visionner cette vidéo, ca répondra peut-être à ton problème.
Re: [DB-AL] Calcul de la trajectoire d'un pion
Salut,
Ta question n'est pas très claire :
- Tu cherches à calculer tous les chemins possibles ?
- ou bien à prendre un chemin au pif qui corresponde exactement à un déplacement de X cases ?
- ou autre chose ?
Ta question n'est pas très claire :
- Tu cherches à calculer tous les chemins possibles ?
- ou bien à prendre un chemin au pif qui corresponde exactement à un déplacement de X cases ?
- ou autre chose ?
- AllezCacahuète
- Messages : 10
- Inscription : 13 Juil 2017 13:39
Re: [DB-AL] Calcul de la trajectoire d'un pion
Merci d'avoir répondu !
Merci pour le lien jmhoubre ! Sauf que j'ai juste compris calculer un seul chemin et que je voudrais avoir tous les chemins possibles
Donc comme tu l'auras compris Alesk , je cherche à calculer tous les chemins possibles .
Merci pour le lien jmhoubre ! Sauf que j'ai juste compris calculer un seul chemin et que je voudrais avoir tous les chemins possibles
Donc comme tu l'auras compris Alesk , je cherche à calculer tous les chemins possibles .
Tu me kiffes , je te kiffe alors on est kif-kif
Re: [DB-AL] Calcul de la trajectoire d'un pion
Tu pourrais utiliser le pathfinding plusieurs fois, en prenant comme destinations toutes les cases dans un rayon de X autour de ton point de départ... et tu ne conserves que les chemins valides.
Sinon, tu peux faire ça avec une fonction récursive, qui explore toutes les directions à partir du point de départ, case par case, sans repasser par une case déjà visitée.
Tu cherches à obtenir juste les coordonnées des cases atteignables, ou tous les parcours complets vers ces cases ?
Sinon, tu peux faire ça avec une fonction récursive, qui explore toutes les directions à partir du point de départ, case par case, sans repasser par une case déjà visitée.
Tu cherches à obtenir juste les coordonnées des cases atteignables, ou tous les parcours complets vers ces cases ?
- AllezCacahuète
- Messages : 10
- Inscription : 13 Juil 2017 13:39
Re: [DB-AL] Calcul de la trajectoire d'un pion
Juste les coordonnées des cases atteignables en fait .
Tu me kiffes , je te kiffe alors on est kif-kif
Re: [DB-AL] Calcul de la trajectoire d'un pion
Dans ce cas, tu peux tenter avec le path finding.
Tu calcules les positions des cases se trouvant dans un rayon de X unités autour de ta case de départ (en faisant des ajustements pour t'assurer que ça tombe bien sur le nombre de déplacements que tu veux)
Puis tu utilises le path finding sur chacune de ces cases pour voir si tu y as accès ou pas.
Mais c'est un peu "bourrin" pour un truc aussi simple.
Je pense qu'une fonction récursive serait plus optimale dans ce cas, si la distance est courte.
Tu calcules les positions des cases se trouvant dans un rayon de X unités autour de ta case de départ (en faisant des ajustements pour t'assurer que ça tombe bien sur le nombre de déplacements que tu veux)
Puis tu utilises le path finding sur chacune de ces cases pour voir si tu y as accès ou pas.
Mais c'est un peu "bourrin" pour un truc aussi simple.
Je pense qu'une fonction récursive serait plus optimale dans ce cas, si la distance est courte.
- AllezCacahuète
- Messages : 10
- Inscription : 13 Juil 2017 13:39
Re: [DB-AL] Calcul de la trajectoire d'un pion
Bonsoir ,
J'ai donc étudié un peu le pathfinding et apparemment ça convient , sauf que j'ai petit problème tout bête ...
Donc toutes les cases reçoivent une valeur de 100 et on va dire que j'ai un pion dans une case x et que mon dés égal à 6 , donc si la case au dessus(ou au dessous , ou à gauche , ou à droite) existe et est vide de pion , elle recoit -1 ,ainsi de suite , ensuite il suffit juste de prendre toutes les cases ayant une valeur de 94 , n'est-ce pas ?
Donc je me suis dit que j'allais créer une matrice mais comment faire comprendre à Unity que la case 12 correspond à (Mat [i+1, j]) par rapport à la case 1 par exemple ?
J'ai donc étudié un peu le pathfinding et apparemment ça convient , sauf que j'ai petit problème tout bête ...
Donc toutes les cases reçoivent une valeur de 100 et on va dire que j'ai un pion dans une case x et que mon dés égal à 6 , donc si la case au dessus(ou au dessous , ou à gauche , ou à droite) existe et est vide de pion , elle recoit -1 ,ainsi de suite , ensuite il suffit juste de prendre toutes les cases ayant une valeur de 94 , n'est-ce pas ?
Donc je me suis dit que j'allais créer une matrice mais comment faire comprendre à Unity que la case 12 correspond à (Mat [i+1, j]) par rapport à la case 1 par exemple ?
Tu me kiffes , je te kiffe alors on est kif-kif
Re: [DB-AL] Calcul de la trajectoire d'un pion
Là il va falloir implémenter le pathfinding toi même en suivant un tuto pas à pas... Ta question est trop spécifique et ne repose encore sur aucun code pour être assez claire.