alice.py

Created by schraf

Created on October 29, 2021

5.23 KB

Alice découvre la Numworks et tombe au pays des…


from kandinsky import fill_rect

COUL = [(254,183,52),(54,54,54)]
img = b"zS#%#$#'(K#,'R#*#H#.'M#-#9d#2#-#'#$'C#,c#9#$#2#7'>#+#=#$#4#7'=#(#?#%#4#3'?#'#A#$#7#/#Eb&P#($##-#,d#<b#$d&J#)#5#%#F#)#'#'#%#%'0#*#3#&#I#&#'#0#:#'#$d&D#+#1#'#J#$#(#+d#(#%d#5c#%#)c#%&9#,#/#)#R#+#$#.#2#(d#%c#$#$#$d&6#/#+#+#Q#,#&#1#0#&#$#'d#&c&3#5#%#,#P#,c#&#1#.c#%#$#)d#'&3c#>#.d#C#.#'#.d#&#.c#$b#(d#%c&0#B#/#$#C#*#(#6#-#%d#+#$#&&,c#C#.#'#M#3d#(#$b#'#$d#&d#,&*#-d#=#&d#(#'#J#<b#%c#$#*#$#&d#&&)#J#&d#&#)#H#7#$#'#$#%c#$c#+d#*&)#-#$#7#$#'#&d#%#)#C#>#)d#%#$#$#*d#$d#$d#&&*#.b#$#$b#0#'#&c#+#A#?d#$#.#/d#&d#/%L#$#'#.#9#(#&#-#B#=#2#*d#=%G#&#'#-#9#*#$#.#A#<d#$#0#J#/d%4#)#%#-#9#7#C#8#6#K#,#(%.#.d#-#8#9#B#9#5#M#)#$d#'%+#5#&#$#9#8#C#:c#2#N#(#)%+#,#,d#&#$#7#9#C#4#$#'#3#O#&#*%(#*#$d#$#+#(#$#3d#%#7#F#0#)#$c#2#P#%#*%'#'#&#%d#$#%b#%d#&d#%d#$#F#G#.#+#&#2#Qd#*%-b#)#(#%d#&#K#J#*#)d#&#$#%d#0#Qd#+%'#'#$#'ad#$d#%d#'#H#L#'#(#0#1$$%'#(#%bd#)#'d#'#F#O#%#'#1#%#$#,$%#&#&$S#%d#&d#$#$#$c#$d#)d#'#D#X#3d#$#*d#$#'#$#T#'#(c#8d$:#&#%#%#$#$d#%#.#C#X#9c#$#$d#$d#'#$#S#)#%#$#(#2#&$3#*#%#$c#$#'#)d#'#B#W#?d#+#&#Q#0#)d#%#+#'$/c#+#(#&c#$d#/#B#U#K#(#O#$b#0d#$#)#'#'$*#$#$d#$#%#-#$b#&#0#B#P#Q#)#M#-d#-c#'#&#$d#$$*#*#%#'#'#'#$d#*#%#&#A#M#V#)#K#0#$#/d#%#)$%c#&d#&#$c#*#%d#&#$#*#%#'#?#J$&#)#I#4b#-#&#%#$#?d#1#'#)#*b#/d#(d#$#(#$c#'#>#H$,#'#H#=#$#$#'#D#'d#%#%#%#/#-#$#-#'b#(#%bd#&#=#G$.#(#F#@#)#A#6#$d#+#(d#9d#$d#,#&#=#E$0c#&#F#A#(#:c#5d#'c#+#$#%#&d#1#$#*d#)#(#=#C$4#'#D#A#)#&d#/b#$#8#2#(d#7#$ad#$#$d#%#$#&#=#B$5#(#C#@#+#%#$#(#+#%#'d#1#1#0#$#1c#$bd#$d#'c#$#<#A$9#&#B#A#)#%#4#&#'#&#.#2$8#?$;#&#B#@#)d#8#$#*#'#%#&d#1$:#=$@#%#?#A#(d#D#&#%#5$:#=%+#@#K#(#$#5$;#;%1#;#J#)#$#5$;#:%7#5#I#@$<#7%>#/#I#7d#+$<#6%E#)#H#B$<#5$5d$6b#G#9d#+$=#3&?#A$=#2&@#-d#4$>#1%X#%#?#,#$#3$?#/&##(#=#*#%#.d#&$?#-&##,#;d#$#&#)#(#&#&$?#+&$#,#;d#'b#'#&$K#($4#$c$E#-#<d#%#$#*b$K#'$/d#&#($B#/#=#%%$#$$5#($B#.$Id%/#*$B#+$M#(%(#*$A#*$Lbd#+$Pd#)#,$B#'$M#4$W#(#C#&#S#'$N#3d#$c$T#&#A#'#U#($L#5#%#$%?#)#T#)$K#4#&#%%=#+#R#*$3d#8#<%=#*c#R#)$0#)#4#8d#%%=#+#U#)#8d#$d#J#&#8#<%=#-#/#$#D#)$+#(d#$#5c#:%>#+#'#$c#(#$#D#)#7#'c#C#,#9#9%=#-d#,d#&#E#$d#%#7#$#$b#@#,#8c#:%<#/d#+#$c#$#Fd#:#$#%#$#>#*#<#$#%#8%=#.c#$#$#*#$$)#*#$d#8#*#>#6#$#&%@#+c$0c#%d#+d#$#7#+#?#4#$#'%A#,$0#5#5#+#A#$d#'d#*c#$#&%B#*$0#5#4#,#Cb#$c#$b#%#&#'%A#+c$-#5#$d#0#-#G#)d#.%C#*$.#9#.#-#Mc#&#$#)c%C#($/#8#&#%b#.#S#'d#'#&d%A#'$.#:d#5#X#(%K#%$,#L$(#$&W#K(+#I%;b%G#H#.#$%-#'#$#'%>#G#0d%0#&d#(%=#G#/d%6#'d#%%:#J#-d%8#$#&d%:#J#+#$%>d%;#K#+#$#4#$%'d%>#K#%d#$b#1#)%$d#.d%3#S#,#$d#*$)d#Dd#.d#/#$%5#*#$#Ac#'#7$D#&#%#&#*d#/#%%6#)#$d#$#Bd#8$)#$#>#3#*d#'#%$>#$#Nc#'d#$#$$$$'b#B#'b#2d#'$=d#Xd#%$%$&#&#Kb#$c#/%=d#&$&$$#(#Ld#)#$#%#'%A$%$&#)#Ld#.#%%B$(#X#+#Ld#.#%%A$'$##-#W#$%B$)#V#0#Bd#)d#-d%B$)#V#2#8#'#%#$c#&d#-d%B$(c#T#3#:#&d#(#%d%O$(#U#4#>#)c%P#*#$#U#T#4#?d#$d%T#)#+#O#S#5&?#(#-#N#S#4%)d$8#(#,#P#Q#5%)#$$7#(#,#O#R#5%(#&$6#(#+#Q#P#6%)#$$5#*#+#Q#P#6&;#-#*#Q#P#7&8#0#+#Q#P#7$N#$$;#2#,#Q#Q#6$N#%$2d#'#2#/#Pc#Q#6&)#4#4#R#S#4&$#3#:#Q#U#3&$d#%#$a#$#>#P#X#2$8#$$Ad#%#+#>#Oc$##0$Ub$#d#%#$ad#?#P$$#0$7b#=#$$$d#%#*#?#N$'#0$5d#>#&$$d#%#$ad#@#N$%#2$,#&#$d#$d#+d#4#$$%#.#?#N$'#2$+#&#1#$#3d$O#L$)#2$,#$#&#'#'#&%*#K$+#0$.#%d#)#'#%#*#&$T#N$)#.$*c#1#1#&$R#N$-#+#Kd#0c#9#2d$T#N$-#*#H#&bd#,#<%/#K$0#)#H#,#,#;%0#L$/#&#I#,c#*#<#I#$$?#G$4#$#H#.c#(#=#H#&$@c#?%)#0#)#=#H#($@#B%&#2#'#>#G#)$A#B%$#2b#A#E#)$D#B$X#4b#=d#$#E#'$E#D$W#1#(#?#B#*$E#F$T#1#(#=d#$#A#+$F#-d#;$S#0#*#;#C#,$F#*#%ad#8$Q#/#+#;#D#+$F#)#'d#*#6$P#.#*#<#D#+$G#'#4#5$N#-#(d#&#:#E#*$F#)#8#2$Gd#(#*#+d#$#:#E#*$G#(#>#.$D#%#)#%#-c#<#F#'$H#)#B#+$B#'#5c#=#F#&$J#(#E#)$=#+#-#%b#A#G#$$J#)#F#($9#0#,#G#Gd$L#(#F#)$/#$#%#4#*#I$Id#I#)#G#($0#8#)#J$H#&#H#(#F#*$/#4#*#M#&d$C#(#E#)#H#(#Pd#7#/#-#N$J#(#D#(#I#(#Nd#$#$#4#+#0#O#+#$#'d$;c#&#B#'#J#(#L#&#9#%c#2#Q#'d#)d$>#%d#$#@#'#J#(#I#(d#$#7d#%d#1#P#&#%d#$$2b#3#(#>#'#K#'#G#+#$d#8d#3#P#$d#'d$5#(#0#$d#%#<#'#K#'#G#+c#8d#*$&#'d#%b$-#/#.#'#;#'#L#%#G#+c#3d#$d#$d#)$%#$d#$#%#$c#$$/#3#*#%#;#&$@#/#%#%#*c#'#)$%#$#%b#$#'#%$)c#6c#A#'$>#9#&#*#&$(d#$#%#%#,#%$)#4#C#&$A#)#$d#&$A#%#$#)#$c$2#1#>#)$B#(c#(#%c#&$5#&d#(#'#5d$$c#)c#>#*$C#'d#$#,c$6bd#'#$#$d#*d#,d#+d#Kbd#%#(#$#$d#>#)#=#$$(#$#$d#+#$#$$8c#&#$#%d#%#$d#%d#$#&b#%d#*d#:c#7#Ec#,#8c#+$$#$#$b#$#%b$=d#$#'d#%d#+d#2#%#9#7#C#2#7#1$##$c#($C#*d#=#%#9b#$d#S#1#8#2$$$Xc#6#'#@#$#%#$#(a#>#0#8#6#Od#($U#)d#4#&#@d#$#%#$#+d#&$*#7#L#$#*$T#6d#&#'#7d#*#-d#)c$*#9#K#$#'%&#+#$c#(#(#6#$#/d#&d$3#:#(#%#?#$#(d#$%$#(#$#-#)#/#%#%#$#/#4c$$#:#%c#,#8#$#+%(#$d#)d#(#*#+#*d#$#.#9#W#<d#2#/#(#,%)#3#*#*#.#1aa#+#X#<#$#3#,d#%#$#.%*c#(#(d#+#)#-$E#<#$#6#(c#&#.%D#(#-#6c#$d#%#$#$#W#@#$#9#&d#0%G#'#-#&#9d#%#V#B#$#9#+#%#(%X#&#&d#$c#2#%#S#$#%c#=#$#:#+#$#'&##*d#6#$#+d#Jd#(#=#$#:#+#$b&$#*#+c#-#$#Sd#)#=#$#:#$c&/#)#3c#$#%#*d#K#%#'#=d&K#,c#5#*#)#'d#'d#8d#)#=#%&O#1#-#*#-c#%c#%#-d#+d#(#>d&X#1#&#)#1d#'#+d#.#$#%'B#)d#'#'#(#8#)d#)d#''R#$#'#(#9c#$d#&d#/'O#$#(#'#$#%#:c#%d#&#%#)'Md#)#+c#@c#+(##,c#%#$#;c#$((#1(F#'d#)(N#(csEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabd" 
w = 320
i = 0
x,y,c = 0,0,1

def taille(n):
 return  54 * (n[0] - 35) + n[1] - 34

def remplir(x,y,t,c):
    while t > 0:
        if x == w:
            x = 0
            y += 1
        d = min(t, w - x)
        fill_rect(x,y,d,1,c)
        x += d
        t -= d
    return x,y   

while i < len(img):
 v = img[i] 
 if 97 <= v <= 100:
    for _ in range([5,3,2,1][v-97]):
        x,y = remplir(x,y,1,COUL[c])
        c = 1 - c
    i += 1               
 else:   
    t = taille(img[i:i+2])
    i += 2
    x,y = remplir(x,y,t,COUL[c])
    c = 1-c