#!/usr/bin/env python3
-# -*- coding: cp1252 -*-
""" turtle-example-suite:
- tdemo_clock.py
+ turtledemo/clock.py
Enhanced clock-program, showing date
and time
from turtle import *
from datetime import datetime
+dtfont = "TkFixedFont", 14, "bold"
+current_day = None
+
def jump(distanz, winkel=0):
penup()
right(winkel)
jump(-radius)
rt(6)
+def display_date_time():
+ global current_day
+ writer.clear()
+ now = datetime.now()
+ current_day = now.day
+ writer.home()
+ writer.forward(distance=65)
+ writer.write(wochentag(now), align="center", font=dtfont)
+ writer.back(distance=150)
+ writer.write(datum(now), align="center", font=dtfont)
+ writer.forward(distance=85)
+
def setup():
global second_hand, minute_hand, hour_hand, writer
mode("logo")
make_hand_shape("second_hand", 125, 25)
- make_hand_shape("minute_hand", 130, 25)
+ make_hand_shape("minute_hand", 115, 25)
make_hand_shape("hour_hand", 90, 25)
clockface(160)
second_hand = Turtle()
hand.speed(0)
ht()
writer = Turtle()
- #writer.mode("logo")
writer.ht()
writer.pu()
writer.bk(85)
+ display_date_time()
def wochentag(t):
wochentag = ["Monday", "Tuesday", "Wednesday",
stunde = t.hour + minute/60.0
try:
tracer(False) # Terminator can occur here
- writer.clear()
- writer.home()
- writer.forward(65)
- writer.write(wochentag(t),
- align="center", font=("Courier", 14, "bold"))
- writer.back(150)
- writer.write(datum(t),
- align="center", font=("Courier", 14, "bold"))
- writer.forward(85)
second_hand.setheading(6*sekunde) # or here
minute_hand.setheading(6*minute)
hour_hand.setheading(30*stunde)
+ if t.day != current_day:
+ display_date_time()
tracer(True)
ontimer(tick, 100)
except Terminator: