Files
inf-kswo/RandomOtherStuff/Clock.py
Janis Hutz ede0ee318b Format
There really is no hope of making this code even half-way decent without
spending the time to rewrite them all properly. Don't want to do any of
that
2025-11-03 17:08:35 +01:00

129 lines
2.7 KiB
Python
Executable File

# Import der Module
import turtle
import time
import datetime
# Setup der einzelnen Turtle instanzen.
turtle.tracer(0)
sekundenzeiger = turtle.Turtle()
minutenzeiger = turtle.Turtle()
stundenzeiger = turtle.Turtle()
uhr = turtle.Turtle()
sekundenzeiger.color("red")
minutenzeiger.color("blue")
stundenzeiger.width(2)
# Definition des Ziffernblattes
def clock_bg():
uhr.pd()
uhr.dot(10)
uhr.pu()
uhr.lt(90)
uhr.fd(230)
uhr.rt(90)
uhr.pd()
for i in range(12):
uhr.rt(90)
uhr.fd(20)
uhr.bk(20)
uhr.lt(90)
for i in range(60):
uhr.fd(2)
uhr.rt(0.5)
uhr.pu()
# Funktion des Sekundenzeigers
def sekzeiger():
sekundenzeiger.pu()
sekundenzeiger.home()
sekundenzeiger.pd()
sekunden = datetime.datetime.now().second
sekundenzeiger.setheading((sekunden * 6) * (-1))
sekundenzeiger.lt(90)
sekundenzeiger.bk(40)
sekundenzeiger.fd(220)
# Funktion des Minutenzeigers
def minzeiger():
minutenzeiger.pu()
minutenzeiger.home()
minutenzeiger.pd()
minuten = datetime.datetime.now().minute
minutenzeiger.lt((minuten * 6) * (-1))
minutenzeiger.lt(90)
minutenzeiger.bk(30)
minutenzeiger.fd(215)
# Funktion des Stundenzeigers
def stzeiger():
stundenzeiger.pu()
stundenzeiger.home()
stundenzeiger.pd()
mins = datetime.datetime.now().minute
stunden = datetime.datetime.now().hour
if stunden >= 12:
stunden -= 12
stundenzeiger.lt((stunden * 30) * (-1))
stundenzeiger.rt(mins * 0.5)
stundenzeiger.lt(90)
stundenzeiger.bk(15)
stundenzeiger.fd(135)
else:
stundenzeiger.lt((stunden * 30) * (-1))
stundenzeiger.rt(mins * 0.5)
stundenzeiger.lt(90)
stundenzeiger.bk(15)
stundenzeiger.fd(135)
# Ganze Uhr
def clock():
sekundenzeiger.clear()
minutenzeiger.clear()
stundenzeiger.clear()
sekundenzeiger.ht()
minutenzeiger.ht()
stundenzeiger.ht()
uhr.ht()
uhr.home()
clock_bg()
sekzeiger()
minzeiger()
stzeiger()
turtle.update()
# Stoppen der Uhr
def stop():
global run
run = 0
# Hauptschleife
def settings():
print("Welcome!")
global run
time.sleep(2)
run = 0
turtle.onkeypress(stop, "Escape")
turtle.listen()
run = 1
while run == 1:
clock()
turtle.title("Clock")
else:
print("stopped, click to exit")
turtle.exitonclick()
print("process ended")
# Startzeit einblenden
print(time.strftime("%H:%M:%S"))
# Ausführen des Programms
settings()