import sas_pygame as sas
view = sas.createView(600,400, "yellow", "Reaktionsspiel")
TIME_LIMIT = 1.0

def erzeugeObjekte():
    trefferAnzeige = sas.Text(10,10,"Treffer: 0","red")
    x = sas.Tools.randomNumber(0,570)
    y = sas.Tools.randomNumber(0,370)
    ball = sas.Circle(x, y, 15,"blue")
    return trefferAnzeige, ball

def neuePosition(ball):
    x = sas.Tools.randomNumber(0,570)
    y = sas.Tools.randomNumber(0,370)
    ball.moveTo(x,y)

def zeigeTrefferAnzeige(trefferAnzeige, anzahlTreffer):
    trefferAnzeige.setText("Treffer: "+str(anzahlTreffer))

def zeigeZeitAn(zeit):
    t = sas.Tools.getElapsedTime(zeit)
    zeitanzeige = sas.Text (450, 10,"Zeit: "+f"{t:.2f}")

def main():
    trefferAnzeige, ball = erzeugeObjekte()
    anzahlTreffer = 0
    startZeit = sas.Tools.getStartTime()
    startZeitRunde = sas.Tools.getStartTime()
    while view.running:
        view.step()
        if ball.mouseClicked() and anzahlTreffer <= 10:
            anzahlTreffer += 1
            zeigeTrefferAnzeige(trefferAnzeige, anzahlTreffer)
            neuePosition(ball)
            startZeitRunde = sas.Tools.getStartTime()
        elif sas.Tools.getElapsedTime(startZeitRunde) >= TIME_LIMIT and anzahlTreffer < 10:
            neuePosition(ball)
            startZeitRunde = sas.Tools.getStartTime()
        if anzahlTreffer == 10:
            zeigeZeitAn(startZeit)
            anzahlTreffer = 11
    view.quit()    
        
main()