-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExplosion (Divided by 10).py
73 lines (51 loc) · 2 KB
/
Explosion (Divided by 10).py
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import random
import pygame
import pmma
pmma.init()
display = pmma.Display()
display.create()
events = pmma.Events()
draw = pmma.Draw(display)
seed = pmma.Perlin()
seedr = pmma.Perlin()
seedg = pmma.Perlin()
seedb = pmma.Perlin()
x = 0
N = 10
do_screen_clearing = 0
while pmma.Registry.running:
event_arr = events.handle(return_events=True)
for event in event_arr:
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
x += random.randint(100, 99999)
else:
do_screen_clearing += 1
if do_screen_clearing == 0:
display.clear(0, 0, 0)
if do_screen_clearing == 1:
window_size = display.get_size()
Surface = pygame.Surface(window_size).convert()
Surface.fill((0, 0, 0))
Surface.set_colorkey((0, 0, 0))
Surface2 = pygame.Surface(window_size)
Surface2.fill((0, 0, 0))
do_screen_clearing = do_screen_clearing % 3
for row in range(0, display.get_width(), N):
color = [
seedr.generate_2D_perlin_noise(x/100, row/1000, new_range=[0, 255]),
seedg.generate_2D_perlin_noise(x/100, row/1000, new_range=[0, 255]),
seedb.generate_2D_perlin_noise(x/100, row/1000, new_range=[0, 255])]
for column in range(0, display.get_height(), N):
r = display.get_width()/2 + int(row*seed.generate_2D_perlin_noise((row+x)/2000, column/2000))
c = display.get_height()/2 + int(column*seed.generate_2D_perlin_noise(column/2000, (row+x)/2000))
if do_screen_clearing == 1:
pygame.draw.circle(Surface, color, (int(r), int(c)), 1)
else:
draw.circle(color, (int(r), int(c)), 1) # 10 is a good size
x += 10.304891701056123
if do_screen_clearing == 1:
Surface2.set_alpha(10) # 10
display.blit(Surface2, (0, 0))
display.blit(Surface, (0, 0))
display.refresh()