vacs2024.py

Created by schraf

Created on July 05, 2024

5.93 KB


from kandinsky import fill_rect
from time import sleep

p = "#f8e4f0","#f01850","#1864b0","#9090b8","#181860","#680420","#f870b8","#303490"

def pal(*a): return [p[k] for k in a]

fill_rect(0,0,320,222,p[0])

def draw_image(rle, x0, y0, w, pal):
  i, x = 0, 0
  while i<len(rle):
    v = rle[i]
    mv = v & 7
    c = (v & 120) >> 3
    if v & 128:
      i += 1
      c |= rle[i] << 4
    c += 1
    while c:
      cw = min(c, w - x)
      fill_rect(x0 + x*4, y0, cw*4, 4, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and 4
    i += 1

p0 = p
i0 = b'\xa8\a!\xc8\x041\x90\4\32\3\x001\x80\x042\x041\xc8\3\5 B\4)\xc8\3\5\6\20R\5\31\6\xc8\3\r\bb\6\1\6\xd8\3\r\bb\xf0\3\r\0\3:\3\32\xf0\3\r\0:\b\32\3\xe8\3\r\x002\20"\xe8\3\r\x002\20\3\32\3\xe0\3\r\x002\30"\xe0\3\r\x002\30\3\22\3\xe0\3\r\x032\3\30\n\3\4\3\2\23\xb8\3\r:\3\30R\3\n\x90\3\r\x002(Z\4\5\t\x80\3\5\0\6"0%\4\3\f\2\f\xed\1\xb0\1\x0560\xcd\2\xb0\1\r6\xa8\1\rX\r\x80\2\r&\1\6\xa8\1\rX\r\x80\2\rvh\rX\r\x80\2\r\x8e\1P\rX\r\x80\2\r\x9e\1@\rX\r\x80\2\r\0\6\3\x86\1@\rP\25\x80\2\xfd\0\t&8\rP\25\xb0\2%\b\3\r\b&8\rP\25\xf0\2\r\20\36@\5P\25\xf8\2\5\20\368\rP\25\xf8\2\5\20&0\rX\r\xf8\2\5\20\3\x1e0\rX\r\xf8\2\5\20&0\rX\r\xf8\2\5\30\x1e0\rX\r\xf8\2\5\30\x1e0\rX\r\xf8\2\5\30\x1e0\rX\r\xf8\2\5\30\x1e0\rX\r\xf8\2\5\30\x1e0\rX\r\xf8\2\5\30\x1e0\rX\r\xf8\2\5 \6\t0\rX\r\xf8\2\5 \x110\rX\r\xf8\2\r\30\x110\rX\r\xf8\2\r\309\b\rX\r\x80\3\5\309\b\5`\r\xc8\5'
p1 = pal(0,1,3,2,6,4,5)
i1 = b"\xa8\a!\xa0\4\2\v\2\x001\x88\x043\4)\xf8\3C\5)\xc8\3\6\30K\r!\xc8\3\6\4\20K\r\31\4\xc8\3\16\b[\5\21\xd8\3\16\bc\2\xe8\3\16\0\2k\xe8\3\16\0C\0#\xe8\3\16\0;\b#\xe8\3\16\0;\20\33\xe8\3\16\x003\2\20\33\xe8\3\16\x003 \23\2\xe0\3\16\x003 \v\5\2\b\n\xc0\3\16\x003 \2K\2\v\2\x88\3\16\x003(c\5\6\t\xf8\2\6\0+\2(\26\5\6\5\6\5\3\5\3\r\xe6\1\xb0\1\x0640\xce\2\xb0\1\16,\xb0\1\16X\16\x80\2\16$\1\xb0\1\16X\16\x80\2\16t\2`\16X\16\x80\2\16\x94\1H\16X\16\x80\2\16\x9c\1@\16X\16\x80\2\16\2\x94\1@\16P\26\x80\2\xfe\x0048\16P\26\xb0\2&\b\2\16\b$8\16P\26\xf0\2\16\20\34@\6P\26\xf8\2\6\20$0\16P\26\xf8\2\6\20$0\16X\16\xf8\2\6\20$0\16X\16\xf8\2\6\20$0\16X\16\xf8\2\6\30\x1c0\16X\16\xf8\2\6\30\x1c0\16X\16\xf8\2\6\30\x1c0\16X\16\xf8\2\6\30\x1c0\16X\16\xf8\2\6\30\x1c0\16X\16\xf8\2\6\30$(\16X\16\xf8\2\6 \4\t0\16X\16\xf8\2\6 \x110\16X\16\xf8\2\16\30\x110\16X\16\xf8\2\16 1\b\16X\16\x80\3\6 1\b\6`\16\xc8\5"
p2 = pal(0,6,1,2,3,5)
i2 = b'\xc0\21\1\32\1\xf0\3\33\4(*\xb0\3\5 ; 2\xa8\3\5\1\20K\x182\xa8\3\r\bS\x182\xa8\3\r\0\4[\30"\xb0\3\25c\xf8\3\rs\xf0\3\rs\xf0\3\r\v\0[\xd0\3\3\4\v\r\xfb\0\xb0\x033\r\xfb\0\xa8\3;\rC\20#\b\24\x80\x033\r\v\4#\4\30[\xf0\2+\r\23\4\5#\34cH\4\3\5\4\5\4\5\4\xd8\1\4\33\r\4cM\4\xf5\1\xb0\1\r\0#\5+\xcd\2\xa8\1\1\r1\x93\1\20\r[\r\xf0\1\t\r9#\5s\r\33\f(\r\xa8\1Q\ri\v\24\5C\r\3\4H\r\x98\1a\r\x81\1(\5#\rX\r\x90\1i\r\x89\1P\rX\r\x90\1i\r\x91\1H\rP\25\x90\1i\xfd\0!H\rP\25\xa8\1\x81\1-\t\r!H\4\5P\25\xc8\1\x81\1\0\21\r)H\5P\25\xd0\1q(\5\0!@\rP\25\xe0\x011\4\1\4\t0\5\x0010\rX\r\xf8\2\5\0\4)0\rX\r\xf8\2\5\b1(\rX\r\xf8\2\5\20)(\rX\r\xf8\2\5\20Q\0\rX\r\xf8\2\5\20Y\rX\r\xf8\2\5\30Q\r\tH\r\xf8\2\5\30!\0!\r\tH\r\xf8\2\5(\1(\t\r\1P\r\xf8\2\5p\rX\r\xf8\2\5(\n0\rX\r\xf8\2\r \32 \rX\r\xf8\2\r *\20\rX\r\x80\3\5("\20\5`\r\xc8\5'
p3 = pal(0,5,3,2,6,7)
i3 = b"\xe8\33\t\xd8\3\2\23\2P)\xc0\x033@1\xb8\3C\x0209\x98\3\1\0[(9\x98\3\1c\2()\4\x98\3\1k0!\x90\3\v\1s0\4\1\x88\3\2\33\5s\x90\3\2[\5\xfb\0\xc8\2\3\2\x93\1\1\x83\1\xb8\2\xab\1\5\2#\5k\t\xe8\1\1\20\xab\1\r\xab\1\5\1\5\3\2\xb0\1\x110\2\x83\1\r\33\n\x93\1\21\r#\25#\2\30\tXS5\xcb\1\5K\r\1\5\1\3\5\v\2\5\n\3\2\20\4h\x035\1\r\xe3\1\5[\1C\b\\\2$E\xdb\1\5[\5C\b\x94\1E\xbb\2\5C\30\24\20l\5\2\1\2\f\n\5\xbb\1\5[\5+8\24\20$\2\4\x024\1,\0\5\v\5\v\5\xfb\0\5[\5\2\5\23H\f\2\b$8\fQ5c\5\33\2\xb0\1\24\30$\30t\t5S\r\xd8\1\f0\xb4\1E\33\2\x88\2\x140$ dE\2\xa8\2\24\xf8\0d\1D\2@\4\0\4\0\4 \1@\f(\x1c0\2\0\4(\xcc\2\1\20<0\2t\30T\2\4\2\xd4\1\1T@t\2 L\b\xcc\1\1T\xa8\1\x140,\1\xe4\1\1D\xc0\1\x140$\1\xa4\1\2\4\0$\1$\xe8\1\24H\4\1L\0\x84\1\0\1\x98\2\x1c0\f\1d(,\30\1\xa0\2\\\1\24\2 l(\1\xa8\2\2L\1X\34\1\34\x98\3\4\2\xa0\1\5\xa0\4\t\4\xe8\4\t\xe8\4\4\31\xe0\4\4\1\xe8\6"
p4 = pal(0,4,2,3,7,6)
i4 = b'\xf84\31\xd0\4)\xf0\2\n\3\22\3\x98\x011\xd0\2\3"\3\0\22\x88\19\xb0\2R\4\32\x80\1\x051\xf8\1\vB\0\3"\4"\3\20\3X)\xa0\1\18B\v\0\3:\1Z\3H\31\xa0\1\1(B\3\2\b\3J\4j\3H\t\x98\1\x010\xba\1\4r\3P\1X\21\20\18"\b\x82\1\4\3\xfa\0\b\v\32\4\21\xc8\1*\b\x82\1\4\xc2\1\f\2\3h\3\n\3" \xa2\1\3\4j\3\x8a\1\20\v\32\4J\0\5\30j\4"\4\xca\2\4R\25\3\b\xea\3\4R-\b\4"\4j\4R\3\2\4\x9a\2U4\5,\n\v\20$\32\3\0\3R\3\xba\1\35\0\x8d\1\3\25\3\30\xf2\1\3j\b\xad\1\0-\30j\4:\4\x9a\1\20\xc5\1\0=\34\x82\1\3(*\4"\3 \xa5\2,\32\3\0\3\4\2\xf8\0\1P\xfd\0\3\xdd\18\3\35H\1U\3U\0\xb5\3\1U\b\xe5\1\0\3\5\3\x9d\1\3\xbd\1 \xf5\1\3\x95\1\3\20\3\x95\1(\xad\1\b\xfd\2@\3\xfd\0\3\0-\0\xf5\2@\xb5\4H\xe5\1\3\x9d\1\3u\b\5P\xf5\1\0\x8d\2p\xed\3\3\5\x80\1\x8d\2\21\x95\1\3\xc0\1\x85\1\3\20\5\3E\21\x8d\1\xe8\x015\3\5\3p\3%\21\r\3=\3\x80\4\25\1%\3\5\xb0\4\35\3\xc0\1'
p5 = pal(0,1,2,3,6,4,7,5)
i5 = b'\xf8H)\xc8\x041\xc0\1\2\3\n\3\n\3\2\3\2\3\2\3\x80\2\x041\xc0\1\xca\1+\22\3\22\3\2\3\2\23\0\x041\xc0\1\xd2\4\3\2\23\x92\3\5\xea\4\25\xb2\5\v\x8a\6\6\xf2\4\6\5\16\xe2\1\3@\3\x9a\2\24\6\5\n\6\xba\4$\6\5\22\3\0\v"\6\xfa\2\5\0J4\5\6*\6\xfa\3D\26:\5\2\6\x82\2\6\2\5\16\5\6\5\6\5\6\5\6\2\6\n\6\22\26l\3L\a\5\6\5\16\n\6\x82\1\16\5\16\3\xa4\3.:6\5\6\xec\3\5N\5\16\5\x8c\3\1\xd4\4\1\xf4\b\1\x94\4\1\34\1\xa4\4\1\xac\1\1\xfc\2\1\xf4\2\1\24\1,\1l\1\xc4\2\1$\1\xbc\1\1\x9c\5\x114\1l\1\x9c\2\x014\1D\21\xfc\0\1<\1,\1\xe4\2)4\1\xbc\1\1\x9c\2\1D\1\xa4\2\1$\1$\1\xbc\3'
p6 = pal(0,6,1,2,3,5,7,4)
i6 = b'\x88D\1\2\xe0\4"\xc8\x042\xc0\1c\4\3\4\3\4\3\\\xf8\0:\xc0\1\x9b\2\4\33\4\v\34\35\1\n\xa8\1\f\x83\b\6\4\3\4\17\xf3\2\a\v\34\x183\aK\27\xeb\3\f\xd3\2\4\b\4\x83\5\0\xcb\4\1\26\33\0\a\xeb\1\f\20\x93\2\31\26\23\4\0\4\3\a\x83\x041\3\6\xb3\4A.\a\6\a\3\6\xdb\3Y\4\1\4\31\4\1\x1e3\a\4\3\a\x8b\1\4c\6\x036\3\16\xc9\1\26\a\xeb\1\16\4\xf9\2\a\16S\6K\16\xc1\3\36S\36\xf9\3\4\1F\a\xd9\'\22\xe9\4\22\xe9\4"\xf1\4\2\1\4\xc1\6'

while True:
 for i in 0,1,0,1,0,1,2,3,4,5,6,5,6,5,6,5,4,3,2,1:
  j = str(i)   
  draw_image(eval('i'+j), 0, 41, 80, eval('p'+j))
  sleep(.4)