Ich würde mich von der Aussprache ('0','15','30','40', 'Vorteil') freimachen, denn das ist die Darstellung. Und was haben wir gelernt? Genau, Darstellung und Funktion trennen.
Also wird beim Tennis einfach von 0 beginnend nach oben gezählt.
Wer zuerst 4 Punkte hat und mindestens 2 Punkte mehr als der andere, hat den Punkt, oder wie das heißt.
Die Anzahl der Breakpoints ist also PunktB-PunktA, wenn PunktB >= 3 und 0 sonst.
Und? Wieviel stehts?
Delphi-Quellcode:
Function SpielStand (PunkteA, PunkteB : Integer) : String;
Const
PunkteName : Array [0..3] of string = ('00','15','30','40');
Begin
if (PunkteA<=3) and (PunkteB<=3) Then
if PunkteA = PunkteB then
Result := PunkteName[PunkteA]+' beide'
else
Result := PunkteName[PunkteA]+'-'+PunkteName[PunkteB]
else if PunkteA > PunkteB + 1 Then
Result := 'Punktgewinn A'
else if PunkteB > PunkteA + 1 Then
Result := 'Punktgewinn B'
else if PunkteA > PunkteB Then
Result := 'Vorteil A'
else if PunkteB > PunkteA Then
Result := 'Vorteil B'
else
Result := 'Gleichstand'
End;