Coding Dojo

Edit on Gitlab

Tennis

About this Kata

This Kata is about implementing a simple tennis game. I came up with it while thinking about Wii tennis, where they have simplified tennis, so each set is one game.

The scoring system is rather simple:

  1. Each player can have either of these points in one game “love” “15” “30” “40”
  2. If you have 40 and you win the point you win the game, however there are special rules.
  3. If both have 40 the players are “deuce”.
  4. If the game is in deuce, the winner of a point will have advantage
  5. If the player with advantage wins the ball he wins the game
  6. If the player without advantage wins they are back at deuce.

Alternate description of the rules per Wikipedia (http://en.wikipedia.org/wiki/Tennis#Scoring ):

  1. A game is won by the first player to have won at least four points in total and at least two points more than the opponent.
  2. The running score of each game is described in a manner peculiar to tennis: scores from zero to three points are described as “love”, “15”, “30”, and “40” respectively.
  3. If at least three points have been scored by each player, and the scores are equal, the score is “deuce”.
  4. If at least three points have been scored by each side and a player has one more point than his opponent, the score of the game is “advantage” for the player in the lead.

Example solutions