Classement marche pas
continuous-integration/drone/push Build is failing Details

master
Camille TURPIN-ETIENNE 11 months ago
parent 57f2cca38f
commit 058a3fd3d1

@ -48,8 +48,7 @@ namespace CoreLibrary.Joueurs
public override string ToString() => Nom;
public int Statistique(IRegles regles, Statistique statistique) =>
statistiques.GetValueOrDefault((regles, statistique), 0);
public int Statistique(IRegles regles, Statistique statistique) => statistiques.GetValueOrDefault((regles, statistique),0);
public void IncrementerStatistique(IRegles regles, Statistique statistique) =>
statistiques[(regles, statistique)] = Statistique(regles, statistique) + 1;

@ -8,7 +8,7 @@ namespace CoreLibrary.Manageurs
public class Manageur
{
private readonly IPersistance persistance;
public readonly List<Joueur> joueurs;
private readonly List<Joueur> joueurs;
private readonly List<Partie> parties;
public IReadOnlyList<Joueur> Joueurs => joueurs;

@ -9,5 +9,16 @@ namespace CoreLibrary.Regles
public int NbJoueurs => 2;
public int NbTour => 12;
public int TailleCode => 4;
public override bool Equals(object? obj)
{
if (obj == null || obj is not ReglesClassiques) return false;
return true;
}
public override int GetHashCode()
{
return HashCode.Combine(Nom, NbJoueurs, NbTour, TailleCode);
}
}
}

@ -26,8 +26,8 @@ namespace MauiSpark.Pages
public IEnumerable<Classement> GetClassement(Func<Joueur, object> critereTri)
{
IEnumerable<Joueur> joueursTries = NbClique % 2 == 0
? MauiProgram.Manageur.joueurs.OrderBy(critereTri)
: MauiProgram.Manageur.joueurs.OrderByDescending(critereTri);
? MauiProgram.Manageur.Joueurs.OrderBy(critereTri)
: MauiProgram.Manageur.Joueurs.OrderByDescending(critereTri);
NbClique++;
@ -71,6 +71,7 @@ namespace MauiSpark.Pages
default:
critereTri = joueur =>
{
int totalParties = joueur.Statistique(regles, Statistique.PartiePerdue) +
joueur.Statistique(regles, Statistique.PartieGagnee) +
joueur.Statistique(regles, Statistique.PartieEgalite);
@ -80,7 +81,7 @@ namespace MauiSpark.Pages
}
BindingContext = GetClassement(critereTri);
int a = 2;
}
}
@ -99,12 +100,21 @@ namespace MauiSpark.Pages
public int Place
{
get => manageur.joueurs
get => manageur.Joueurs
.OrderBy(critereTri)
.ToList()
.IndexOf(joueur) + 1;
}
public double NbCoupMoyen
{
get
{
int totalParties = PartieEgalite + PartiePerdue + PartieGagnee;
return totalParties == 0 ? 0 : (double)joueur.Statistique(regles, Statistique.CoupJoue) / totalParties;
}
}
public int PartieGagnee
{
get => joueur.Statistique(regles, Statistique.PartieGagnee);
@ -118,18 +128,6 @@ namespace MauiSpark.Pages
{
get => joueur.Statistique(regles, Statistique.PartieEgalite);
}
public double NbCoupMoyen
{
get
{
int totalParties = joueur.Statistique(regles, Statistique.PartiePerdue) +
joueur.Statistique(regles, Statistique.PartieGagnee) +
joueur.Statistique(regles, Statistique.PartieEgalite);
return totalParties == 0 ? 0 : (double)joueur.Statistique(regles, Statistique.CoupJoue) / totalParties;
}
}
public Classement(Joueur joueur, Manageur manageur, Func<Joueur, object> critereTri, IRegles regles)
{
this.manageur = manageur;

Loading…
Cancel
Save