pisya

GUI: through oop

Nov 26th, 2019 (edited)
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.08 KB | None | 0 0
  1. from tkinter import *
  2. from random import randrange as rnd, choice
  3. import time
  4. root = Tk()
  5. root.geometry('800x600')
  6.  
  7. f = Frame()
  8. f.pack(anchor=NW)
  9. lbl1 = Label(f, width=10, text='0 очков')
  10. l2 = Label(f, width=10, text='0 очков')
  11. lbl1.pack(ipadx=10, side=LEFT)
  12. l2.pack(ipadx=600, side=LEFT)
  13.  
  14. canv = Canvas(root, bg='white')
  15. canv.pack(fill=BOTH,expand=1)
  16.  
  17. colors = ['green', 'yellow', 'orange', 'lightblue', 'blue', 'pink']
  18.  
  19. class Ball:
  20.     """ Create new ball """
  21.     def __init__(self, name, r, point):
  22.         self.name = name
  23.         self.countOfPoint = 0
  24.         self.x = rnd(50+r, 750-r)
  25.         self.y = rnd(50+r, 550-r)
  26.         self.r = rnd(r-10, r+10)
  27.         self.point = point
  28.         canv.delete(self.name)
  29.         canv.create_oval(self.x-r, self.y-r, self.x+r, self.y+r, tag=self.name,
  30.                          fill=choice(colors), width=0)
  31.         canv.tag_bind(self.name, '<Button-1>', self.click)
  32.         root.after(2000, Ball(self.name, self.r, self.point))
  33.  
  34.     def click(self, event):
  35.         canv.delete(self.name)
  36.         self.countOfPoint += self.point
  37.         lbl1['text'] = self.countOfPoint, 'очков'
  38.  
  39. Ball('oval', 40, 2)
  40. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment