示例#1
0
        public void ShallGamePointBeLoveFifteen()
        {
            var playerA = new Player();
            var playerB = new Player();

            var scorecard = new Scorecard(playerA, playerB);
            scorecard.AwardPointToPlayer(playerB);

            Assert.AreEqual("Love - Fifteen", scorecard.GetCurrentGamePoints());
        }
示例#2
0
        public void BothPlayersAreAtDeuceWhenTheyHaveFourtyPoints()
        {
            var playerA = new Player();
            var playerB = new Player();

            var scorecard = new Scorecard(playerA, playerB);

            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);

            Assert.AreEqual("Deuce", scorecard.GetCurrentGamePoints());
        }
示例#3
0
        public void ShallPlayerHaveAdvantageWhenSheWinsTheBallAtFourtyAndOtherPlayerHasFourty()
        {
            var playerA = new Player();
            var playerB = new Player();

            var scorecard = new Scorecard(playerA, playerB);

            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerB);

            Assert.AreEqual("Advantage Player B", scorecard.GetCurrentGamePoints());
        }
示例#4
0
        public void ShallPlayersReturnToDeuceIfOnePlayerLoosesAdvantage()
        {
            var playerA = new Player();
            var playerB = new Player();

            var scorecard = new Scorecard(playerA, playerB);

            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerA);

            Assert.AreEqual("Deuce", scorecard.GetCurrentGamePoints());
        }
示例#5
0
        public void AwardPointToPlayer(Player player)
        {
            switch (player.Points)
            {
                case 0:
                    player.Points = 15;
                    break;
                case 15:
                    player.Points = 30;
                    break;
                case 30:
                    player.Points = 40;
                    break;
                case 40:
                    if (!playerA.HasAdvantage && !playerB.HasAdvantage)
                    {
                        if (playerA.Points == 40 && playerB.Points == 40)
                        {
                            player.HasAdvantage = true;
                        }
                        else
                        {
                            player.HasWon = true;
                        }
                    }
                    else
                    {
                        if(player.HasAdvantage)
                        {
                            player.HasWon = true;
                            return;
                        }

                        playerA.HasAdvantage = false;
                        playerB.HasAdvantage = false;
                    }
                    break;
            }
        }
示例#6
0
        public void ShallPlayerWinTheGameWhenSheWinsTheBallAtFourtyAndOtherPlayerHasLessThanFourty()
        {
            var playerA = new Player();
            var playerB = new Player();

            var scorecard = new Scorecard(playerA, playerB);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerB);
            scorecard.AwardPointToPlayer(playerB);

            Assert.AreEqual("Player B wins", scorecard.GetCurrentGamePoints());
        }
示例#7
0
 public TennisGame1(string player1Name, string player2Name)
 {
     player1 = new Player(player1Name);
     player2 = new Player(player2Name);
     score = new MatchScore(player1.Score, player2.Score);
 }
示例#8
0
 public Scorecard()
 {
     PlayerOne = new Player();
     PlayerTwo = new Player();
 }
示例#9
0
 public Scorecard(Player playerA, Player playerB)
 {
     this.playerA = playerA;
     this.playerB = playerB;
 }
示例#10
0
文件: Game.cs 项目: tasosutd/tennis
 // game.point_to(server/reveiver)
 public void Point_To(Player player)
 {
     player.AddPoint();
 }
示例#11
0
文件: Game.cs 项目: tasosutd/tennis
 // game.new(server, reveiver)
 public Game(Player server, Player receiver)
 {
     this.server   = server;
     this.reveiver = receiver;
 }