public string GetCurrentScore(TennisPlayerType winnerPlayerType = TennisPlayerType.None) { TennisScore homeTennisScore = this.PlayerScore(this.HomePlayer, this.AwayPlayer.TennisCurrentScore, winnerPlayerType); TennisScore awayTennisScore = this.PlayerScore(this.AwayPlayer, this.HomePlayer.TennisCurrentScore, winnerPlayerType); return(this.ScoreDisplay(homeTennisScore, awayTennisScore)); }
private TennisScore PlayerScore(TennisPlayer tennisPlayer, TennisScore opponentScore, TennisPlayerType winnerPlayerType) { TennisScore playerCurrentScore = tennisPlayer.TennisCurrentScore; if (tennisPlayer.TennisPlayerType == winnerPlayerType) { if (tennisPlayer.TennisCurrentScore == TennisScore.Love) { playerCurrentScore = TennisScore.Fiften; } else if (tennisPlayer.TennisCurrentScore == TennisScore.Fiften) { playerCurrentScore = TennisScore.Thirty; } else if (tennisPlayer.TennisCurrentScore == TennisScore.Thirty) { playerCurrentScore = TennisScore.Forty; } else if (tennisPlayer.TennisCurrentScore == TennisScore.Forty && opponentScore == TennisScore.Adv) { //Adv_Adv ==> deuce playerCurrentScore = TennisScore.Forty; } else if (tennisPlayer.TennisCurrentScore == TennisScore.Forty) { playerCurrentScore = TennisScore.Adv; } else if (tennisPlayer.TennisCurrentScore == TennisScore.Adv) { playerCurrentScore = TennisScore.Win; } } else { if (tennisPlayer.TennisCurrentScore == TennisScore.Adv && opponentScore == TennisScore.Forty) { //Adv_Adv ==> deuce playerCurrentScore = TennisScore.Forty; } } return(playerCurrentScore); }