public override void OnPlayerJoin(String soldierName) { if (!ELOList.ContainsKey(soldierName)) { ELOList[soldierName] = new ELO(soldierName); } }
public override void OnServerInfo(CServerInfo serverInfo) { List <ELO> ELOObjects = ELOList.Values.ToList(); ELOObjects.Sort(); StringBuilder s = new StringBuilder($"\n^4---Top {TopNRanks} ELO Rank---^0\n"); for (int i = 0, rank = 1; i < TopNRanks; i++) { ELO player = ELOObjects[i]; s.AppendLine($"#{rank++} {player.Name} --> {player.Rating}".PadRight(75) + $"KD({player.Kills}/{player.Deaths}) |{ player.KDR.ToString("F2")}|"); } ConsoleWrite(s.ToString()); }
public override void OnPlayerKilled(Kill kKillerVictimDetails) { if (!kKillerVictimDetails.IsSuicide || kKillerVictimDetails.DamageType != "DamageArea") { string killerName = kKillerVictimDetails.Killer.SoldierName; string victimName = kKillerVictimDetails.Victim.SoldierName; ELO killer = ELOList[killerName]; ELO victim = ELOList[victimName]; (float killer, float victim)diff = killer.Beat(victim); ConsoleWrite($"{killerName} ({(int)killer.Rating}) |{(diff.killer >= 0f ? "+" : "") + diff.killer}|".PadRight(40) + $" [{kKillerVictimDetails.DamageType}] ".PadLeft(20) + $"{victimName} ({(int)victim.Rating}) |{(diff.victim >= 0f ? "+" : "") + diff.victim}|".PadLeft(40)); } }
public IActionResult MAPost(MatchAdd matchToAdd) { if (matchToAdd.win == matchToAdd.lose || matchToAdd.win == null || matchToAdd.lose == null) { ViewBag.PostResultText = "Матч не добавлен! Участники заданы неверно."; ViewBag.PostResult = "0"; return(View()); } int PONewRating = 0; int PTNewRating = 0; if (matchToAdd.time == new DateTime(1, 1, 1, 0, 0, 0)) { matchToAdd.time = DateTime.Now; } Match newMatch = new Match { Time = matchToAdd.time, Comment = matchToAdd.comment + "" }; MatchParticipant ParticipantOne = new MatchParticipant { player = Convert.ToString(matchToAdd.win), matchID = Convert.ToInt32(newMatch.Id), result = 1 }; MatchParticipant ParticipantTwo = new MatchParticipant { player = Convert.ToString(matchToAdd.lose), matchID = Convert.ToInt32(newMatch.Id), result = 0 }; PONewRating = _allPlayers.GetPlayerByAlias(matchToAdd.win).Rating; PTNewRating = _allPlayers.GetPlayerByAlias(matchToAdd.lose).Rating; ELO.CalculateELO(ref PONewRating, ref PTNewRating, 1); ELO.CalculateELO(ref PTNewRating, ref PONewRating, 0); //POne.Rating = PONewRating; //PTwo.Rating = PONewRating; _allPlayers.UpdateRating(PONewRating, matchToAdd.win); _allPlayers.UpdateRating(PTNewRating, matchToAdd.lose); PONewRating = 0; PTNewRating = 0; _AddMatch.AddMatch(matchToAdd, newMatch, ParticipantOne, ParticipantTwo); //ViewBag.AP = _allPlayers.AllPlayers PlayersListViewModel PListed = new PlayersListViewModel(); PListed.GetAllPlayers = _allPlayers.AllPlayers; ViewBag.PostResultText = "Матч добавлен!"; ViewBag.PostResult = "1"; return(View()); }