[DB AL] Déplacement du perso en fonction du résultat des dés

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
RenNoun
Messages : 8
Inscription : 19 Août 2020 13:07

[DB AL] Déplacement du perso en fonction du résultat des dés

Message par RenNoun » 12 Déc 2020 23:41

Bonjour tout le monde.

Pour un projet de JV Monopoly, je cherche a apprendre déplacer les joueurs en fonction du résultat du dés.

J'ai donc cherché toute la journée une façon de faire en sorte que si je lance un dés, mon personnage avance de autant de casses, puis quand je relance il avance de nouveau a partir du dernier point. mais je n'y arrive pas du tout :/ la seule chose que j'arrive a faire, c'est de prendre la position du chiffre indiqué par le dés.

Je vais vous montrer mon code.

Code : Tout sélectionner

public class Position : MonoBehaviour
{
    public GameObject[] positionArray;
    public GameObject player;
    public int de1 = 0;
    public int de2 = 0;
    public int totalDe;
   
    Vector3 nouvellePos;

    private void Start()
    {
        positionArray = GameObject.FindGameObjectsWithTag("Position");

    }

    
    private void OnMouseDown()
    {
        int posActuelle = 0;
        de1 = Random.Range(1, 7);
        de2 = Random.Range(1, 7);
        totalDe = de1 + de2;
        Debug.Log("total "+totalDe);
        //Debug.Log(positionArray[totalDe].gameObject.transform.position);
        nouvellePos = player.transform.position = positionArray[posActuelle += totalDe].transform.position;
        posActuelle = posActuelle + totalDe;
        Debug.Log("Nouvelle position"+nouvellePos);

    }
}
Voilà pour ce qui en est du code après que je l'ai nettoyé de tous les essaye que j'ai pu faire.
J'ai aussi essayé de le faire avec des if mais je n'ai pas réussi a trouver la solution. Alors je me demandais je ne devais pas faire tout ça via une boucle. J'ai revu des tuto expliquant les Boucles dans c# unity mais je n'ai pas très bien compris la quelle je devrais utiliser ou si c'est ça que je devrais vraiment utiliser.

Donc si jamais quelqu'un aurait une petite piste pour que je puisse continuer, ça serait vraiment super sympa car je commence a déprimer a me voir aussi bête pour ne pas trouver quelque chose de aussi simple.. Bien-sur je vais continuer a essayer de nouvelles choses entre temps, et je viendrais vous présenter la solution trouvée (si je trouve) pour demander votre avis.

PS: J'avais trouvé des bout de code en JS mais je n'y ai rien compris pour essayer de le changer en C# :/

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB AL] Déplacement du perso en fonction du résultat des dés

Message par Max » 13 Déc 2020 11:50

Bonjour,

une étape, dans un premier temps, qui te serait utile, serait d'écrire un script qui permette à un GameObject de rejoindre un point définis sur le plan de jeu. Tu as pas mal de tuto qui évoquent ce genre de chose, par exemple tu peux regarder ici: https://www.youtube.com/watch?v=_LpvJtHyHWg
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

RenNoun
Messages : 8
Inscription : 19 Août 2020 13:07

Re: [DB AL] Déplacement du perso en fonction du résultat des dés

Message par RenNoun » 13 Déc 2020 13:59

Max a écrit :
13 Déc 2020 11:50
Bonjour,

une étape, dans un premier temps, qui te serait utile, serait d'écrire un script qui permette à un GameObject de rejoindre un point définis sur le plan de jeu. Tu as pas mal de tuto qui évoquent ce genre de chose, par exemple tu peux regarder ici: https://www.youtube.com/watch?v=_LpvJtHyHWg
Bonjour max, Merci beaucoup pour votre réponse, j'ai regardé la vidéo et c'est vrais que c'est exactement ce que il me fallait.

Je vais essayer de intégrer ça a mon système et je reviendrais avec le résultat.

Merci encore

Répondre

Revenir vers « (C#) CSharp »