Ejemplo n.º 1
0
 public void PlayMatchDay(GameRelayStatus relayStatus)
 {
     if (!currentMatches.NotNullOrEmpty())
     {
         DoPairings();
     }
     foreach (var match in currentMatches)
     {
         PlayMatch(match, relayStatus);
     }
 }
Ejemplo n.º 2
0
        public void PlayNextMatch(GameRelayStatus relaystatus)
        {
            if (!currentMatches.NotNullOrEmpty())
            {
                DoPairings();
            }
            var nextMatch = currentMatches.First();

            currentMatches.RemoveFirst();
            PlayMatch(nextMatch, relaystatus);
        }
Ejemplo n.º 3
0
        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();
        }