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);
}
}
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#