enfait c'est un objet joueur intermédiaire, c'est une copie du joueur qui joue, je fait les modif et le remet dans ma liste....
comme currentPlayer de ton exemple,
je m'y colle bientot au nom j'essaye mais sur le moment je met ce qui me parle et je me rend compte que ça parle qu'a moi
ooooh cool le moduloVoilà un exemple un peu plus complet et qui devrait t'aider à mieux comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // ma liste de joueurs public List<Player> Players = new List<Player>(); // le joueur qui doit jouer public Player CurrentPlayer = null; // la fonction d'initialisation (en dur, pour toi ça se fera via ton interface) public void InitPlayers() { this.Players.Add(new Player("jean")); this.Players.Add(new Player("charles")); this.Players.Add(new Player("kevin")); this.Players.Add(new Player("andré")); this.Players.Add(new Player("pierre")); // le joueur courant est initialisé sur le premier this.CurrentPlayer = this.Players[0]; } // la fonction qui passe au joueur suivant public void ChangePlayer() { // Players.IndexOf(CurrentPlayer) te renvoie un chiffre entre 0 et 4 (dans mon exemple à 5 joueurs) // on fait donc +1 pour avoir le suivant // l'utilisation du % (modulo) va nous permettre de repasser vers 0 si jamais on obtient Players.Count (qui est égal à 5) CurrentPlayer = Players[(Players.IndexOf(CurrentPlayer) + 1) % Players.Count]; }
(Players.IndexOf(CurrentPlayer) + 1)
on est d'accord que CurrentPlayer n'est pas dans la liste, donc il cherche l'index de quelque chose qui est égal à CurrentPlayer ??
Partager