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.
mastermind/Sources/MauiSpark/Views/CTableauScore.xaml.cs

121 lines
3.6 KiB

using CoreLibrary.Joueurs;
using CoreLibrary.Manager;
namespace MauiSpark.Views;
internal class JoueurClassementNbCoupParPartie
{
private Manager manager;
private Joueur joueur;
public Joueur Joueur
{
get => joueur;
private set => joueur = value;
}
public int Place
{
get => manager.Joueurs
.OrderBy(joueur => joueur.NbCoutTotal/(joueur.NbPartiePerdue+joueur.NbPartieGagnee+joueur.NbPartieEgalite)).ToList()
.IndexOf(Joueur) + 1;
}
public int Point => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite);
public JoueurClassementNbCoupParPartie(Joueur joueur, Manager manager)
{
this.manager = manager;
this.joueur = joueur;
}
}
internal class JoueurClassementPartieGagnee
{
private Manager manager;
private Joueur joueur;
public Joueur Joueur
{
get => joueur;
private set => joueur = value;
}
public int Place
{
get => manager.Joueurs.OrderByDescending(joueur => joueur.NbPartieGagnee).ToList().IndexOf(Joueur) + 1;
}
public int Point => joueur.NbPartieGagnee;
public JoueurClassementPartieGagnee(Joueur joueur, Manager manager)
{
this.manager = manager;
this.joueur = joueur;
}
}
internal class JoueurClassementPartieEgalite
{
private Manager manager;
private Joueur joueur;
public Joueur Joueur
{
get => joueur;
private set => joueur = value;
}
public int Place
{
get => manager.Joueurs.OrderByDescending(joueur => joueur.NbPartieEgalite).ToList().IndexOf(joueur)+1;
}
public int Point => joueur.NbPartieEgalite;
public JoueurClassementPartieEgalite(Joueur joueur, Manager manager)
{
this.manager = manager;
this.joueur = joueur;
}
}
internal class JoueurClassementPartiePerdue
{
private Manager manager;
private Joueur joueur;
public Joueur Joueur
{
get => joueur;
private set => joueur = value;
}
public int Place
{
get => manager.Joueurs.OrderByDescending(joueur => joueur.NbPartiePerdue).ToList().IndexOf(joueur)+1;
}
public int Point => joueur.NbPartiePerdue;
public JoueurClassementPartiePerdue(Joueur joueur, Manager manager)
{
this.manager = manager;
this.joueur = joueur;
}
}
public partial class CTableauScore : ContentView
{
public CTableauScore()
{
InitializeComponent();
IEnumerable<JoueurClassementNbCoupParPartie> classement1 = MauiProgram.Manager.Joueurs.OrderBy(joueur => joueur.NbCoutTotal / (joueur.NbPartiePerdue + joueur.NbPartieGagnee + joueur.NbPartieEgalite)).Select(joueur => new JoueurClassementNbCoupParPartie(joueur, MauiProgram.Manager));
IEnumerable<JoueurClassementPartieGagnee> classement2 = MauiProgram.Manager.Joueurs.OrderByDescending(joueur => joueur.NbPartieGagnee).Select(joueur => new JoueurClassementPartieGagnee(joueur, MauiProgram.Manager));
IEnumerable<JoueurClassementPartieEgalite> classement3 = MauiProgram.Manager.Joueurs.OrderByDescending(joueur => joueur.NbPartieEgalite).Select(joueur => new JoueurClassementPartieEgalite(joueur, MauiProgram.Manager));
IEnumerable<JoueurClassementPartiePerdue> classement4 = MauiProgram.Manager.Joueurs.OrderByDescending(joueur => joueur.NbPartiePerdue).Select(joueur => new JoueurClassementPartiePerdue(joueur, MauiProgram.Manager));
BindingContext = classement4;
}
}