carte2france.py
Created by
julien-bernon
Created on
July 21, 2022
5.74 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 ( i , y , 1 , 1 , couleur [ courante ])
courante = ( not courante ) * 1
compteur += valeur
y += 1
return True
carte = ' R]05UZ228@R4E1528AP>022T@09bc1F@0428AM:@32P@09Zc0NX028`@M6`36HP03L`Nj<0940Q28H0mdI0B<`14L@0jYc0XH142@?M6@72P@0jYc0j8P448?M6@76@P2aYc02I0640>M6@84`@0`Yc14@P=4`Q0PCW:Pa0=`@Ij<P360S1H@P46H<M:024DA1G8PHfd04Fh11 \\ @PaXY01@P21D`0>8P52d01C9C1:808<8P18X0;8@1148PYLI1E<@088@1<8P22TP01<`D \\ LP06PS?4PP42H01V2U3@`0N8@164P024@1=<01340ERT046H41Z8012@P2<H0Y \\ 82;@082TQ0=8PD<lP94041b@P62H:2FP61lQ0J4P36h4T:@62l@0?4831THPVPT01D@09821Q@@71TQ0DH0BBBP1:`P02APA4@06JhP;6031@RB1d`0O8@91L011D`1:Da0K40BBB064041<908Bh01X@P<@X02hAB2`P0P4P92@a0:4@52LQ01@@014@128`1343U2XQ1l8PC28T0Z@0;4hP1>8Q0>H5:9@33da06@`63hQ0E4062LP02<012``0YH91L8P14@342PP7>H01nH0:2031>0Q14`11@aB3dP2DL`16T`04D0820a2B<`12@P048@32PRV4P11>HQ38P01HH02:811n807:8P16XP74h116HP64h4>50320111HP13 \\ `2;4074``0=D@03TP0?8@12dP04808LB066801LH064X12NHP=6X11R0282XP1L@01<`P2T`C1dP1L8P33h01K<@32Ha028@030Q04<`34@023<04N:084`31jPP28H01LX066P31R@P22P442H03lD0A8P71dA02LP09 \\ P018`24dA0B<@03TQ0;<P0:4PW4021l80>4@222@014P02D@P?4@212H0<<0Q0H@P00U0?4P72P13?d@02T`0O<@434`0G8@0<`P018Z0FX0?6h21:@P0>@11J8P48X32RHP16HR1<H014P1140838`1U4P24TQ2G<@27D@1=<022lQ0B<@15l01H8P0lHP0:8012H0A4H11b@1<6h142@P76X01nH094@11P`P96@0D8@21`P0Q8P23d`08<`16@11=L`020111<`72@Q0;8048h013hP04PP0>@04J@0@4@Q1>hP0D`11RPP04P124`098841V@P68H21L@P2DP12<@14@P0?<`71 \\ P2<8P44h@04803<<a0Q<P42lP1>8@33HP0<02188P8601128P3:`01NH0B4h048@P6:XP0V@PA6821VXP54P11@X0K<042L@31<`14hP0T4P06 \\ P0;d`43011@4@42D1274031TP04H31PP018HP02PP04807N8PA>`11BHP44X21JP012X12RH0<<P01H8P4:`63<11>8@224Q0U8P43LP0:8@54HP158031801=@@76`P09DP36822T@P84011:H046HQ1`@094h01D@0;:@02D@P24@P1:HP56`S2J805bP41PB09<@0?H`01H0634a03@P22DQ02DP3<L@1:@043H`018@32X`12@184`41DPP248P04@P0H@01>P074HR06@064PR1h8078XP22@07FHP0L8P5<`01L@41HR0C8@16 \\ `03L@32<A1=4@51hQ0@P012D032@@12d@0;XP02HP:2`T0X@P;<XP0J@0:8X11X80?6hQ2>01;<8Q0F@178Q0RD@51HQ168`23LQ0;<@3:dA1<D`95LP0;X018@08:`S3X@P:4HQ1>X0<4PP16@P66@024H0?4hQ1:AP18PP0H019d032D@02lP0J4P51d015807<dP0<<@71011R8`128P0<l094`012XP1<8P06XP14@31Z@07BH31DH064P11j8P96041@PP6N`41DA11<@06 \\ Q0D<P45 \\ Q0;8P23d@0N4`430B0;4P388P04@21`P032P31V@0;:0S1H8P2>`Q2d8P94041F807LP0BL`62`Q0C4P66@Q0;`@03h@1ED`42la0;8@3@@044H12dPP=28R1b0166802J@064821VH0;:X02THP64P194`044P0=8P66H11@8P63<@17@@05`a0@8@46PQ024@058A0>8@3@@P148P2F@P?4`21V@0=4`P18`0B2821N@P18`R360116`P0L@P6P`158P02<01P8@52411K8`174`0T8P4ALP0G8`12@011@`01hP0=X254IP94@21fH086HT1ZP016X11 \\ 8P:<`Q0L@728@0O<0358P0C4`634Q0R8P71l`0@DP56d@0>`S2jH05:8P6@8P12H31RHPA2`S1L@0860316H054`1R<`63DP188`0CPa0C8P82lQ0=<043PQ058@21l0B4HP028P04@R5DH05:P02XP0::HS2nH074021b@P22@11L@9<0a0D8`48l02C<`620b0?L019TQ04@@22dPB8804N8P;4032@8P0:P01XhQ74h31 \\ H016X32:HP44X1U@`034@01D023Ha0K@@034`08H@43P@118P22hQ0HD@02XA248021h0C6PP62`P;2801h8Q668S140Q34802>@P74h31Xh03B`01LP=7 \\ Q1L8`42Ta098@034027<@33d11C8`02X`02P`3ZAPB6@S1V@P=60Q12PP2HP11lH096h11f@=2HR0J8@52 \\ Q0?8`34<P03<`73l`0AD06ZAP>F@31 \\ 8P<6021T0Q04841D`P:483dH`04<Q0R<P51PQ0A80574`0Q8P17HQ0Jh64ZPP?40S0`@P84@S2291>4@3n4P53lQ0HD`15<`1B<`624B01D073 \\ QM8031j@0>680628P04hR0hPP>4XP1b@P> \\ C1F8074h1114P14XQ0M8@72LP0E@P7nIP98@33jH046XS0dX0>4011Z8P@4d0:8@08dP33<073T02G4@638`014P53PP0E<080Z04@804@@P44`02`@P84h21`@02>@21Dh07884o8`06<@018@02TP2;<`11H`09LP43Ha0G8@23X`02@@34 \\ 01T`71<PP1<HQ1T@P32P03@@0<4hR0^@066P052@082HQ0>Q?1X`1?8P42L`138`11TQ0G4061d02:<P33T@0WX71JH088821PHP248S1 \\ @P;6`32JX032h4n<0830Q0A<011XQ0G8`53h11A8@11L2P6h31P80:2PP0d@P9<`R1n@P94HP1>A@3ha0?8`434P0J<@46d@028`05lQ0A@@03TRQ2h31N@0:8H31J`0288014@01FH41P@016@539P72hP0F8073XP18`@034P0W8`35`2R2h31JHP:4`31B@0:6H01BA086`549P72hP0E<@72TP0K8`934Q0^XX1h@P640S1f@P44PS0jH016HP1NH0GLd0J8@32T11I8`07dQ1HT`02l@0`8Y2 \\ @P64P31L@0448P1@A0;4`03P@04B`3=9@53d@0L<P13<04Z4P52TP0?HP06HP0M`Y2:XP04PP1J@P04`R9@@0168U0Z@P56PP1:HP068012@P44P3=5`08<@2?D054<P1E<0:1DQ0<<@068`038P01h@0LHY26X044H22TPP44XR28IP4D801NP01<8P24HP54P3<MP02XP0D8043 \\ P0I<023D11;8P014@024@02`A04@032`QW>P11T@086P11f@P1>XR04HP08H02<HP><0R1d@D6`@1?@P31d`0K4`044`0D8`0=H`0JD@52XQZ6h13BPP28@P2N@0=:XP1V@P58011bH0<803?=@12l023@@0>8P0@8@64P@378`22X@0J8072LQW:@P1ZHP04XP08HP38hQ0bHP6B0Q0D@P52@31j@0;lD038@02Pa0H8P31XQ0ED011 \\ @0;4`61dQ0Fh93480<4h22L8P04`R1b`P548Q1d@0780Q1^@D2401H4`54l01F8073dP0:@P23XP0>@P13T1Y:8S0^@P94@P0RH0?4XQ1H@04:h03F@018@01fPD5@a018P53<Q1><`720A0< \\ `02HP02@@03@P06D`6V:P9:802XHP<:HQ1n@P748238@P24P022@014h014@0=<E0D4`62hQ01H@13lQ0>8@43PP03<P25`01GH:2R@P<:P322`P0<h31J@P84@Q1280@2h2FAP32H1134@65L0138`73``0><0340B0G`:2NH0:6P04PH092842HPP2>hQ10IP:D52=<`41H`044`26@A0T8@35801D4@84<1Z48P14H066h12JX02<h2189086H01X@026P31T0E1<`02<`22h01A<@06XQ0T8`37HQ11D06341Z2XP148064PQ1VhP>:041X80=8X01`@P8@E07D@24`@0I8P634P028P03PP224P04@@1<4092HQ0BPZ0Bh036PQ0bHP<28026hP1>`P74PP3:@02h@P;4@2C9@23<@12H022Pa0I8P36`P064P01L@068P064@1H4@54<QY4@Q1:@P34XP1b@0<6024h8Q120Q1^@098X2C5`23DP08PP62LQ0I8P74D@098063 \\ P1HHZ0FH038`01nH0;4831l@P328Q0`0Q0>@P1``D1`P098P024P0OH`42XQ0K<022P@0J8P024P028P7V:064@15lX094H32`@0540126@094HP18H0>8U0P8@828P0<@072XA0;8@27811:8`6TBP?4H44B@0?6h22D@P72XR1@@P=8E0O<P82D`03PP72Da0>8P31HQ09<@6T:P?4HT1<h014`Q1F`0:2021L8084@02Dh0:4U0N<013dQ07<@12``01@@15<P038P250A0?40398Q0D8:1n@1=6021F@P18P012@024@P38HP94h11...4PP1:8P1Xe0 \\ 8`04@P038`0BD026PP12@02TX04@@114P048A1<@P28P09:P11PP048A1<P026P09:`12DP058A1@h030: '
nb = ascii_to_nb ( carte )
deRLE2_kandin ( nb , 320 , 224 )