Inheritance: ScoringContext
コード例 #1
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public ISetState GetDecidingSetState(TennisSet set)
 {
     return new SetStateTieBreakScoring(set);
 }
コード例 #2
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public ISetState GetStandardSetState(TennisSet set)
 {
     return new SetStateTieBreakScoring(set);
 }
コード例 #3
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
        public void AddPoint(Party party)
        {
            if (_matchState.MatchOver)
                throw new InvalidOperationException("Cannot add points to won matches.");

            _currentSet.AddPoint(party);

            if (_currentSet.SetOver)
            {
                IncreaseScore(party);
                _matchState = _matchState.SetAdded(party);

                if (!_matchState.MatchOver)
                    _currentSet = _matchState.GetNextSet(_tournamentRules);
            }
        }
コード例 #4
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public ISetState GetDecidingSetState(TennisSet set)
 {
     return new SetStateAdvantageScoring(set);
 }
コード例 #5
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public TennisMatch(ITournamentRules tournamentRules, Func<TennisMatch, IMatchState> matchStateFactory)
     : base(new Party("A"), new Party("B"))
 {
     _tournamentRules = tournamentRules;
     _matchState = matchStateFactory(this);
     _currentSet = _matchState.GetNextSet(tournamentRules);
 }
コード例 #6
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public SetStateWon(TennisSet set, Party winningParty)
 {
     _set = set;
     _winningParty = winningParty;
 }
コード例 #7
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public SetStateTieBreakScoring(TennisSet set)
     : base(set)
 {
 }
コード例 #8
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 protected SetStateBase(TennisSet set)
 {
     Set = set;
 }
コード例 #9
0
ファイル: Tennis.cs プロジェクト: rasmuskl/ReSharperCourse
 public SetStateAdvantageScoring(TennisSet set)
     : base(set)
 {
 }