You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
241 lines
7.1 KiB
241 lines
7.1 KiB
using CoreLibrary.Joueurs;
|
|
using CoreLibrary.Manager;
|
|
|
|
namespace MauiSpark.Views;
|
|
|
|
public class JoueurClassementNbCoupParPartie
|
|
{
|
|
private Manageur manageur;
|
|
private Joueur joueur;
|
|
|
|
public Joueur Joueur
|
|
{
|
|
get => joueur;
|
|
private set => joueur = value;
|
|
}
|
|
public int Place
|
|
{
|
|
get => manageur.joueurs
|
|
.OrderBy(joueur => joueur.NbCoutTotal/(joueur.NbPartiePerdue+joueur.NbPartieGagnee+joueur.NbPartieEgalite)).ToList()
|
|
.IndexOf(Joueur) + 1;
|
|
}
|
|
|
|
public int NbCoutMoyen => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite);
|
|
|
|
public JoueurClassementNbCoupParPartie(Joueur joueur, Manageur manageur)
|
|
{
|
|
this.manageur = manageur;
|
|
this.joueur = joueur;
|
|
}
|
|
}
|
|
|
|
public class JoueurClassementPartieGagnee
|
|
{
|
|
private Manageur manageur;
|
|
private Joueur joueur;
|
|
|
|
public Joueur Joueur
|
|
{
|
|
get => joueur;
|
|
private set => joueur = value;
|
|
}
|
|
|
|
public int Place
|
|
{
|
|
get => manageur.joueurs.OrderByDescending(joueur => joueur.NbPartieGagnee).ToList().IndexOf(Joueur) + 1;
|
|
}
|
|
|
|
public int NbCoutMoyen => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite);
|
|
|
|
public JoueurClassementPartieGagnee(Joueur joueur, Manageur manageur)
|
|
{
|
|
this.manageur = manageur;
|
|
this.joueur = joueur;
|
|
}
|
|
}
|
|
|
|
public class JoueurClassementPartieEgalite
|
|
{
|
|
private Manageur manageur;
|
|
private Joueur joueur;
|
|
|
|
public Joueur Joueur
|
|
{
|
|
get => joueur;
|
|
private set => joueur = value;
|
|
}
|
|
|
|
public int Place
|
|
{
|
|
get => manageur.joueurs.OrderByDescending(joueur => joueur.NbPartieEgalite).ToList().IndexOf(joueur)+1;
|
|
}
|
|
|
|
public int NbCoutMoyen => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite);
|
|
|
|
public JoueurClassementPartieEgalite(Joueur joueur, Manageur manageur)
|
|
{
|
|
this.manageur = manageur;
|
|
this.joueur = joueur;
|
|
}
|
|
}
|
|
|
|
public class JoueurClassementPartiePerdue
|
|
{
|
|
private Manageur manageur;
|
|
private Joueur joueur;
|
|
|
|
public Joueur Joueur
|
|
{
|
|
get => joueur;
|
|
private set => joueur = value;
|
|
}
|
|
|
|
public int Place
|
|
{
|
|
get => manageur.joueurs.OrderByDescending(joueur => joueur.NbPartiePerdue).ToList().IndexOf(joueur)+1;
|
|
}
|
|
|
|
public int NbCoutMoyen => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite);
|
|
|
|
public JoueurClassementPartiePerdue(Joueur joueur, Manageur manageur)
|
|
{
|
|
this.manageur = manageur;
|
|
this.joueur = joueur;
|
|
}
|
|
}
|
|
|
|
public class JoueurClassementAlphabet
|
|
{
|
|
private Manageur manageur;
|
|
private Joueur joueur;
|
|
|
|
public Joueur Joueur
|
|
{
|
|
get => joueur;
|
|
private set => joueur = value;
|
|
}
|
|
|
|
public int Place
|
|
{
|
|
get => manageur.joueurs
|
|
.OrderBy(joueur => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite)).ToList()
|
|
.IndexOf(Joueur) + 1;
|
|
}
|
|
|
|
public int NbCoutMoyen => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite);
|
|
|
|
public JoueurClassementAlphabet(Joueur joueur, Manageur manager)
|
|
{
|
|
this.manageur = manager;
|
|
this.joueur = joueur;
|
|
}
|
|
}
|
|
|
|
public partial class CTableauScore : ContentView
|
|
{
|
|
public int NbClique { get; set; } = 0;
|
|
|
|
public IEnumerable<JoueurClassementNbCoupParPartie> GetClassementNbCoupParPartie()
|
|
{
|
|
if(NbClique % 2 == 0)
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderBy(joueur => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite))
|
|
.Select(joueur => new JoueurClassementNbCoupParPartie(joueur, MauiProgram.Manageur));
|
|
|
|
}
|
|
else
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderByDescending(joueur => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite))
|
|
.Select(joueur => new JoueurClassementNbCoupParPartie(joueur, MauiProgram.Manageur));
|
|
}
|
|
}
|
|
|
|
public IEnumerable<JoueurClassementPartieGagnee> GetClassementPartieGagnee()
|
|
{
|
|
if(NbClique % 2 == 0)
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderByDescending(joueur => joueur.NbPartieGagnee)
|
|
.Select(joueur => new JoueurClassementPartieGagnee(joueur, MauiProgram.Manageur));
|
|
}
|
|
else
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderBy(joueur => joueur.NbPartieGagnee)
|
|
.Select(joueur => new JoueurClassementPartieGagnee(joueur, MauiProgram.Manageur));
|
|
}
|
|
|
|
}
|
|
|
|
public IEnumerable<JoueurClassementPartieEgalite> GetClassementPartieEgalite()
|
|
{
|
|
if(NbClique % 2 == 0)
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderByDescending(joueur => joueur.NbPartieEgalite)
|
|
.Select(joueur => new JoueurClassementPartieEgalite(joueur, MauiProgram.Manageur));
|
|
}
|
|
else
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderBy(joueur => joueur.NbPartieEgalite)
|
|
.Select(joueur => new JoueurClassementPartieEgalite(joueur, MauiProgram.Manageur));
|
|
}
|
|
|
|
}
|
|
|
|
public IEnumerable<JoueurClassementPartiePerdue> GetClassementPartiePerdue()
|
|
{
|
|
if(NbClique % 2 == 0)
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderByDescending(joueur => joueur.NbPartiePerdue)
|
|
.Select(joueur => new JoueurClassementPartiePerdue(joueur, MauiProgram.Manageur));
|
|
}
|
|
else
|
|
{
|
|
NbClique++;
|
|
; return MauiProgram.Manageur.joueurs
|
|
.OrderBy(joueur => joueur.NbPartiePerdue)
|
|
.Select(joueur => new JoueurClassementPartiePerdue(joueur, MauiProgram.Manageur));
|
|
}
|
|
|
|
}
|
|
|
|
public IEnumerable<JoueurClassementAlphabet> GetClassementAlphabet()
|
|
{
|
|
if(NbClique % 2 == 0)
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderBy(joueur => joueur.Nom)
|
|
.Select(joueur => new JoueurClassementAlphabet(joueur, MauiProgram.Manageur));
|
|
}
|
|
else
|
|
{
|
|
NbClique++;
|
|
return MauiProgram.Manageur.joueurs
|
|
.OrderByDescending(joueur => joueur.Nom)
|
|
.Select(joueur => new JoueurClassementAlphabet(joueur, MauiProgram.Manageur));
|
|
}
|
|
|
|
}
|
|
public CTableauScore()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void UpdateClassement(Func<IEnumerable<object>> getClassement)
|
|
{
|
|
BindingContext = getClassement();
|
|
}
|
|
} |