Merge pull request '🪚 Réduction de l'imbrication (nesting/Sonar)' (#73) from gameClass into dev
continuous-integration/drone/push Build is passing Details

Reviewed-on: #73
Reviewed-by: Remi NEVEU <remi.neveu@etu.uca.fr>
pull/95/head
Remi NEVEU 11 months ago
commit bdc1a9bb8f

@ -135,44 +135,33 @@ namespace Models.Game
{ {
int index =0; 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 // Le cas si il n'existe aucun chemin de corde
if (cells.Value - playerChoice.Value == 1 || cells.Value - playerChoice.Value == -1) if (UsedMap.RopePaths.Count == 0)
{ {
// Le cas si il n'existe aucun chemin de corde // Creer un nouveau chemin de corde avec la cellule choisi par le joueur et celle adjacente
if (UsedMap.RopePaths.Count == 0) UsedMap.RopePaths.Add(new List<Cell> {playerChoice, cells});
{ }
// Creer un nouveau chemin de corde avec la cellule choisi par le joueur et celle adjacente
UsedMap.RopePaths.Add(new List<Cell> {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;
// Le cas si il existe des chemins de corde
// Est-ce que la cellule adjacentes fait parti d'un chemin de corde // A modifier dans le cas ou il est possible de fusionner deux chemins de corde
if (!GameRules.IsInRopePaths(cells,UsedMap.RopePaths,index)) if (GameRules.IsInRopePaths(playerChoice, UsedMap.RopePaths, index)) break;
{
UsedMap.RopePaths.Add(new List<Cell> { playerChoice, cells });
continue;
}
if (!GameRules.AsValue(playerChoice,UsedMap.RopePaths,index)) // Le cas si il existe des chemins de corde
{
UsedMap.RopePaths[index].Add(playerChoice);
}
// Si oui, est-ce que le chemin possede deja la valeur correspondante a la valeur de la cellule du joueur choisi // Est-ce que la cellule adjacentes fait parti d'un chemin de corde
// {playerChoice.Value} n'est pas dans le chemin de corde if (!GameRules.IsInRopePaths(cells,UsedMap.RopePaths,index))
// Ajouter au chemin {
// {playerChoice.Value} existe dans le chemin de corde pas possible UsedMap.RopePaths.Add(new List<Cell> { playerChoice, cells });
continue;
}
if (!GameRules.AsValue(playerChoice,UsedMap.RopePaths,index))
{
UsedMap.RopePaths[index].Add(playerChoice);
} }
} }
} }
/// <summary> /// <summary>

Loading…
Cancel
Save