Advertisement
Guest User

Clock

a guest
Apr 9th, 2020
1,082
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.08 KB | None | 0 0
  1. import math
  2. import pygame
  3. import datetime
  4. from datetime import datetime
  5. from pygame.locals import *
  6. from pygame.sysfont import *
  7. running = True
  8.  
  9.  
  10. SIZE = 600, 600
  11. pygame.init()
  12. screen = pygame.display.set_mode(SIZE)
  13. clock = pygame.time.Clock()
  14. black = 0
  15. white = (255, 255, 255)
  16.  
  17. def numerkiloop():
  18.     l = 150
  19.     for g in range(1, 13):
  20.             a25 = zegar[0] + math.sin(math.radians(l)) * (zegar_len -5) - 10
  21.             b25 = zegar[0] + math.cos(math.radians(l)) * (zegar_len -5) - 12
  22.             font = pygame.font.SysFont(None, 36)
  23.             img = font.render(str(g), True, Color("black"))
  24.             screen.blit(img, (a25, b25))
  25.             l -= 30
  26.  
  27. def datownik():
  28.             m = datetime.today().strftime('%Y-%m-%d')
  29.             a26 = zegar[0] + math.sin(math.radians(180)) * (zegar_len /4) - 55
  30.             b26 = zegar[0] + math.cos(math.radians(180)) * (zegar_len /4)
  31.             pygame.draw.rect(screen, Color("black"), (230, 225, 140, 40), 5)
  32.             font = pygame.font.SysFont(None, 30)
  33.             img = font.render(m, True, Color("black"))
  34.             screen.blit(img, (a26, b26))
  35.  
  36. def tarcza():
  37.     d = 30
  38.     e = 0
  39.     f = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
  40.     while d < 390:
  41.         a = zegar[0] + math.sin(math.radians(d)) * (zegar_len + 30)
  42.         b = zegar[0] + math.cos(math.radians(d)) * (zegar_len + 30)
  43.         a2 = zegar[0] + math.sin(math.radians(d)) * (zegar_len + 5)
  44.         b2 = zegar[0] + math.cos(math.radians(d)) * (zegar_len + 5)
  45.         pygame.draw.line(screen, Color("black"), zegar, (a, b), 5)
  46.         pygame.draw.line(screen, Color("white"), zegar, (a2, b2), 8)
  47.         d2 = -20
  48.         a8 = zegar[0] + math.sin(math.radians(d2)) * (zegar_len - 70)
  49.         b8 = zegar[0] + math.cos(math.radians(d2)) * (zegar_len - 70)
  50.         font = pygame.font.SysFont(None, 50)
  51.         img = font.render("ROLEX", True, Color("black"))
  52.         screen.blit(img, (a8, b8))
  53.         numerkiloop()
  54.         datownik ()
  55.         d += 30
  56.     while e < 360:
  57.         a3 = zegar[0] + math.sin(math.radians(e)) * (zegar_len + 30)
  58.         b4 = zegar[0] + math.cos(math.radians(e)) * (zegar_len + 30)
  59.         a5 = zegar[0] + math.sin(math.radians(e)) * (zegar_len + 10)
  60.         b6 = zegar[0] + math.cos(math.radians(e)) * (zegar_len + 10)
  61.         pygame.draw.line(screen, Color("black"), zegar, (a3, b4), 2)
  62.         pygame.draw.line(screen, Color("white"), zegar, (a5, b6), 6)
  63.         numerkiloop()
  64.         datownik()
  65.         d2 = -20
  66.         a8 = zegar[0] + math.sin(math.radians(d2)) * (zegar_len - 70)
  67.         b8 = zegar[0] + math.cos(math.radians(d2)) * (zegar_len - 70)
  68.         font = pygame.font.SysFont(None, 50)
  69.         img = font.render("ROLEX", True, Color("black"))
  70.         screen.blit(img, (a8, b8))
  71.         e += 6
  72.  
  73. while running:
  74.     screen.fill(black)
  75.     pygame.draw.circle(screen, white, (300, 300), 270)
  76.     zegar = (300,300)
  77.     zegar_len = 250
  78.     tarcza()
  79.     pygame.draw.circle(screen, Color("grey"), (300, 300), 275, 5)
  80.     now_hour = int(datetime.now().strftime('%I'))
  81.     now_minute = int(datetime.now().strftime('%M'))
  82.     now_second = int(datetime.now(). strftime('%S'))
  83.     hr_angle = (now_hour + now_minute/60. + now_second/3600.) * 360./12.
  84.     x = zegar[0] + math.sin(math.radians(hr_angle)) * (zegar_len - 60)
  85.     y = zegar[0] - math.cos(math.radians(hr_angle)) * (zegar_len - 60)
  86.     min_angle = (now_minute + now_second/60.) * 360./60.
  87.     x1 = zegar[0] + math.sin(math.radians(min_angle)) * (zegar_len - 30)
  88.     y1 = zegar[0] - math.cos(math.radians(min_angle)) * (zegar_len - 30)
  89.     sec_angle = (now_second) * 360./60.
  90.     x2 = zegar[0] + math.sin(math.radians(sec_angle)) * zegar_len
  91.     y2 = zegar[0] - math.cos(math.radians(sec_angle)) * zegar_len
  92.  
  93.     pygame.draw.line(screen, Color("black"), zegar, (x,y), 5)
  94.     pygame.draw.line(screen, Color("grey"), zegar, (x1,y1), 4)
  95.     pygame.draw.line(screen, Color("red"), zegar, (x2,y2), 3)
  96.  
  97.     for event in pygame.event.get():
  98.         if event.type == pygame.QUIT:
  99.             running = False
  100.     pygame.display.flip()
  101.     clock.tick(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement