Skip to content

Commit 9f4dfca

Browse files
authored
Add files via upload
1 parent 1804be0 commit 9f4dfca

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

Efecto Matrix/main.py

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
2+
from tkinter import Frame, Tk, Canvas
3+
from random import choice
4+
5+
class Matrix(Frame):
6+
def __init__(self, master):
7+
super().__init__(master)
8+
9+
self.canvas = Canvas(master, bg= 'black')
10+
self.canvas.place(relx=0, rely=0, relwidth=1, relheight=1)
11+
12+
13+
self.velocidad = [i for i in range(0,30,5)]
14+
self.pos = [i for i in range(-200,200,20)]
15+
self.letters = []
16+
self.green = 0
17+
self.caracteres = [
18+
"a", "k", "u", "u", "u", "И", "Ч",
19+
"b", "l", "v", "v", "v", "Ѳ", "Р",
20+
"c", "m", "w", "w", "w", "І", "С",
21+
"d", "n", "x", "x", "x", "К", "Т",
22+
"e", "o", "y", "y", "y", "Л", "Ѵ",
23+
"f", "p", "z", "z", "z", "М", "Ф",
24+
"g", "q", "1", "1", "1", "Н", "Х",
25+
"h", "r", "2", "2", "2", "Ѯ", "Ѱ",
26+
"i", "s", "3", "3", "3", "Ѻ", "Ѿ",
27+
"j", "t", "4", "4", "4", "П", "Ц",
28+
]
29+
30+
31+
self.draw()
32+
self.update()
33+
34+
def draw(self):
35+
for x in range(0,1600,20):
36+
y = choice(self.pos)
37+
for j in range(0, choice([180,220,280]),20):
38+
self.obj = self.canvas.create_text(20+x, -200+y+j, text= choice(self.caracteres),
39+
fill = 'green2', font= ('Arial', 14))
40+
self.letters.append(self.obj)
41+
42+
43+
def update(self):
44+
for letter in self.letters:
45+
v = choice(self.velocidad)
46+
self.green +=5
47+
color = '#{:02x}{:02x}{:02x}'.format(0,self.green,0)
48+
self.canvas.itemconfig(letter, fill=color)
49+
self.canvas.move(letter, 0, v)
50+
51+
y = self.canvas.coords(self.obj)
52+
53+
if self.green >=250:
54+
self.green = 0
55+
56+
if y[1] >=800:
57+
self.draw()
58+
if y[1]>= 1200:
59+
self.letters.clear()
60+
self.canvas.delete('all')
61+
62+
self.canvas.after(80, self.update)
63+
64+
65+
66+
67+
68+
if __name__ == '__main__':
69+
root = Tk()
70+
root.title('Matrix Animation')
71+
root.config(bg= 'black')
72+
root.attributes('-fullscreen', True)
73+
app = Matrix(root)
74+
app.mainloop()

0 commit comments

Comments
 (0)