carte_de_france.py

Created by julien-bernon

Created on July 21, 2022

3.75 KB


from kandinsky import *
def ascii_to_nb(ch):
    nb=0
    puiss=0
    for c in ch:
        nb+=(ord(c)-48) << puiss
        puiss+=6
    return nb

def deRLE2_kandin(carte_compressee,width,height):
    couleur=[[255]*3,[0]*3]
    fill_rect(0,0,320,224,couleur[0])
    y=0
    while carte_compressee>0:
        courante=1 & carte_compressee
        carte_compressee >>= 1
        compteur=0
        while compteur<width:
            valeur=255 & carte_compressee
            carte_compressee >>=8
            for i in range(compteur,compteur+valeur):
                fill_rect(2*i,2*y,2,2,couleur[courante])
            courante=(not courante)*1
            compteur+=valeur
        y+=1
    return True
carte = 'X21R0e1440ALJP22PP08RC1L011<@04d3W28116HP04X7>5P26<@0m`Y0LPP0<07>5043D@0h`93F@03>@6>9P04X`0480124SV8H03>@054XP1BaB38@07XP11@P04@@:DZP6Z8012@PDDT13<042XP128@:2bP42h11H@036h4TT@44h`0=8031T01TP412H014h11R8P0@HP2DH062P4T8@12lP0B4025<@0:8`2:<P0HXT0<@074H01J@P72@11D@P18805X@92HP19\\017lP07H022<@118P11@1C4X016H114X038@P66X032`024hP02HP24@P0P`91H0168@12HP078@32HP08P0218P06`02>9044`Q0LHQ26XP1J@048P1180Q0LR078P31`P16X012lP08@`28D@01023T8P26H13F@P0>@P1<@P14`Q1@@P08h014@P02`P02P21@02@8013DP04PP22H`17D`32T@058`15H`01@07<H074PP7<HP38XP3@H084011<PP34XP148178@02LP03T`03D`0A4@074P05L@22L`068022T@134P11@@1H@04:8P6<@P88`P16@022@Q14XP02`02<@06<X018X18<022P@04\\P05\\`07<@02D@0:L0188`04<02280164@1?0Q0V8P24@P52@P08`01BH032@11J@03B@052@032X02@@214a098P248P058@23DP06H@34D`03DP24<P05@P2<`P08hP2B@052XP14H06>`012@P06X11>H0848P12803B0228@11\\032TP07D@31DP04<@12h@098`32<`06@P1@PP44@01J@P42HQ2B@P2@`02DHP42h11:@03@@01@@13`01:<`13\\P13HP12DP084024X`198@12H02>8P02HP74@11>HP62HP3R804D8P1DPP0B8P0<@03X`1?8P15PP0=8`124Q0:DP13L`0:@P11LP78X114H264011R8P74`01>@0628P188P38a17H@12@`02D`14P`0=<P33H012D0318P048P1T@Q14H11F@116015:8P74@Q2J0Q14`0C8@0;\\`0=DP12`P338P12hP09DP09L0=4@21H@P44X116X01@8P02@P74hP1>H06Xa01<@26`P0:4032LP09H0428@1:803fX054h11FHP16802@HP560R2J@P6da0;8@32h`2;4@33h@02<P23hP?6X03<@174HP2F806<@Q16@P4402OH@0>@`01<P02@@188P22\\P01D0124P05@@140Q?2HP3:@044H036@P54HQ0F803Fh0188P9ha058`13P@088P01`P0;4`22lP06@P01<1@4h11>8P48P11@P0368P1N804<H2Q8P32HP0:8@32D012`@42L01E@T0N8034@11L@022@112@P94h01^P83d@068`23`P01@P33``178`58Q054X01J@P148P4V@054@02<P17HR36<@2;@@018051X@05H@08@@0>XT38@046h026@058H01DP02>h0128Q22`1WD@13L`068@12d@01D@2:8P0=D`12dPC48P1<XP0Hh01HH01@H01:@022P11HHP5LR1:<P018P03<P11`P06LP01@P054032h@0;hT2H8P56`P1D@068X016P024XP0>@P16H1Y<@24XP09@P13hP068P18<P12L@3B9P4<811HhP06`11>80488012@01<HP02HP5T2174`24``2?8P12H`04<041\\0E:XP1B@P0:X02B8086X04>@08681ZH@12H016P`218A07D@27`P08@U04P024`01BP06:8016hP068P1:8P64@01F@04TR04X`02\\`0;@@09<`22T`22T`098518@014HP2H@P540Q2JXP02H01FHP2:@1Y4@12<P1?@@21`P0=<`01@@0;\\03B9032XP2NXP26X11H8P24HP2@XP06X1Y4`320Q11@P32X0148`11XP03<03@A074@01J@P1<XP24XP04PP1@8P32XP38P05Pb0>D033L`044@034`02T023L`01D`22T0D8`1268P02`P0D@P14HP1B@054@12HPP4P21>8@0:4`0:L`03X@0:8P23\\@1:0U2H@P4:@12BHP46011@P0248P12@P04H1X8@06LP0<4P23dP0:80218P05<01:8P0:h41>HP24@Q2@@P72812>8P08PP16@014`P1D`91XP01@`274`1?8@214`358@02XP01D`024PC2H13F@01@@01LX034@016PP1:8P2D8P2>80V8`34L`0<PP2;TP07D@32`0C2@26BP0368Q2LH044`12>@P0HB0>X011T`098P238P0<8022h0178@0:A074801B@P28P11@H14<`01BXP44@0U4`32d`2<80148P04<P12<@14D@064`06<`08AP74`1148024PQ3H@P18`P6@H016X0S<P01@`024@05d`068`25lP024`33h017@T<HHP28011PPP060R0N@03480P<0524@0;8@244`1=@@094`098033D011042V@P0:@03BhP08HP0BHP4HP01DHP28H0R@@42D017D@02T023DP31H`038P238016P41P@P34014FH01<8S3:hP0>X0TD032LP05H@13d01QXP04<@014@1:i0448118@P54PQ16IP06@028@P02X0ZD012\\P01@031d@0[@0144@05`54@h066HP5@QP268012@02l2128`118`198@0180224`93@016801\\QQ2:`P3@8PC4PP1B802\\D11HP21LR044`21@PW6h11<AP1:01160D38`06H@92<`01@P11<0Y8804DAP14PP1:8P1Xe0\\8`04@P038`0BD026PP12@02TX04@@114P048A1<@P28P09:P11PP048A1<P026P09:`12DP058A1@h030:'
nb=ascii_to_nb(carte)
deRLE2_kandin(nb,160,112)