#!/usr/bin/env python3 import socket import random IP_ADDRESS = "2001:638:904:ffc9::2" PORT = 1234 W = 1920 H = 1080 s_w = 100 s_c = "BFFFD4" s_c2 = "FFBFEA" def color_to_tuple(color): return (int(color[0:2], 16), int(color[2:4], 16), int(color[4:6], 16)) def merge_tuple(a, b, o): return (o(a[0], b[0]),o(a[1], b[1]),o(a[2], b[2])) def tuple_to_color(tuple): return (str(hex(tuple[0]))[2:] + str(hex(tuple[1]))[2:] +str(hex(tuple[2]))[2:]).upper() from_c = color_to_tuple(s_c) to_c = color_to_tuple(s_c2) diff_c = merge_tuple(from_c, to_c, lambda a,b : (b-a) // s_w) print(from_c) colors = [] for i in range(s_w): c = merge_tuple(from_c, diff_c, lambda a,b: a + (b * i)) print(c) colors.append(tuple_to_color(c)) print(to_c) print(from_c, to_c, diff_c, colors) s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) s.connect((IP_ADDRESS, PORT)) x = W//2 y = H//2 d = 0 c = 0 while True: if c < 0: d = (d+random.randint(-1,1)) % 4 c = random.randint(80, 100) if d == 0: x += 0 y += -1 elif d == 1: x += 1 y += 0 elif d == 2: x += 0 y += 1 elif d == 3: x += -1 y += 0 x = x%W y = y%H for i in range(s_w): j = i - s_w//2 s.send("PX {} {} {}\n".format(x+j,y+j, colors[i]).encode("utf-8")) c -= 1