import tkinter as tk
import random
import time
def create_chaos_window():
# Создаем маленькое окно
win = tk.Tk()
# Генерируем случайный яркий цвет фона
color = f"#{random.randint(0, 0xFFFFFF):06x}"
win.configure(bg=color)
# Убираем рамки окна для большего хаоса
win.overrideredirect(True)
# Случайный размер окна
width = random.randint(100, 300)
height = random.randint(100, 300)
# Получаем размеры экрана
screen_width = win.winfo_screenwidth()
screen_height = win.winfo_screenheight()
# Случайные начальные координаты
x = random.randint(0, screen_width - width)
y = random.randint(0, screen_height - height)
win.geometry(f"{width}x{height}+{x}+{y}")
# Случайная скорость движения окна
dx = random.choice([-10, -5, 5, 10])
dy = random.choice([-10, -5, 5, 10])
def move():
nonlocal x, y, dx, dy
x += dx
y += dy
# Отскок от левой/правой границы экрана
if x <= 0 or x + width >= screen_width:
dx = -dx
# Отскок от верхней/нижней границы экрана
if y <= 0 or y + height >= screen_height:
dy = -dy
win.geometry(f"{width}x{height}+{x}+{y}")
win.after(10, move) # Движение каждые 10 миллисекунд
move()
return win
# Список для хранения всех окон
windows = []
print("Запуск хаоса! Чтобы остановить, нажмите Ctrl+C в терминале.")
try:
# Бесконечно создаем окна с небольшой паузой
while True:
# Ограничим максимальное количество окон, чтобы компьютер не завис намертво
if len(windows) < 50:
new_win = create_chaos_window()
windows.append(new_win)
# Обновляем все созданные окна
for w in windows:
w.update()
time.sleep(0.05)
except KeyboardInterrupt:
print("\nХаос остановлен.")