public Parti(Bekker hvit, Bekker svart, DateTimeOffset dato, PartiResultat resultat, string pgn) { SpillerHvit = hvit; SpillerSvart = svart; Dato = dato; Resultat = resultat; Pgn = pgn; }
public SjakkParti(string hvit, string svart, DateTimeOffset dato, PartiResultat resultat, string pgn) { SpillerHvit = hvit; SpillerSvart = svart; Dato = dato; Resultat = resultat; Pgn = pgn; }
public PartiDao(int hvit, int svart, DateTimeOffset dato, PartiResultat resultat, string pgn) { SpillerHvitId = hvit; SpillerSvartId = svart; Dato = dato; Resultat = resultat; Pgn = pgn; }
// Implementasjon følger https://metinmediamath.wordpress.com/2013/11/27/how-to-calculate-the-elo-rating-including-example/ public static Tuple <int, int> FinnNyeEloRatinger(Bekker hvit, Bekker svart, PartiResultat resultat) { double ratingTransformertHvit = Math.Pow(10, (double)hvit.Elo / 400); double ratingTransformertSvart = Math.Pow(10, (double)svart.Elo / 400); double forventningsverdiHvit = ratingTransformertHvit / (ratingTransformertHvit + ratingTransformertSvart); double forventningsverdiSvart = ratingTransformertSvart / (ratingTransformertHvit + ratingTransformertSvart); double poengHvit = resultat == PartiResultat.VinnerHvit ? 1 : 0; double poengSvart = resultat == PartiResultat.VinnerSvart ? 1 : 0; if (resultat == PartiResultat.Uavgjort) { poengHvit = 0.5; poengSvart = 0.5; } double nyRatingHvit = hvit.Elo + KFaktor * (poengHvit - forventningsverdiHvit); double nyRatingSvart = svart.Elo + KFaktor * (poengSvart - forventningsverdiSvart); return(new Tuple <int, int>((int)nyRatingHvit, (int)nyRatingSvart)); }
public Parti(int id, Bekker hvit, Bekker svart, DateTimeOffset dato, PartiResultat resultat, string pgn) : this(hvit, svart, dato, resultat, pgn) { Id = id; }