126 lines
2.7 KiB
Python
Executable File
126 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()
|