super_dupont_11.py

Created by florian-allard

Created on January 11, 2022

8.92 KB


palette="""\x00\x42\x83\u39e7\x63\u39c7\x22\u2020\x62\u3041\x21\xa4\x20\xa3\u31a6\u3985\u0841\u39a6\u1082\x41\u1820\x82\u2965\u3964\u2124\u20c2\u3841\x01\u2104\u18c3\u39c6\u31c7\u1041\xc4\u2000\u3123\u2944\u3861\u1062\u0800\u2986\u20a2\u3840\u2841\u1000\u31a7\u2903\u0861\u1861\u1800\u10a2\u0862\u3103\u3965\u3944\u38a2\u20e3\u10a3\u08a3\u0821\u3923\u2144\u3082\u1904\u3185\u3881\u3144\u28e2\u1881\u0882\u3186\u2103\u1882\u39a5\u3943\u18e3\u1020\x85\x43\u18e4\xc5\u2800\u3165\u2125\u2061\u18a2\xa5\u28e3\u2081\u28a2\u2145\u3984\u3000\u30e2\u30c3\u3040\u3020\u2820\u0905\u0105\u3882\u2902\x64\u3924\u2985\u0840\u2966\u20a3\u18c2\u3820\u3061\u2945\u28a3\u2840\u3124\u20e4\u1125\u0926\u08c3\u3166\u2924\u2861\u08e5\u38c2\u10e4\u10c3\u1081\u1862\xe6\xa6\u3021\u2925\u18a3\u29a7\u3081\u10c5\x44\u38c3\u08c4\u08a4\u3862\u28a1\u2146\u1925\u0946\u1946\u1063\x66"""

dupont="""%%'%%%%%%%%%%%%'%%'%8%%%%%8%%%'%%'0].™%00%%0000™000%%0]0™00]0%%%]%]8%%]%%]%''''''''%%%%'%%%%%%%+$++++''%'%%%%%0'%%%%%%%0%%%0%0%%'%0%%%%]%%%%%8%%88%888%''''''''%%00-'%'%'+++''%'%0%%%%%%%0#'%$%0%%%%0%0%0%0%%%%%%%]%80]%%%08%%880%''%%'%''%'%6-++-0'6++%'+6+'%'%%00.$/00+%%%%%0%%%0%%%%%0]%%%0888%%%%8%8%88%'''''%%%%0%$6%--60.%/>+%$#++''$%++.-+$+6600%%%00%00%0%%000%0%%0%%%%]%%%8%80''''%%'%%%.6$0/-+%+-6+-+-$.+6$#6-%+#$---+...0.™0.0]0%00++00++88+++++V+%%88%%'''''%%%''$/6#>.%#-$666-+%--/>#$.'/6+//%.'+++'+6%++8]+%%+/6s-/s$6D.%%$8%88%''''+%%%''''-#+%$-+#//#/+%--6+--%-$$'%'+%#%y#+£-+£y%#'£sy>#.£--£'%†£†D$88]'+'''''++$+'%--6%+-6/-+%$+++‰+-p.%-%-$£yD+#/£y#'£-'s£%-%sr6#™\xb2J-v3k“Ž“6%%'+'''%$)$q$6#++6+$$'''+%-‰pppy-'¤y¤'##‰yy¤-#-Ÿ#Ÿ–/Ž\xafZL-ŸH=¬6wZISZUa=M©S%88'$'''$qppp‰>-$+$‰'#pyppq#$yp.pp>'ppy)##ŸŽ“–6/dž8d=hd‘=dU=Z|H5œMk|Z/6ža++%88%''%->‰‰‰pp«p‰-#p¤--y‰p¤-#qpppD]/rŽ“r/#Z=HH|8Hœ6ZwRd+k‡€HR-©|ZM¬w#3ZS'%+8]''''##'«‰«pp‰yq#>¤y#)ypyy##r“‘HhH=HH<6da\xa0=HU‡SRZCSZ®H|©a##Z|aMZR#{Z+++888%''$##>q«ax“x«¶>#$¤0#\x5cŽa“\xb5-Z=ddkRHkU=‡™‡{#adLdRSžI|=ddR,a‰wZaœIM©##Z©8888+8'''+###%€HMH|-aa#/ah‡MH‡\x5cH\xaf¤)#gZ'+d°IZ\xb5+d||‡.wd8‘M|%/aHaZxZw-¬x$V<V%%88+%''+%-#3žMMZ5RZZ/VH,h‡aU‘H<=a®\x5c#wZr‡‡6SdDŽdVwHŸHœRZL%.%5aH§+xV8%+%6#+%8888%'''%'#LH=z]##5Ha#h‡œhZL$d‘UHMH€#LHMZR#|‡z=Žo¢aHa+5+.%.%+666/+/#//#-%%%8%+%''$''+©MZy«##¡da#5‡œIZrŽd5IHar$#‘‡Za$#Z=HLCNgLS3$+D®%.6#/#/-+6++%%%%%%%+8%%''$$$|=M“¤q#5d|#5dLC‡==z/wHa¶q3H|\x5cdž]ŽLxSƒ,,„*‚M”o+.D.'%%0000.0%%%%%'%%%8%''%6)‰+žMMža#CZa#k‡SIH=“-#|HŽœah¬{TL{Sw*ƒ‚NNN,,NN,‚„o+.D...0%%%%%%%%%%%+'8%'+%+#y‰3€‡dxVH-wZ¡CHŽ*T#aHddLCxwƒ„*‚‚,¥,,,,,NNNNN,M„^%D.%.%%%%%%%%%%%+%+%'''+#$¤>/@Zd[=“pLH5S‡kt‚CLk¢*‚ƒ¥,,,N,,,,,,,,,,,,,NN‘ME$D.%0%%0%%%%%%%'%88'''%##y«##\xa0HM›Hz=dhLC„„N7*ƒ‚ƒ‚,¥ƒ¥ƒƒƒ¥‚‚,,,,,,,,,,,N,Mƒ-.D%%%%%%%%%'%%%%%'''%$#“a+6Ž=HUUdMHŽo¢S*,N,,‚,„ttt„,‘œ‘‘Hƒƒƒ‚,,,,,,‚,,,N,O.D%%%%%%%%%%%%%%''''+6dMZžMM€6okŽxSƒt„NNNN„t,f•uui11(&`G•Šaƒƒ,,,,,,,,¥N,MO0D0%%%%'%%%%%%]q+'''+€H=MHh7„77EtN”N„N„t¥fe1BB11((B1jhBB}B4•‘‘,,,,,,,,,MT.D%.%%%'%%%%%%+$++''+\x5cxL\x5c6T‚*”„N””NN„ttW1B11ci(1c99‹’(99šbK&&uaƒ=,,,,,,,,MO..%%%%0%%%%'%+++'+''$$‰>TN**NN*”NNtfi\xa8icii1B9;?;9?@R##51?–B&&e‚,,,,,,,,,MJD.%%%%%%%%%%+q+'''''.$T„***N*””NtteKK9cic1(G5R3/#######3i9–?P&4a,=,,,,,,=6D%.%0%%%%%%+$$+'''''J„*w****N”tN‹\xa899ci‹ABj33^-^^333/####@’;–1&&Š‚,,,,,,,=t$D.%%%%'%'%$$$$$$'%>t****N””„t|KK9‹c‹cA15/353###33########9?G&B&uM=,,,,,,M7..%.%.%%%]$$$$$$'+T„*****”NE{K‹G‹‹‹c1B5/R3###^IV/######v9Bni&((&šM,=,,,,‘M3D%%.00%%%$$$$$++Œ”*******E{‹9Gcc9ci1@R3###35\x5cI########@&&?B(((B&uM=,,,,,=t'D.%0%.%%$++$$')E******”Et99GG99ccc;5I##3\x5c@5/#######3?9(&u1&((((&=,,=,,,M^s..%%0%%'+$$+'Jt**7****EQ};G9‹99c9\x5c\x5c335§@I########3n@//ru1&(A(((&a==,,=,=t'D...0%0''$$'$7*******EL‹jG999‹cG@\x5c5V5\x5c\x5c\xb5############/##K&&&((((&(M==,,=,M3y...0%.''$$$^E******E*``Q`GG‹1G5h\xb5V555I###########?99?\x5ci((P(&&&(&Š===,,‚=*‰D...%%+$$+$OE******E[9j`GGG1jR3##-#/-#######35I#U&r#i;;1i1199(&((,\xaf=====$s.....+$$'6T******E*``G;GGcj#############R[››Xe#/&(/J§\x5c33In19?(&&Š=======oD..0..$$+'ŒE******T<`?QGGG95############3•›[G<Œ##@&¦Œh’####@&1?&((MM==,=,=t.D....+$$$OE777***E?`j`G;jjj666///#///R3//LC#//53[&&[Cš#-##1&U?&&&¬====,='s....$$$-T*777*7Ew`;``;j@@\xa0%]]0%]Us3{Qc[S_f^zG;2[;&[uI##/1i$5&P1(uM===MCs.D..+$$-7***7**EL`jjjjn@nh888+e—s^a:Xz|lf^zŠ2&f5B29##-(;>#?Bii((ua,MHo.D...+$$-E7*****En`;;G;;;b8]8-jlŠ­†%wY4efžoRQ:(YO9(@5#R1\x5c#hu144124&&&&2‚E.D..D$$$J*77***E*;`;;;GGcb0†8›:e2—DDI¬eJa2•_gCX€#›&^#VC#;u[5+%]%%]\x5c\xa0?9&&Š*)yD..+$$JE77777**`;;;`GGcb.6G&2P&9..\xa0_z/L2_7^3:F^x136±3/b@+$Ds†˜3˜†sD%%Vb1&}%q.D$$$J*7777*Ewbj;`;GGc­8Ul444&uq'%Šg6-#J#-#k<@&;#a/6]6%˜3†˜…D.D…˜3˜†%6U4&vq'$$$O*77**7Eg`;;;;99G™6<YŠX41n?))zQ#oLC<|L3Œ(&/.66++˜3†.+-#-UR#6™…˜…˜%#[&&Ÿ$$$O**7**7EL`?;;GG;n86SWY:2j}K\x5c-#c2Ow{°LCC1&Œ+]-V®3D$6#J¢C5;š9Œ##]˜††……+/u&$$>J*7T7**E{`?;;G;jn8$gfY›}Br<u[U2f?uG<#4&3#+$'ss6#§@WeX2eQC&?##-­………˜0-–$$)OE777**Eg`?;``?j@8+xf{<¦P&b#_:c[Y4&&:x(R#$hV]™5C}vF4A42A&u#?&(3##+…˜†6$)$OE7***7Ew`;;G;?[@86hf{g1(&UO_€mG<<o€g[5#-z222Y–\xa8LY4(4424&:o§&(###/™…—…$)$JE**7**Tw;?;`;jjn]+3L<k((&5{___mz<[#//##ŒF_Yl¦?&n|Y24((A4&A2o@&;####­……—$$qJ***7**E*;`;;;?n[h6“Sg–(&&@°__X__:&;###/€_F:•vB(¡€Y:4A(A(&(4mJš&#####™…—'$'/E**7***Ej`;;`??@V<LSC?&(&n{WF22ŠXX2e[Q44i42¦1&{_W:24AA(&&A~{I&?#####™—$$'-T**7***EL`?GG}\xa05zSIS^;((&?{QWYX44_W~l42c14eK&(rfF€_Y2A4AAAAYf3(&/#####™$$')T***77*Ew`?;`VŒY&3#C3¦B&&vSWWe•42WWŠY:eXcX9B&PL€W€WY2444AA4:J;&\x5c######$$$$O****77*Ej}’Ro:A4Q##I1&(&BfQ•F2F<WFeeX42•K&&K[WW€ŠXlA44A4XFo5&?######$$$'^E*77*7*E<9h/Y44mY5#/(&(&&vgzWF2<LQWeecX:9&&&Q__FFŠ:444AA42_k-&9######$$$'6TE777**E7\x5c/f24:mYWJ#i&((&(§LQW:xS<QeWW•GB&&(QYŠ_ŠY:2224442_L#š1######$$$$$O*7*7*7TOJ5X4Am:FC#;&&((&1k°FF¡C<QQW›e1&((&9•2::Š:Š:XXX:X:_k#u&######$$$$q^E77*7TOJ#<4(2FF_<C#n&&((&&K<f<^C{<zzcB&&((&9ulXXXY::XX::::€k#1&n#####$$$$'$T*77TOO#J•(4YXXWII#hB(&((&&K;[R¢k9B&&((((&’uA444XX::::::Y<#§&&&/####$$$$$$#E7TTOJ#[&4mW4~kC¢3/9P(&(((&BK9\xa8P(&&&(&((((vuA4XX::::::::m°J(&&&9####+$$$$$)T*TO##V@’2fX:z3CI3#\x5cK1P((&(:ZE“X&&((((((((vG2Y:{/Wl2222l4l<’&&&&R###$$$$$$qJEO3jR3@U@›FQ¢ICC^53U‹K1B(žœoSOƒ&((((A((&±[_Wg/#W244AA&&&:S1&&&;###$$$$$$')J#G&:U&?#@<xCC/Rh5V3Vv}K›tŒ\xb2BhJt2&A((((((Pvx^^#Œm:2AAA&&&l€3(&&1###$)$$$$)-/geW2U/^/hC5RRVVV$@@-\x5c`5OC]s\xa0hOŽ&(((((((šKbII#-_:X24A&&&2mO@&&&3##$)$$$)#CQ5#kFQR#-#-JO@nhRV6\x5cK;\x5cU3#I6#V}#3(P1B(B1P199?5-#Q::X4AA&A2Yg3&&&3#/$$$$-#Œ:X[QQY[3/#/7E75UhV-i1}PP›T[r+\xa0?oJ@91P1B1K‹}\x5c^###5Y:22l4A42mCC(&&-##$$$)-#Q&lllF3Qx#//T**7OOV631&i’BP\xafwh?5w‘ŽbU\x5c@rbb@V^^^3###<Y:X2222mLok(&&R##$)-/#Œ2Yˆ{W<<3#C/T”**7TJJ/VP(&(1BzE‘©N,“(&1vr@@–br\xa0n?5/V##[_mmYm_fIIoi&(–##$->###3Sg5Y<Œ¡VT**TTOJJ#5BP(&&&B[aœ“G&&(&&&&&(1KKKr55#--L<ff<gSkLS&?/#$)->###Fll~m[W<ŒIT**TTOJJ#RPP((&&&&11&&&(((((&(B1(Bb@B\xa0#35-#CkgkkkLLLg[(un#$>>###/Qjg¡CQeg¡O*77TOOJJ#]KK1&&((&&&(((((&&&&&&&K&@#vr3###3SCSg<ˆ<<{[&(/$->>####/ˆˆˆLUF5J**7TOJ###+@9’KP&(&&(&&(((&&&&&(&K&n#vP@#^^##5S<e24A~Fg–&@$)->####/<ˆ<ŒS<$$/E*TOJ###-'?;vK(&(&&&&&&&&((((&1r&b#?K@-UI###z~2A(&&Almoi9$)>########CLC>)qq-OTOJ###$.+b[KB&&&&&&&&&(&((&b1}#?53nn#>>[~2l(&&&Alm3§9$$)-#####>>6))$$$$')#JJ###/q%h[BKP&&(((&(&&(&&1K9Cn@'®I/$>[~:4A&&AA2FFC§?$$$->####--)$$$$$$$$)-#####—s$.'?P(&&&&&&&&&&&(K`]]]VV$)')5~:l(&&AA4mˆfJ–r))$))->#-)$$$$$$$$$$)--####j\xb4q$''Ÿ\xb4—\xb2\xb4±\xa8\xb2ŸŸ­%%'%'$I—D$D%6F~2(&&AA2mW€¢#›n$-)$$$))$$$$$$$$$$$$)->>#>#Œ&\xb4'$''''q$q''‰.%%0.DDDD?b†0%%>5~2AA2A4:Fˆz<VIR#$>-$$))$)$$)$$$$$$$$)-->>#>#;&®'.sDD.0...ss†˜†…˜……†%$-#f2AA42:eFQˆ[¢^I##$))-))))$)$))$$$$$$$$->>####/š&Bv…DDss†DDDsŸ™00­.††sb336I~l4llceFF<ˆ<33###$$)$)$$)))$$$$$$$$$$$->>>##>#O•BB1—sDDDsD5:2ceYe\x5cŸ@nh63:22222GQF<<<C5/###$))q$$)))$$)$$$$$$$$$$-->##>##E|9\xa8\xa8(1±\xb2————e€_22m~WRr\xa0UkQ4422eFFQ<<II3####$)$))$$$))$)$$$$$$$$$$)->##>#OoOEz1PP(&&&4FmSC{f__A›6hˆFGu22QQW<<<3I3#####$$)-)$$$$$))$$))))$$$$)->>>#-@oOJTN•iBBB&zo<<##/{mll<<ˆgFˆYmQˆx<<C53######$)))))$$$))$$)$))$$$$$$-->>#5&bOSo7*Nuš&B[mfC##L:42l~2A<~ˆˆ<kxkCI^#######q))$$$$)$$$$)))$$$)$$$$)>>##r?&UOo7œ*t¥\xafžW<F:2QWF4442242mkQkSSxIR#########$))$)$)$$))))$)$$$)$)$)->##;&b?1R?¡T*œw*¥*Fg:&AAc4l~~Y~mffjn¡C53/##########$$$)))))))))$$$$$$$$))--##}&\xa8&@‹b\x5cbr¢TE*œoxF¡F~:22~:e_ˆF<[@v5/#############q))))))))$$$$)$$$$$$$))##}&1B&(\x5cK@\x5c}KK?L*SCLFg_mYFFF_Fˆzx’b###############$)))))-$))$$$$$$$$$$)>##v(11(1(v@1?@1&&BP–ogfFSjfWWFFQ<LS^R################$))))))))$)))$$$$q$->##?&11PB(?PU}&b91U?1B¡SgfQ<QQfxgS3J#####/##/##########))$))--)$))$$$$$q$>$6#@&1P4(B1}r93((š’b?@KKCg<<<C3J######/#/#####/#########$-$)))6)))$$$$$$$>#@6V&P14(1&ii–b5@&199¦h¦9K^goJ^^Irr@@U55IVV##-/-/########)))))))))$$$$$$$>>\x5cV#BB1(PPPi(¦9nbR}11v?š’U@;IRU?9;?@UUUU55I33^-#3/########)-))))))$$$$)$)-#^\x5c#&1P1P1iKš9?’@IR}K((&v#5&nbB¦U55U\x5c@\x5c@\x5c55I^-#^R#########$-$$$$$$$$$$$$$>>>#b&P(PPPPi1š9v?bU35K’?’?/9@b1\x5c3@;}9K9v?rn\x5c5IVV55#########"""

from kandinsky import set_pixel

l,c=100,75
coeff=4

def decodage6(etape1):
      #etape1=dupont[c*ligne+colonne]
      etape2=ord(etape1)-35
      etape3=ord(palette[etape2])
      etape4=(etape3>>11,(etape3>>5)%64,etape3%32)
      set_pixel(colonne,ligne,((8*coeff)*etape4[0],(4*coeff)*etape4[1],(8*coeff)*etape4[2]))

#decodage2
for ligne in range(l):
  for colonne in range(c):
    etape1=dupont[c*ligne+colonne]
    #etape1=(dupont[2*c*ligne+colonne],dupont[2*c*ligne+colonne+1])
    couleur=decodage6(etape1)