const string INVALID_SCORE = "ERROR: Invalid game points specified";
const string SERVER = "Server";
const string RECIEVER = "Receiver";
static string PointName(int Point)
default: return "<ERROR>";
public static string TennisGameScore(int servingPlayerPoints, int recievingPlayerPoints)
if(servingPlayerPoints < 0 || recievingPlayerPoints < 0)
string serverPoints = PointName(servingPlayerPoints);
string receivingPoints = PointName(recievingPlayerPoints);
if(servingPlayerPoints > 3 || recievingPlayerPoints > 3)
if(servingPlayerPoints - recievingPlayerPoints == 2) return SERVER + " Won!";
else if(recievingPlayerPoints - servingPlayerPoints == 2) return RECIEVER + " Won!";
if(servingPlayerPoints - recievingPlayerPoints >= 2)
if(servingPlayerPoints == 4) return SERVER + " Won!";
else return INVALID_SCORE;
if(recievingPlayerPoints - servingPlayerPoints >= 2)
if(recievingPlayerPoints == 4) return RECIEVER + " Won!";
else return INVALID_SCORE;
if(servingPlayerPoints <= 3 && recievingPlayerPoints <= 3)
if(servingPlayerPoints == recievingPlayerPoints) return serverPoints + " all";
else return serverPoints + " - " + receivingPoints;
else if(servingPlayerPoints == recievingPlayerPoints)
else if(servingPlayerPoints > recievingPlayerPoints)
return "Advantage " + SERVER;
return "Advantage " + RECIEVER;
public static void Main()
Console.WriteLine("***BONUS TESTS***");
static void TestTennisScore(int servingPlayerPoints, int recievingPlayerPoints)
Console.WriteLine(servingPlayerPoints + ", " + recievingPlayerPoints + " = " + TennisGameScore(servingPlayerPoints, recievingPlayerPoints));