import pygame
import sas_pygame as sas


view = sas.createView(600, 400, "white","Zahlen treffen")
balken = sas.Rectangle(50,150,500,20, "green")
zielscheibe = sas.Sprite(sas.Circle(280, 140, 20, "red"))
zielscheibe.add(sas.Circle(290, 150, 10, "white"))
zielscheibe.add(sas.Circle(297,157,3,"red"))
eins = sas.Text(35, 150, "0", "black")
hundert = sas.Text(555, 150, "100", "black")
hundert.setFont(16)
zielzahl = sas.Tools.randomNumber(0,100)
anleitung = sas.Text(100, 55, f"Bewege die Zielscheibe zur Zahl {zielzahl}")
ergebnisText = sas.Text(100,250,"")
ergebnisText.setHidden(True)
menue = sas.Text(100,350, "n: neue Zahl")

def zeigeNeuesZiel():
    zahl = sas.Tools.randomNumber(0,100)
    anleitung.setText(f"Bewege die Zielscheibe zur Zahl {zahl}")
    return zahl

def zeigeNeuesErgebnis():
    ergebnis = gibZiele()
    ergebnisText.setText(f"Du hast die Zahl {ergebnis} getroffen")

def gibZiele():
    position = zielscheibe.get_center_x()-50
    pos = round(position/500*100,0)
    return pos

def main():
    dragging = False
    lastX = 0
    while view.running:
        view.step()
        # Start Drag
        if zielscheibe.mousePressed():
            dragging = True
        # Während Drag bewegen
        if dragging and zielscheibe.mouseDragged():
            neuX = zielscheibe.getMouseX()
            dx = neuX - lastX
        # Grenzen prüfen (links/rechts)
            new_left = zielscheibe.get_shape_x() + dx
            if new_left > 50 - zielscheibe.get_shape_width()/2 and new_left < 550 - zielscheibe.get_shape_width()/2:
                zielscheibe.move(dx, 0)
            lastX = neuX
        # Ende Drag: bei Maus loslassen Ergebnis anzeigen
        if zielscheibe.mouseReleased():
            zeigeNeuesErgebnis()
            ergebnisText.setHidden(False)
        if view.keyPressed('n'):
            ergebnisText.setHidden(True)
            zielzahl = zeigeNeuesZiel()
            dragging = False
            view.keyBufferDelete()
    view.quit()
        

main()


