[DB-AL] Calcul de la trajectoire d'un pion

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
AllezCacahuète
Messages : 10
Inscription : 13 Juil 2017 13:39

[DB-AL] Calcul de la trajectoire d'un pion

Message par AllezCacahuète » 01 Nov 2019 21:28

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 ;)
Tu me kiffes , je te kiffe alors on est kif-kif

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par jmhoubre » 01 Nov 2019 22:12

Bonsoir,
cela ressemble à un problème de recherche de chemin. Tu peux visionner cette vidéo, ca répondra peut-être à ton problème.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par Alesk » 01 Nov 2019 23:35

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 ?

Avatar de l’utilisateur
AllezCacahuète
Messages : 10
Inscription : 13 Juil 2017 13:39

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par AllezCacahuète » 02 Nov 2019 04:27

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 .
Tu me kiffes , je te kiffe alors on est kif-kif

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par Alesk » 02 Nov 2019 10:11

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 ?

Avatar de l’utilisateur
AllezCacahuète
Messages : 10
Inscription : 13 Juil 2017 13:39

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par AllezCacahuète » 02 Nov 2019 14:01

Juste les coordonnées des cases atteignables en fait .
Tu me kiffes , je te kiffe alors on est kif-kif

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par Alesk » 02 Nov 2019 15:48

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.

Avatar de l’utilisateur
AllezCacahuète
Messages : 10
Inscription : 13 Juil 2017 13:39

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par AllezCacahuète » 16 Nov 2019 22:22

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 ?
Tu me kiffes , je te kiffe alors on est kif-kif

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [DB-AL] Calcul de la trajectoire d'un pion

Message par Alesk » 17 Nov 2019 23:08

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.

Répondre

Revenir vers « Scripting »