1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
from pippy.gasp import * # import everything from pippy.gasp
import math # import math
class Mover:
def __init__(self):
self.speed = random_between(1,3)
self.direction = random_between(10,360)
self.rad = random_between(10,20)
self.color = (random_between(0,255),random_between(0,255),random_between(0,255))
self.x = random_between(self.rad,screen_size()[0]-self.rad)
self.y = random_between(self.rad,screen_size()[1]-self.rad)
self.shape = Circle((self.x,self.y),self.rad,color = self.color,filled = True)
self.move_x = math.cos(math.degrees(self.direction))*self.speed
self.move_y = math.sin(math.degrees(self.direction))*self.speed
def move(self):
self.x += self.move_x
self.y += self.move_y
self.keep_to_screen()
move_to(self.shape,(self.x,self.y))
def keep_to_screen(self):
if self.x < self.rad or self.x > screen_size()[0]-self.rad:
self.move_x = self.move_x * -1
if self.y < self.rad or self.y > screen_size()[1]-self.rad:
self.move_y = self.move_y * -1
num_movers = random_between(10,30)
movers = []
begin_graphics()
for i in range(num_movers):
movers.append(Mover())
set_speed(40)
while "enter" not in keys_pressed():
for mover in movers: mover.move()
update_when("next_tick")
end_graphics()
|