
    Lg                     f    d dl Z d dlZd dlZddededededef
dZd	 Zed
k    r e             dS dS )    NFrating_arating_bscore_ais_q_leaguereturnc                 ~    ddt          j        d|| z
  dz            z   z  }|rdnd}|||z
  z  }t          |          S )u  
    Berechnet die ELO-Änderung für Spieler A.
    
    Args:
        rating_a: Aktuelle ELO-Wertung von Spieler A
        rating_b: Aktuelle ELO-Wertung von Spieler B
        score_a: Ergebnis für Spieler A (1 für Sieg, 0.5 für Unentschieden, 0 für Niederlage)
        is_q_league: True wenn Q-Liga Spiel, False für normale Spiele
    
    Returns:
        Die ELO-Änderung für Spieler A (gerundet)
       
   i  (       )mathpowround)r   r   r   r   
expected_akchanges          DE:\Entwicklung NexusControlanwendung\NewDesign\pages\elo_calculator.pycalculate_elor      sR     a$(28(;s'BCCCDJ!rA'J&'F==    c                     	 t          j        t          j                                                  } | d         }| d         }| d         }|                     dd          }t          ||||          }t          ||d|z
  |          }||d}t          t          j        |                     d	S # t          $ rQ}dt          |          i}	t          t          j        |	                     t          j        d           Y d	}~d	S d	}~ww xY w)
u   
    Hauptfunktion, die JSON-Input liest und JSON-Output zurückgibt.
    Input-Format: {"rating_a": int, "rating_b": int, "score_a": float, "is_q_league": bool}
    Output-Format: {"change_a": int, "change_b": int}
    r   r   r   r   Fr	   )change_achange_berrorN)jsonloadssysstdinreadgetr   printdumps	Exceptionstrexit)

input_datar   r   r   r   r   r   resulteerror_results
             r   mainr)      s   Z	 0 011
 j)j)Y' nn]E:: !8WkJJ 8Q[+NN ! 
 
 	dj  !!!!!    SVV
 	dj&&'''s   B+B/ /
D
9ADD
__main__)F)	r   r   r   intfloatboolr   r)   __name__ r   r   <module>r0      s    



   C 3  T ^a    $# # #J zDFFFFF r   