# bp = Basispunkte
bp = 60
# kf= Korrekturfaktor
kf = 20
# uef = Unentschiedenfaktor
uef = 0.05
# Unentschieden Ja/Nein
ue = False
# efV= Elofaktor Verlierer
efV = 0
# efS= Elofaktor Sieger
efS = 0
# eloS= Elo Sieger
eloS = 0
# eloV= Elo Verlierer
eloV = 0
# sPV= Strafpunkte Verlierer
sPV = 0
# sPS= Strafpunkte Sieger
sPS = 0
# mp= Multiplikator
mp = 0
# mpC= Multiplikator Caps
mpC = 0
# eloDiff= Elo Differenz
eloDiff = 0
# eloDiffC= Elo Differenz Caps
eloDiffC = 0
# zwPV = Zwischenpunkte Verlierer
zwPV = 0
# zwPS = Zwischenpunkte Sieger
zwPS = 0
# Endpunkte Sieger
endpunkteS = 0
# Endpunkte Verlierer
endpunkteV = 0
# Generaele und zuordnung
# USAG = USA Standart, USAG1 = Airforce, USAG2 = Laser, USAG3 = Superwaffen
# CHG = China Standart, CHG1 = Nuke, CHG2 = Infantrie, CHG3 = Tank
# GLAG = GLA Standart, GLAG1 = Toxic, GLAG2 = Stealth, GLAG3 = Demo
g1 = 0
g2 = 0


# testinput für die Eloberechnung
tG1 = input("Bitte den General eingeben: ")
tG2 = input("Bitte den General 2 eingeben: ")
eloS = input("Bitte geben Sie die Elo des Siegers ein: ")
eloS = int(eloS)
eloV = input("Bitte geben Sie die Elo des Verlierers ein: ")
eloV = int(eloV)
sPS = input("Bitte geben Sie die Strafpunkte des Siegers ein: ")
sPS = int(sPS)
sPV = input("Bitte geben Sie die Strafpunkte des Verlierers ein: ")
sPV = int(sPV)
ue = input("Unentschieden Ja/Nein: ")
while (ue != "Ja" and ue != "Nein"):
    ue = input("Unentschieden Ja/Nein: ")


# Funktion für das Setzen der Generaele
def generalZuweisung1(tG1):
    match (tG1):
        case "USAG":
            g1 = 1
            return g1
        case "USAG1":
            g1 = 2
            return g1
        case "USAG2":
            g1 = 3
            return g1
        case "USAG3":
            g1 = 4
            return g1
        case "CHG":
            g1 = 5
            return g1
        case "CHG1":
            g1 = 6
            return g1
        case "CHG2":
            g1 = 7
            return g1
        case "CHG3":
            g1 = 8
            return g1
        case "GLA":
            g1 = 9
            return g1
        case "GLAG1":
            g1 = 10
            return g1
        case "GLAG2":
            g1 = 11
            return g1
        case "GLAG3":
            g1 = 12
            return g1
        
        
def generalZuweisung2(tG2):
    match (tG2):
        case "USAG":
            g2 = 1
            return g2
        case "USAG1":
            g2 = 2
            return g2
        case "USAG2":
            g2 = 3
            return g2
        case "USAG3":
            g2 = 4
            return g2
        case "CHG":
            g2 = 5
            return g2
        case "CHG1":
            g2 = 6
            return g2
        case "CHG2":
            g2 = 7
            return g2
        case "CHG3":
            g2 = 8
            return g2
        case "GLAG":
            g2 = 9
            return g2
        case "GLAG1":
            g2 = 10
            return g2
        case "GLAG2":
            g2 = 11
            return g2
        case "GLAG3":
            g2 = 12
            return g2        
             
            
g1 = generalZuweisung1(tG1)
g2 = generalZuweisung2(tG2)
print("Genral1 ", g1)
print("General2 ", g2)


# Berechnung des Elofaktors Sieger
# Der Elofaktor Sieger ist abhängig von der Elo des Siegers.
# Je höher die Elo, desto geringer der Elofaktor.
def elofaktorSieger(eloS):
    if eloS > 2000:
        efS = 0.75
    elif eloS < 2000 and eloS > 1500:
        efS = 0.8
    elif eloS <= 1500 and eloS > 1250:
        efS = 0.85
    elif eloS <= 1250 and eloS > 1000:
        efS = 0.9
    elif eloS <= 1000 and eloS > 750:
        efS = 1
    elif eloS <= 750 and eloS > 500:
        efS = 1
    else:
        efS = 1
    return efS


# Berechnung des Elofaktors Verlierer
# Der Elofaktor Verlierer ist abhängig von der Elo des Verlierers.
# Je höher die Elo, desto geringer der Elofaktor.
def elofaktorVerlierer(eloV):
    if eloV > 2000:
        efV = 0.75
    elif eloV < 2000 and eloV > 1500:
        efV = 0.8
    elif eloV <= 1500 and eloV > 1250:
        efV = 0.85
    elif eloV <= 1250 and eloV > 1000:
        efV = 0.9
    elif eloV <= 1000 and eloV > 750:
        efV = 1
    elif eloV <= 750 and eloV > 500:
        efV = 1
    else:
        efV = 1
    return efV


# Variablen für die Elofaktoren, wert zuweisen
efS = elofaktorSieger(eloS)
efV = elofaktorVerlierer(eloV)


# Berechnung der EloDifferenz
# Die EloDifferenz ist die Differenz zwischen der Elo des Siegers
# und der Elo des Verlierers.
def eloDifferenz(eloS, eloV):
    eloDiff = (eloS - eloV)
    return eloDiff


def eloDifferenzCaps(eloS, eloV):
    return eloDiff * -1


# Variablen für die Elo Differenz, wert zuweisen
eloDiff = eloDifferenz(eloS, eloV)
eloDiffC = eloDifferenzCaps(eloS, eloV)


# Berechnung des Multiplikators
# Der Multiplikator ist abhängig von der Elo Differenz.
def multiplikator(eloDiff):
    return 1-eloDiff/2000


# Berechnung des Multiplikators Caps
# Der Multiplikator Caps ist abhängig von der Elo Differenz.
def multiplikatorCaps(eloDiffC):
    return 1-eloDiffC/2000


# Variablen für die Multiplikatoren, werte zuweisen
mp = multiplikator(eloDiff)
mpC = multiplikatorCaps(eloDiffC)


# Berechnung der Grundpunkte Sieger
# Die Grundpunkte Sieger sind abhängig von den Basispunkten,
# dem Korrekturfaktor und dem Multiplikator.
def grundPunkteS(bp, kf, mp, ue):
    temp = bp*mp-kf
    return round(temp, 0)


# Berechnung der Grundpunkte Verlierer
# Die Grundpunkte Verlierer sind abhängig von den Basispunkten,
# dem Korrekturfaktor und dem Multiplikator.
def grundPunkteV(bp, kf, mp, ue):
    temp = (bp*mp-kf)*-1
    return round(temp, 0)


# Berechnung der Grundpunkte Caps
def grundPunkteCaps(bp, kf, mpC):
    temp = bp*mpC-kf
    return round(temp, 0)


# berechneteten Grundpunkte Variablen zuweisen
# Sieger
gpS = grundPunkteS(bp, kf, mp, ue)
# Verlierer
gpV = grundPunkteV(bp, kf, mp, ue)
# Das Caps für den Verliererstrafpunkte
gpC = grundPunkteCaps(bp, kf, mpC)


# Berechnung des Caps für den Verlierer(für Strafpunkte)
def punktecapsVerlierer(gpC, efV):
    # czp = Maximale Zusatzpunkte durch Strafpunkte
    czp = gpC*efV*0.7
    print("GrundpunkteCaps: ", gpC)
    print("MultiplikatorCaps: ", mpC)
    print("EloFaktorVerlierer: ", efV)
    return round(czp, 0)


czp = punktecapsVerlierer(gpC, efV)
print("Maximale Zusatzpunkte durch Strafpunkte: ", czp)
print("Sieger", gpS)
print("Verlierer", gpV)


# Berechnung der Punkte für Sieger und Verlierer

# Berechnung Punkte für den Sieger
def punkteSieger(gpS, efS, uef, eloDiff):
    if ue == "Ja":
        # zwPS = Zwischenpunkte Sieger
        zwPS = round((eloDiff * uef) * efS * -1)
    else:
        zwPS = round(gpS * efS)
    print("Zwischenpunkte Sieger: ", zwPS)
    return zwPS


# Berechnung Punkte für den Verlierer
def punkteVerlierer(gpV, efV, uef, eloDiff):
    if ue == "Ja":
        # zwPV = Zwischenpunkte Verlierer
        zwPV = round((eloDiff * uef) * efV)
    else:
        zwPV = round(gpV * efV)
    print("Zwischenpunkte Verlierer: ", zwPV)
    return zwPV


# Aufrufen der Methoden zu Punkteberechnung
zwPS = punkteSieger(gpS, efS, uef, eloDiff)
zwPV = punkteVerlierer(gpV, efV, uef, eloDiff)


# Methode zu Berechnung der Strafpunkte Sieger
def strafpunkteSieger(sPS, zwPS):
    sPS = sPS * 33/100
    sPS = round(zwPS * sPS * -1, 0)

    return sPS


# Methode zu Berechnung der Strafpunkte Verlierer
def strafpunkteVerlierer(sPV, zwPV):
    sPV = sPV * 33 / 100
    sPV = round(zwPV * sPV, 0)
    print("Strafpunkte Verlierer: ", sPV)
    return sPV


# Aufrufen der Methoden zu Strafpunkteberechnung
sPS = strafpunkteSieger(sPS, zwPS)
sPV = strafpunkteVerlierer(sPV, zwPV)


# Methode zu Berechnung der Endpunkte Sieger und Verlierer
def endpunkteSieger(zwPS, sPS):
    if sPS < 0:
        endpunkteS = zwPS + sPS
    else:
        endpunkteS = zwPS
    return endpunkteS


def endpunkteVerlierer(zwPV, sPV, sPS):
    if sPV < 0:
        endpunkteV = zwPV + sPV
    else:
        endpunkteV = zwPV

    if sPS < 0:
        print("Strafpunkte Sieger1: ", sPS)
        zPV = sPS * -1
        if zPV > czp:
            endpunkteV = endpunkteV + czp
        else:
            endpunkteV = endpunkteV + zPV
    return endpunkteV


def endpunkteAusgeglichen(endpunkteS, endpunkteV, g1, g2):
    match(g1, g2):
        case (1, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 2):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 3):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 4):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 5):
            endpunkteS *= 0.3
            endpunkteV *= 0.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 6):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 7):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 8):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 9):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 10):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 11):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (1, 12):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 1):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 2):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 3):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 4):
            endpunkteS *= 0.1
            endpunkteV *= 0.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 5):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 6):
            endpunkteS *= 0.1
            endpunkteV *= 0.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 7):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 8):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 9):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 10):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (2, 12):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 2):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 3):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 4):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 5):
            endpunkteS *= 0.3
            endpunkteV *= 0.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 6):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 7):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 8):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 9):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 10):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (3, 12):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 2):
            endpunkteS *= 1.9
            endpunkteV *= 1.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 3):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 4):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 5):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 6):
            endpunkteS *= 0.3
            endpunkteV *= 0.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 7):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 8):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 9):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 10):
            endpunkteS *= 1.3
            endpunkteV *= 1.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 11):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (4, 12):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 1):
            endpunkteS *= 1.7
            endpunkteV *= 1.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 2):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 3):
            endpunkteS *= 1.7
            endpunkteV *= 1.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 4):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 5):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 6):
            endpunkteS *= 1.4
            endpunkteV *= 1.4
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 7):
            endpunkteS *= 0.7
            endpunkteV *= 0.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 8):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 9):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 10):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 11):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (5, 12):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 1):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 2):
            endpunkteS *= 1.9
            endpunkteV *= 1.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 3):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 4):
            endpunkteS *= 1.7
            endpunkteV *= 1.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 5):
            endpunkteS *= 0.3
            endpunkteV *= 0.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 6):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 7):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 8):
            endpunkteS *= 0.7
            endpunkteV *= 0.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 9):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 10):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (6, 12):
            endpunkteS *= 1.3
            endpunkteV *= 1.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 2):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 3):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 4):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 5):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 6):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 7):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 8):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 9):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 10):
            endpunkteS *= 1.5
            endpunkteV *= 1.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 11):
            endpunkteS *= 1.3
            endpunkteV *= 1.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (7, 12):
            endpunkteS *= 1.3
            endpunkteV *= 1.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 1):
            endpunkteS *= 1.5
            endpunkteV *= 1.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 2):
            endpunkteS *= 1.5
            endpunkteV *= 1.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 3):
            endpunkteS *= 1.5
            endpunkteV *= 1.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 4):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 5):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 6):
            endpunkteS *= 1.3
            endpunkteV *= 1.3
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 7):
            endpunkteS *= 1.8
            endpunkteV *= 1.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 8):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 9):
            endpunkteS *= 1.4
            endpunkteV *= 1.4
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 10):
            endpunkteS *= 1.6
            endpunkteV *= 1.6
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (8, 12):
            endpunkteS *= 1.6
            endpunkteV *= 1.6
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 2):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 3):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 4):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 5):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 6):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 7):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 8):
            endpunkteS *= 0.6
            endpunkteV *= 0.6
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 9):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 10):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (9, 12):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 2):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 3):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 4):
            endpunkteS *= 0.7
            endpunkteV *= 0.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 5):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 6):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 7):
            endpunkteS *= 0.5
            endpunkteV *= 0.5
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 8):
            endpunkteS *= 0.4
            endpunkteV *= 0.4
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 9):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 10):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (10, 12):
            endpunkteS *= 1.1
            endpunkteV *= 1.1
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 2):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 3):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 4):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 5):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 6):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 7):
            endpunkteS *= 0.7
            endpunkteV *= 0.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 8):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 9):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 10):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 11):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (11, 12):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 1):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 2):
            endpunkteS *= 1.2
            endpunkteV *= 1.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 3):
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 4):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 5):
            endpunkteS *= 0.2
            endpunkteV *= 0.2
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 6):
            endpunkteS *= 0.7
            endpunkteV *= 0.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 7):
            endpunkteS *= 0.7
            endpunkteV *= 0.7
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 8):
            endpunkteS *= 0.4
            endpunkteV *= 0.4
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 9):
            endpunkteS *= 0.8
            endpunkteV *= 0.8
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 10):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 11):
            endpunkteS *= 0.9
            endpunkteV *= 0.9
            return round(endpunkteS, 0), round(endpunkteV, 0)
        case (12, 12):
            return round(endpunkteS, 0), round(endpunkteV, 0)     
            

endpunkteS = endpunkteSieger(zwPS, sPS)
endpunkteV = endpunkteVerlierer(zwPV, sPV, sPS)
print("ZwiischenEndpunkte Sieger: ", endpunkteS)
print("ZwischenEndpunkte Verlierer: ", endpunkteV)
endpunkteS, endpunkteV = endpunkteAusgeglichen(endpunkteS, endpunkteV, g1, g2)
# print("Caps", czp)
print("Endpunkte Sieger: ", endpunkteS)
print("Endpunkte Verlierer: ", endpunkteV)
