public void PlayMatchDay(GameRelayStatus relayStatus) { if (!currentMatches.NotNullOrEmpty()) { DoPairings(); } foreach (var match in currentMatches) { PlayMatch(match, relayStatus); } }
public void PlayNextMatch(GameRelayStatus relaystatus) { if (!currentMatches.NotNullOrEmpty()) { DoPairings(); } var nextMatch = currentMatches.First(); currentMatches.RemoveFirst(); PlayMatch(nextMatch, relaystatus); }
private void PlayMatch(MatchInfo match, GameRelayStatus relayStatus) { if (relayStatus == GameRelayStatus.Broadcast) { new AnnounceMatch(match.PlayerOne, match.PlayerTwo).RequestInDefaultContext(); } Match(match); match.PlayerOne.Matches.AddLast(match); match.PlayerTwo.Matches.AddLast(match); switch (match.Result) { case MatchResult.PlayerOneWins: match.PlayerOne.Points += 2.0; break; case MatchResult.PlayerTwoWins: match.PlayerTwo.Points += 2.0; break; case MatchResult.Draw: match.PlayerOne.Points += 1.0; match.PlayerTwo.Points += 1.0; break; case MatchResult.Aborted: break; default: break; } //order players PlayersTable = PlayersTable.OrderByDescending(pl => pl.Logic.PlayerCard.Points).ToList(); }