Building a screen saver
We will start by building a screen saver. The program will consist of several random-colored and random-sized balls bouncing all over the screen at random velocity, as shown in the following screenshot:

Let's create a class to generate balls with random attributes. Accordingly, we define a new class named RandomBall
. Refer the code file 8.01_screensaver
:
class RandomBall: def __init__(self, canvas): self.canvas = canvas self.screen_width = canvas.winfo_screenwidth() self.screen_height = canvas.winfo_screenheight() self.create_ball() def create_ball(self): self.generate_random_attributes() self.create_oval() def generate_random_attributes(self): self.radius = r = randint(40, 70) self.x_coordinate = randint(r, self.screen_width - r) self.y_coordinate = randint(r, self.screen_height - r) self.x_velocity = randint(6, 12) self.y_velocity = randint(6, 12) self.color = self.generate_random_color() def generate_random_color(self): r = lambda: randint(0, 0xffff...