diff --git a/source/Trek-12/Models/Game/Game.cs b/source/Trek-12/Models/Game/Game.cs index ca6ede7..bb07919 100644 --- a/source/Trek-12/Models/Game/Game.cs +++ b/source/Trek-12/Models/Game/Game.cs @@ -135,44 +135,33 @@ namespace Models.Game { int index =0; - foreach (var cells in adjacentes) + foreach (var cells in adjacentes.Where(cells => cells.Value - playerChoice.Value == 1 || cells.Value - playerChoice.Value == -1)) { - // La cellule choisi peut creer/s'ajouter a un chemin de corde - if (cells.Value - playerChoice.Value == 1 || cells.Value - playerChoice.Value == -1) + // Le cas si il n'existe aucun chemin de corde + if (UsedMap.RopePaths.Count == 0) { - // Le cas si il n'existe aucun chemin de corde - if (UsedMap.RopePaths.Count == 0) - { - // Creer un nouveau chemin de corde avec la cellule choisi par le joueur et celle adjacente - UsedMap.RopePaths.Add(new List {playerChoice, cells}); - } - - - // A modifier dans le cas ou il est possible de fusionner deux chemins de corde - if (GameRules.IsInRopePaths(playerChoice, UsedMap.RopePaths, index)) break; + // Creer un nouveau chemin de corde avec la cellule choisi par le joueur et celle adjacente + UsedMap.RopePaths.Add(new List {playerChoice, cells}); + } - // Le cas si il existe des chemins de corde - // Est-ce que la cellule adjacentes fait parti d'un chemin de corde - if (!GameRules.IsInRopePaths(cells,UsedMap.RopePaths,index)) - { - UsedMap.RopePaths.Add(new List { playerChoice, cells }); - continue; - } + // A modifier dans le cas ou il est possible de fusionner deux chemins de corde + if (GameRules.IsInRopePaths(playerChoice, UsedMap.RopePaths, index)) break; - if (!GameRules.AsValue(playerChoice,UsedMap.RopePaths,index)) - { - UsedMap.RopePaths[index].Add(playerChoice); - } + // Le cas si il existe des chemins de corde - // Si oui, est-ce que le chemin possede deja la valeur correspondante a la valeur de la cellule du joueur choisi - // {playerChoice.Value} n'est pas dans le chemin de corde - // Ajouter au chemin - // {playerChoice.Value} existe dans le chemin de corde pas possible + // Est-ce que la cellule adjacentes fait parti d'un chemin de corde + if (!GameRules.IsInRopePaths(cells,UsedMap.RopePaths,index)) + { + UsedMap.RopePaths.Add(new List { playerChoice, cells }); + continue; + } + if (!GameRules.AsValue(playerChoice,UsedMap.RopePaths,index)) + { + UsedMap.RopePaths[index].Add(playerChoice); } } - } ///