コード例 #1
0
ファイル: Game.cs プロジェクト: bdr27/cp3046-3047Project
 public MatchResult GetMatchResult(int teamAID, int teamBID)
 {
     var mr = new MatchResult();
     mr.SetTeamAID(teamAID);
     mr.SetTeamBID(teamBID);
     mr.SetTeamAScore(teamAScore);
     mr.SetTeamBScore(teamBScore);
     return mr;
 }
コード例 #2
0
 public void AddMatchResult(MatchResult match)
 {
     var matchResult = match.Clone();
     try
     {
         ladders[currentLadder].MatchPlayed(matchResult.GetMatchID(), matchResult);
     }
     catch (Exception e)
     {
     }
 }
コード例 #3
0
ファイル: MatchTest.cs プロジェクト: bdr27/cp3046-3047Project
 public void MatchStringTest()
 {
     var match = new MatchResult();
     match.SetTeamAID(1);
     match.SetTeamBID(2);
     var scoreTeamA = new Score();
     var scoreTeamB = new Score();
     match.SetTeamAScore(scoreTeamA);
     match.SetTeamBScore(scoreTeamB);
        // Assert.AreEqual(match.ToString(), "1: tag: 0, flag: 0, score 0, 2: tag: 0, flag: 0, score 0");
 }
コード例 #4
0
 public MatchResult Clone()
 {
     var mr = new MatchResult();
     mr.SetMatchID(matchID);
     mr.SetTeamAID(teamAID);
     mr.SetTeamAScore(teamAScore);
     mr.SetTeamBID(teamBID);
     mr.SetTeamBScore(teamBScore);
     mr.SetPlayed(played);
     if (dummyGame)
     {
         mr.SetDummyGame(dummyGame);
     }
     return mr;
 }
コード例 #5
0
ファイル: MatchTest.cs プロジェクト: bdr27/cp3046-3047Project
 public void MatchWinnerTests()
 {
     var match = new MatchResult();
     match.SetTeamAID(1);
     match.SetTeamBID(2);
     var scoreTeamA = new Score();
     var scoreTeamB = new Score();
     for(int i = 0; i < 3; i++)
     {
         scoreTeamA.AddTag();
     }
     scoreTeamA.AddFlag();
     for(int i = 0; i < 10; i++)
     {
         scoreTeamB.AddTag();
     }
     match.SetTeamAScore(scoreTeamA);
     match.SetTeamBScore(scoreTeamB);
     Assert.AreEqual(2, match.GetWinner());
 }
コード例 #6
0
ファイル: App.xaml.cs プロジェクト: bdr27/cp3046-3047Project
 private void LaunchGame(MatchResult matchPlayed)
 {
     //Have to clear the scores
     var liveMatchTab = mainWindow.liveMatch;
     mainWindow.ChangeLiveMatch();
     liveMatchTab.SetPlayed(matchPlayed);
 }
コード例 #7
0
ファイル: App.xaml.cs プロジェクト: bdr27/cp3046-3047Project
 private void HandleListView_DoubleClick(object sender, RoutedEventArgs e)
 {
     var ladderTab = mainWindow.ladderView;
     try
     {
         matchSelected = ladderTab.GetTeamsSelectedTeam();
         if (!matchSelected.GetPlayed())
         {
             currentMatchID = matchSelected.GetMatchID();
             liveMatch.SetMatchType(MatchType.Ladder);
             LaunchGame(matchSelected);
         }
     }
     catch (NoGameSelectedException)
     {
         Console.WriteLine("No game selected");
     }
 }
コード例 #8
0
ファイル: Ladder.cs プロジェクト: bdr27/cp3046-3047Project
 public void SetMatch(int matchID, MatchResult matchPlayed)
 {
     ladderTiers[currentTier].SetMatch(matchID, matchPlayed);
 }
コード例 #9
0
ファイル: Ladder.cs プロジェクト: bdr27/cp3046-3047Project
 public void MatchPlayed(int ID, MatchResult mr)
 {
     mr.SetPlayed(true);
     ladderTiers[currentTier].SetMatch(ID, mr);
     var winnerID = mr.GetWinner();
     if (winnerID != -1)
     {
         if (currentTier + 1 != tierCount)
         {
             ladderTiers[currentTier + 1].AddTeam(winnerID, ID);
             if (ladderTiers[currentTier].AllMatchesPlayed())
             {
                 var breakTeams = ladderTiers[currentTier++].GetAllBreaks();
                 AddBreakTeams(breakTeams);
             }
         }
         else
         {
             this.tournamentWinnerID = winnerID;
             throw new TournamentWinnerException(winnerID);
         }
     }
     else
     {
         mr.SetPlayed(false);
     }
 }
コード例 #10
0
        public void GenerateRandomMatches(List<int> teamIDs)
        {
            var cloneTeamIDs = LadderUtil.CloneIntList(teamIDs);
            var totalTeams = cloneTeamIDs.Count;
            var totalMatches = 0;
            var nextTier = LadderUtil.GetTierCount(totalTeams);
            totalMatches = (int)(totalTeams - Math.Pow(2, nextTier - 1));

            for (int i = 0; i < totalMatches; i++)
            {
                var teamAID = GetRandomTeam(cloneTeamIDs);
                var teamBID = GetRandomTeam(cloneTeamIDs);
                currentTeams.Add(teamAID);
                currentTeams.Add(teamBID);

                var match = new MatchResult();
                match.SetTeamAID(teamAID);
                match.SetTeamBID(teamBID);
                match.SetMatchID(i);
                matches.Add(i, match);
            }

            var tierMatches = Math.Pow(2, nextTier - 1);
            for (int i = totalMatches; i < tierMatches; i++)
            {
                var teamAId = GetRandomTeam(cloneTeamIDs);
                currentTeams.Add(teamAId);
                var match = new MatchResult();
                match.SetTeamAID(teamAId);
                match.SetDummyGame(true);
                matches.Add(i, match);
            }
        }
コード例 #11
0
 public void SetMatch(int ID, MatchResult mr)
 {
     mr.SetPlayed(true);
     matches[ID] = mr.Clone();
 }
コード例 #12
0
 public void SetPlayed(MatchResult matchPlayed)
 {
     this.matchPlayed = matchPlayed;
     SetTeams(matchPlayed.GetTeamAID(), matchPlayed.GetTeamAName(), cmbTeamA);
     SetTeams(matchPlayed.GetTeamBID(), matchPlayed.GetTeamBName(), cmbTeamB);
 }