-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode
More file actions
78 lines (61 loc) · 2.79 KB
/
Copy pathcode
File metadata and controls
78 lines (61 loc) · 2.79 KB
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
74
75
76
77
78
add_library('pdf')
salvar_pdf = False
firstPress = 0 #variavel que guarda se o mouse foi pressionado a primeira vez
linhas = [] #lista de valores (vazio)
backgroundColor = 255
def setup():
size(1000, 1000) #tamanho do board
sorteio(5) #método que vai sortear onde as bolinhas vão ser plotadas
x = 1 #coordenada X (para o primeiro ponto da linha)
y = 1 #coordenada Y (para o primeiro ponto da linha)
x0 = 1 #coordenada X (para o segundo ponto da linha)
y0 = 1 #coordenada Y (para o segundo ponto da linha)
def sorteio(n): #método de sorteio onde vão ser plotadas as bolinhas
global pontos
pontos = [] #lista dos pontos a serem plotados
for i in range(n): #loop que vai plotar as bolinhas
margem = 50 #margem do board para que as bolinhas fiquem dentro dele
x = random(margem, width - margem)
y = random(margem, height - margem)
pontos.append((x, y)) #colocar um valor dentro da lista de pontos
def draw():
global salvar_pdf
if salvar_pdf: #salvar_pdf == True
beginRecord(PDF, "DotDotDot.pdf")
background(backgroundColor) #limpa o background para que a linha plotada nao deixe rastro
for x, y in pontos:
circle(x, y, 7) #plota as bolinhas
fill(0, 0, 0) #coloca preenchimento preto nas bolinhas
if firstPress == 1: #quando o mouse for pressionado a primeira vez
line(x0, y0, mouseX, mouseY) #desenha uma linha
for x1, y1, x2, y2 in linhas: #guarda as linhas que foram desenhadas na tela
line(x1, y1, x2, y2)
endRecord()
def mousePressed():
global firstPress, x0, y0
if firstPress == 0: #se o mouse nao tiver sido pressionado pela primeira vez
for x, y in pontos:
if dist(x, y, mouseX, mouseY) < 10: #veja a distancia entre a proxima bolinha
#para que nao seja possivel desenhar uma
#linha fora da bolinha
firstPress = 1
x0, y0 = x, y
return
if firstPress == 1: #mesma coisa de cima
for x, y in pontos:
if dist(x, y, mouseX, mouseY) < 10:
firstPress = 0
linhas.append((x0, y0, x, y)) #colocar um valor dentro da lista de linhas
def keyPressed():
if key == " ": #se o espaço for pressionado, novas bolinhas vao aparecer
global backgroundColor
backgroundColor = color(random(256), random(256), random(256))
background(backgroundColor)
print(backgroundColor)
sorteio(5)
if key == BACKSPACE: #se o delete for pressionado, as linhas anteriores irao ser deletadas
linhas[:] = []
#global linhas
#linhas = []
if key == SHIFT:
salvar_pdf = True