/// <summary> /// Détermine la position d'une pièce selon la stratégie /// </summary> /// <returns>Coordonnée de la position du coup à faire</returns> public override Coordonnee GetPosition() { List <Coordonnee> positionsPossibles = new List <Coordonnee> { new Coordonnee(2, 3), new Coordonnee(3, 3), new Coordonnee(6, 3), new Coordonnee(7, 3) }; return(positionsPossibles.Count > 0 ? positionsPossibles[Aleatoire.Next(positionsPossibles.Count)] : new StrategiePlacementPieceAleatoire(Pieces, Largeur, Hauteur).GetPosition()); }
/// <summary> /// Détermine la position d'une pièce selon la stratégie /// </summary> /// <returns>Coordonnée de la position du coup à faire</returns> public override Coordonnee GetPosition() { List <Coordonnee> positionsPossibles = new List <Coordonnee>(); for (int x = 0; x < Largeur; x++) { for (int y = 0; y < Hauteur; y++) { if (Pieces[x, y] == null) { positionsPossibles.Add(new Coordonnee(x, y)); } } } return(positionsPossibles.Count > 0 ? positionsPossibles[Aleatoire.Next(positionsPossibles.Count)] : new Coordonnee(-1, -1)); }
/// <summary> /// Détermine la position d'une pièce selon la stratégie /// </summary> /// <returns>Coordonnée de la position du coup à faire</returns> public override Coordonnee GetPosition() { // Si on n'a pas trouvé le drapeau, le trouver if (!DrapeauTrouve) { for (int x = 0; x < Largeur; x++) { for (int y = 0; y < Hauteur; y++) { if (Pieces[x, y] is Drapeau) { PositionDrapeau = new Coordonnee(x, y); DrapeauTrouve = true; } } } } List <Coordonnee> positionsPossibles = new List <Coordonnee>(); if (Pieces[PositionDrapeau.X - 1, 0] == null) { positionsPossibles.Add(new Coordonnee(PositionDrapeau.X - 1, 0)); } if (Pieces[PositionDrapeau.X, 1] == null) { positionsPossibles.Add(new Coordonnee(PositionDrapeau.X, 1)); } if (Pieces[PositionDrapeau.X + 1, 0] == null) { positionsPossibles.Add(new Coordonnee(PositionDrapeau.X + 1, 0)); } return(positionsPossibles.Count > 0 ? positionsPossibles[Aleatoire.Next(positionsPossibles.Count)] : new StrategiePlacementPieceAleatoire(Pieces, Largeur, Hauteur).GetPosition()); }