kellex

Simple Python Clock

Mar 13th, 2015
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.25 KB | None | 0 0
  1. # encoding: UTF-8
  2. # Author: Siegfried Paul Keller Schippner
  3. # Simple Clock
  4.  
  5. from Graphics import *
  6. import datetime
  7.  
  8. width=400
  9. height=400
  10. #d=50
  11.  
  12. mcpX=width/2
  13. mcpY=height/2
  14.  
  15. win=Window("SimpleClock",width,height)
  16. win.setBackground(Color("white"))
  17.  
  18. def calcMm(z):
  19.     x=0
  20.     y=0
  21.     if z <= 5:
  22.         x=300
  23.         y=0
  24.     elif z <= 10:
  25.         x=400
  26.         y=100
  27.     elif z <= 15:
  28.         x=400
  29.         y=200
  30.     elif z <= 20:
  31.         x=400
  32.         y=300
  33.     elif z <= 25:
  34.         x=300
  35.         y=400
  36.     elif z <= 30:
  37.         x=200
  38.         y=400
  39.     elif z <= 35:
  40.         x=100
  41.         y=400
  42.     elif z <= 40:
  43.         x=0
  44.         y=300
  45.     elif z <= 45:
  46.         x=0
  47.         y=200
  48.     elif z <= 50:
  49.         x=0
  50.         y=100
  51.     elif z <= 55:
  52.         x=100
  53.         y=0
  54.     elif z <= 60:
  55.         x=200
  56.         y=0
  57.     return(x,y)
  58.  
  59. def calcXY(z):
  60.     x=0
  61.     y=0
  62.     if z <= 1 or z <= 13:
  63.         x=300
  64.         y=0
  65.     elif z <= 2 or z <= 14:
  66.         x=400
  67.         y=100
  68.     elif z <= 3 or z <= 15:
  69.         x=400
  70.         y=200
  71.     elif z <= 4 or z <= 16:
  72.         x=400
  73.         y=300
  74.     elif z <= 5 or z <= 17:
  75.         x=300
  76.         y=400
  77.     elif z <= 6 or z <= 18:
  78.         x=200
  79.         y=400
  80.     elif z <= 7 or z <= 19:
  81.         x=100
  82.         y=400
  83.     elif z <= 8 or z <= 20:
  84.         x=0
  85.         y=300
  86.     elif z <= 9 or z <= 21:
  87.         x=0
  88.         y=200
  89.     elif z <= 10 or z <= 22:
  90.         x=0
  91.         y=100
  92.     elif z <= 11 or z <= 23:
  93.         x=100
  94.         y=0
  95.     elif z <= 12 or z <= 24:
  96.         x=200
  97.         y=0
  98.     return(x,y)
  99.    
  100. def mms2(z):
  101.     x=0
  102.     y=0
  103.     if z <= 5:
  104.         x=300
  105.         y=0
  106.     elif z <= 10:
  107.         x=400
  108.         y=100
  109.     elif z <= 15:
  110.         x=400
  111.         y=200
  112.     elif z <= 20:
  113.         x=400
  114.         y=300
  115.     elif z <= 25:
  116.         x=300
  117.         y=400
  118.     elif z <= 30:
  119.         x=200
  120.         y=400
  121.     elif z <= 35:
  122.         x=100
  123.         y=400
  124.     elif z <= 40:
  125.         x=0
  126.         y=300
  127.     elif z <= 45:
  128.         x=0
  129.         y=200
  130.     elif z <= 50:
  131.         x=0
  132.         y=100
  133.     elif z <= 55:
  134.         x=100
  135.         y=0
  136.     elif z <= 60:
  137.         x=200
  138.         y=0
  139.     return(x,y)
  140.  
  141. def main():
  142.     clock=Rectangle((0,0),(width,height))
  143.     clock.fill = None
  144.     clock.border=4
  145.     clock.outline=Color("black")
  146.     clock.draw(win)
  147.    
  148.     while 2>1:
  149.         time=datetime.datetime.now().time()
  150.         h=time.hour
  151.         m=time.minute
  152.         s=time.second
  153.         #print(h,m,s)
  154.         ch="black"
  155.         cm="blue"
  156.         cs="red"
  157.         mh=calcXY(h)
  158.         mm=calcMm(m)
  159.         ms=mms2(s)
  160.         mhX=mh[0]
  161.         mhY=mh[1]
  162.         mmX=mm[0]
  163.         mmY=mm[1]
  164.         msX=ms[0]
  165.         msY=ms[1]
  166.         #drawM(mhX,mhY,ch)
  167.         #drawM(mmX,mmY,cm)
  168.         #drawM(msX,msY,cs)
  169.        
  170.         line1=drawM(mhX,mhY,ch)
  171.         line1.draw(win)
  172.         line2=drawM(mmX,mmY,cm)
  173.         line2.draw(win)
  174.         line3=drawM(msX,msY,cs)
  175.         line3.draw(win)
  176.        
  177.         wait(5)
  178.         line1.undraw()
  179.         line2.undraw()
  180.         line3.undraw()
  181.  
  182. def drawM(x,y,c):
  183.     line=Line((mcpX,mcpY),(x,y))
  184.     line.outline=Color(c)
  185.     line.border = 4
  186.     #line.draw(win)
  187.     return(line)
  188.  
  189. main()
Advertisement
Add Comment
Please, Sign In to add comment