compressed + slightly optimized https://my.numworks.com/python/alban-scientifique/minecraft
from kandinsky import fill_rect as F,set_pixel as S from ion import keydown as K from random import randint as R def create_map(block_map,block_mapping,map_id,x_start,y_start,rPos,hori,verti): if rPos==4:F(0,0,320,222,(241,49,64));F(106,97,106,2,"w");F(106,97,2,18,"w");F(212,97,2,18,"w");F(106,113,108,2,"w");right=0;left=0;up,down=0,0;yr_start=0;yr_end=11;yr_pas=1;xr_start=0;xr_end=11;xr_pas=1 elif rPos==3:right,left=1,0;yr_start=0;yr_end=11;yr_pas=1;xr_start=8-abs(hori);xr_end=11;xr_pas=1 elif rPos==0:right,left=0,1;yr_start=0;yr_end=11;yr_pas=1;xr_start=0;xr_end=-9+hori;xr_pas=1 elif rPos==1:up,down=1,0;right,left=0,0;yr_start=0;yr_end=11;yr_pas=1;xr_start=8-abs(hori);xr_end=11;xr_pas=1 elif rPos==2:up,down=0,2;right,left=0,0;yr_start=0;yr_end=11;yr_pas=1;xr_start=0;xr_end=-9+hori;xr_pas=1 for z in range(12): for y in range(yr_start,yr_end,yr_pas): co_x=x_start+y*16;co_y=y_start-y*8+z*16 for x in range(xr_start+y*right,xr_end+y*left,xr_pas): val=x+y*12+144*z if rPos==4:loading=int((val)/17.28);F(110,101,loading,10,"w") co_x_apres=(co_x-x*16);co_y_apres=-(co_y-x*8);block=block_mapping[(int(block_map[val]))] for cle,valeur in enumerate(block_mapping): if valeur==block:key_block=cle if block=='Air':continue for i in range(len(map_id)): if map_id[i][0]==(co_x_apres,co_y_apres)and map_id[i][3]<(val):map_id[i][1]=key_block;map_id[i][2]=1;map_id[i][3]=val elif map_id[i][0]==(co_x_apres+16,co_y_apres)and map_id[i][3]<(val):map_id[i][1]=key_block;map_id[i][2]=2;map_id[i][3]=val elif map_id[i][0]==(co_x_apres,co_y_apres+8)and map_id[i][3]<(val):map_id[i][1]=key_block;map_id[i][2]=3;map_id[i][3]=val elif map_id[i][0]==(co_x_apres+16,co_y_apres+8)and map_id[i][3]<(val):map_id[i][1]=key_block;map_id[i][2]=4;map_id[i][3]=val elif map_id[i][0]==(co_x_apres,co_y_apres+16)and map_id[i][3]<(val):map_id[i][1]=key_block;map_id[i][2]=5;map_id[i][3]=val elif map_id[i][0]==(co_x_apres+16,co_y_apres+16)and map_id[i][3]<(val):map_id[i][1]=key_block;map_id[i][2]=6;map_id[i][3]=val;break return map_id def dMap(map_id,block_mapping): for i in range(len(map_id)): w=0;w3=3+w;id=map_id[i][2];mx,my=map_id[i][0] if id==1: a=16 for y in range(8): a-=2;cx,cy=mx+15,my+y+8 for x in range(a):S(cx-x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][y+8][-x+15]][w:w3]) for y in range(8): a+=2;cx,cy=mx+15,my+y for x in range(a):S(cx-x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][y][-x+15]][w:w3]) elif id==2: a=0 for y in range(8): a+=2;cy=my+y for x in range(a):S(mx+x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][y][x+16]][w:w3]) for y in range(8): a-=2;cy=my+y+8;dy=y+8 for x in range(a):S(mx+x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][x+16]][w:w3]) elif id==3: a=0 for y in range(8): a+=2;cy=my+y;dy=y+8 for x in range(a):S(mx+x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][x]][w:w3]) for y in range(8): a-=2;cy=my+y+8;dy=y+16 for x in range(a):S(mx+x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][x]][w:w3]) elif id==4: a=16 for y in range(8): a-=2;cx,cy=mx+15,my+y+8;dy=y+16 for x in range(a):S(cx-x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][-x+31]][w:w3]) for y in range(8): a+=2;cx,cy=mx+15,my+y;dy=y+8 for x in range(a):S(cx-x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][-x+31]][w:w3]) elif id==5: a=16 for y in range(8): a-=2;cx,cy=mx+15,my+y+8;dy=y+24 for x in range(a):S(cx-x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][-x+15]][w:w3]) for y in range(8): a+=2;cx,cy=mx+15,my+y;dy=y+16 for x in range(a):S(cx-x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][-x+15]][w:w3]) elif id==6: a=0 for y in range(8): a+=2;cy=my+y;dy=y+16 for x in range(a):S(mx+x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][x+16]][w:w3]) for y in range(8): a-=2;cy=my+y+8;dy=y+24 for x in range(a):S(mx+x,cy,block_mapping[map_id[i][1]][0][block_mapping[map_id[i][1]][1][dy][x+16]][w:w3]) def create_Map_id(): id=[];Map_y=-16 for y in range(22): Map_y+=8;Map_x=-16 for x in range(20):Map_x+=16;id.append([(Map_x,Map_y),"A",0,0]) return id block_id=('Air', ({'A':(0,)*4,'B':(68,104,58,255),'C':(79,121,68,255),'D':(88,135,76,255),'E':(58,90,49,255),'F':(63,96,52,255),'G':(74,111,63,255),'H':(32,49,28,255),'I':(42,57,38,255),'J':(41,28,17,255),'K':(80,54,37,255),'L':(56,39,25,255),'M':(148,106,73,255),'N':(106,)*3+(255,),'O':(120,84,56,255),'P':(183,131,91,255),'Q':(28,44,23,255),'R':(115,87,67,255),'S':(133,)*3+(255,)}, ('AAAAAAAAAAAAAABBCCAAAAAAAAAAAAAA', 'AAAAAAAAAAAABBDDCCDDAAAAAAAAAAAA', 'AAAAAAAAAABCCDEBEBCFFCAAAAAAAAAA', 'AAAAAAAABBBCCGEGCBBCCEBCAAAAAAAA', 'AAAAAABBEBDEEBBFECBDDDCBBBAAAAAA', 'AAAACCEBBCBEEBBDDBCCCBCCCGCCAAAA', 'AABFFCBCCBBBBDBCCEEBBBBEEFBEECAA', 'BBBCCCCEEBCEEBBCCCBFFBEFFBBBBBBB', 'CECCCCCDDFCBBCCBBEEBBBCBBFFCCBDH', 'CBBBBEEBBBBBBBBBBBBCCEEBBGGBBIHH', 'BBBCCBBBBBBBBCCBBEEEEBBGGBBHHIIJ', 'KKFDDBCEEECCCEECCBBCCBEBBHIHHJHL', 'MNKCCKCBBBBBBBEBBCCCCCBHHHIIILJL', 'OOPBBKBEDCBBBBCEEDBBBBIQIHHJJLJK', 'PKPKKKKKCBCDDEDBBCBHHHIJIJHIILLK', 'OOMOOMOKECCCCECBEHHHHJHJQJJJJLLK', 'OOPMMOOKKKBOOEBBIJIJJJLJJLKKKLJK', 'OMMOOMOPPOKOOKKKHIJKKKJKKJKLLLLL', 'MMOOOMOOMOOOOMKOJLKKKKLLKKKLLKIJ', 'OOPPPKKKOKPOOOOOKJKLLLLJLLLJJKLK', 'OKMMMOPOOMMOOMOPLLLKKKLJLKKLLJKK', 'MMOMMPOMOOMOOOMMKLKKKKJLJKKLLLKK', 'MOORRMPMKPOPPOKMLLLLLJKKILLJJLKJ', 'OOPOOOMONMPMMPOOKKJKKLLKLJKKKLLL', 'AAMMMKOMOOMKKMSMLKLKKKKLLKLLLKAA', 'AAAAOOSKOKOOOMOOLLLLLKKKKKLLAAAA', 'AAAAAAOOPPPOOOPKKJKLLLLJKKAAAAAA', 'AAAAAAAAMMOOOPPPLJLKKJILAAAAAAAA', 'AAAAAAAAAAOMMOMMLKJKKLAAAAAAAAAA', 'AAAAAAAAAAAAMMMMKLKKAAAAAAAAAAAA', 'AAAAAAAAAAAAAAOKKLAAAAAAAAAAAAAA')), ({'A':(0,)*4,'B':(48,48,48,255),'C':(86,86,86,255),'D':(98,98,98,255),'E':(39,39,39,255),'F':(149,)*3+(255,),'G':(19,19,19,255),'H':(71,71,71,255)}, ('AAAAAAAAAAAAAABBBBAAAAAAAAAAAAAA', 'AAAAAAAAAAAACCCCBBBBAAAAAAAAAAAA', 'AAAAAAAAAABBBDBBCEDBBCCAAAAAAAAA', 'AAAAAAAACEBEEBDFBCCFFFFCAAAAAAAA', 'AAAAAAFFFDBFFDBCDBCBBFBFDDAAAAAA', 'AAAAEEBFBFFCCBFCCBBCCFBBDCBBAAAA', 'AAFCCBFDDBBDDFBDDBBCCBCBBDFBBBAA', 'CCBFFBBDDFFCCDFBBDFCCCBCCBBDDDBB', 'CCBBBCCBBCFBBBBCCCCFFDBBBDDEEBBE', 'BBBBBFFEEFFFFBBBBBBCCCCCCBBCCGGG', 'DCEBBDDDDBBBBCCFFBBCCCCFFBBGGHEG', 'CCCDDCFBBBBCCCCBBBBBBFFCCHEEEGGE', 'BBBCCFFCDFBCCECBBCFDDBCEEEHGGEHG', 'BDFBBCBBFFFEEBBDDBCEEDHGHGGEEGGG', 'EEFFFBCFBDCBBBBDDDCGGEHHGEGGGGEH', 'CBBCCDBCFBFFFBBEDGEGGHGEHGGGGEHE', 'DFCBBFDBBBEDDBEBGEHGGGGGGHHEEGHE', 'BFFDDBECDCBBBDFBEGGHHEGEEEEGGEGE', 'EBBBBFFBBFCCCFBCEEEGGEEGGEGGGGEG', 'CFFFFCDDCCFCCCCEGGGEEHGEEGEEEGEE', 'FBDDDFBBCCCBBDFBGGHEEGHEEHHGGEGE', 'CFBBBCFECBBCCCCFGEGHHHEGGEGEEGHE', 'DBCBBBFFBFCEEFFCEHHGGEGGEGEEEHEG', 'CCCFFEBDDCFBBBBDHHGHHHHHGEGGGGGG', 'AABEEFDBBBBCCFDCEGEEEEHEGGEGGGAA', 'AAAADDCCBCCBBCCDGHHGGGGGGHHHAAAA', 'AAAAAABBBBEFFBBEGGGEEGEEEEAAAAAA', 'AAAAAAAADFCBBDBCEGEEEHEGAAAAAAAA', 'AAAAAAAAAAFBBCFDHHGGGEAAAAAAAAAA', 'AAAAAAAAAAAABBDDEGGGAAAAAAAAAAAA', 'AAAAAAAAAAAAAAEBEEAAAAAAAAAAAAAA')), ({'A':(0,)*4,'B':(120,84,56,255),'C':(148,106,73,255),'D':(80,54,37,255),'E':(183,131,91,255),'F':(133,)*3+(255,),'G':(115,87,67,255),'H':(106,)*3+(255,),'I':(56,39,25,255),'J':(41,28,17,255),'K':(56,56,56,255)}, ('AAAAAAAAAAAAAABBCCAAAAAAAAAAAAAA', 'AAAAAAAAAAAACCDDCCBBAAAAAAAAAAAA', 'AAAAAAAAAABCCBEBCDBCCBAAAAAAAAAA', 'AAAAAAAABFBDDBGCCBBCCCBCAAAAAAAA', 'AAAAAACCEDCCCECEEEBDDBBBBCAAAAAA', 'AAAABBBEDBBBBCBBBBBCCEEBBBCCAAAA', 'AACCCBCEEBCHHDCDDCCCCFBCCBHCCEAA', 'BBCBBBBBBCEEEBBDDBBBBCBEEEEBBCBB', 'ECCCCBBDDDBBBCCCCEEDDBCCCDDDDCCD', 'BCBEEBBCCEEBBCCBBDDBBBBBBBBBBIIJ', 'ECBBBBBBBBBBBEEBBDDCCBBFFEEIIDJI', 'CBDBBECBBCBCCBBHHBBBBEBCCIJIIJDI', 'CHBEECFCBCBBBBCBBBBCCEBDIDDIIIDI', 'BBECCBBDBBEBBDCDDEBBBDDJIIIDDIJD', 'EDEDDDBBEEDBBBBDDEBIIDKIDDIKKIID', 'BBCBBCBECBCEEEBDBDDIIDIDDJIJJIID', 'BBECCBBDDDBBBDEDIIIIIJIJJIDDDIJD', 'BCCBBCBEEBBBBECBDKDDDDJDDJDIIIII', 'CCBBBCBBCBBBBCDBDIDDDDIIDDDIIDKJ', 'BBEEEDDDBDEBBBBBDJDIIIIJIIIJJDID', 'BDCCCBEBBCCBBCBEIIIDDDIJIDDIIJDD', 'CCBCCEBCBBCBBBCCDIDDDDJIJDDIIIDD', 'CBBGGCECDEBEEBDCIIIIIJDDKIIJJIDJ', 'BBEBBBCBHCECCEBBDDJDDIIDIJDDDIII', 'AACCCDBCBBCDDCFCIDIDDDDIIDIIIDAA', 'AAAABBFDBDBBBCBBIIIIIDDDDDIIAAAA', 'AAAAAABBEEEBBBEDDJDIIIIJDDAAAAAA', 'AAAAAAAACCBBBEEEIJIDDJKIAAAAAAAA', 'AAAAAAAAAABCCBCCIDJDDIAAAAAAAAAA', 'AAAAAAAAAAAACCCCDIDDAAAAAAAAAAAA', 'AAAAAAAAAAAAAABDDIAAAAAAAAAAAAAA')), ({'A':(0,)*4,'B':(157,130,76,255),'C':(102,79,42,255),'D':(192,155,97,255),'E':(173,141,84,255),'F':(182,146,94,255),'G':(125,97,52,255),'H':(148,115,63,255),'I':(71,52,28,255),'J':(85,69,42,255),'K':(75,61,34,255),'L':(51,40,21,255)}, ('AAAAAAAAAAAAAABBCCAAAAAAAAAAAAAA', 'AAAAAAAAAAAADDEEBBCCAAAAAAAAAAAA', 'AAAAAAAAAABCCCDFFBBGGCAAAAAAAAAA', 'AAAAAAAABHBFFBCGBEFEEFGHAAAAAAAA', 'AAAAAACCGFDBBEBEHDDFFBFHHHAAAAAA', 'AAAAFFEBBHGDDDBEEGCDDBBEBGCCAAAA', 'AAHCCGBFFEEGGGDBBEBCCCFBBFECCGAA', 'BBBFFCCEEFEFFFCDDBEBBBGDDFFBBBGG', 'FFDFFEEGGDDEEFFCCDDFFFBHHFFEEEII', 'FEDDDEEBBGGDDHHEEGGEEFFEECCDJJJK', 'EFEDDDDFFBBCCDDEEEEGGDDEEDJJJJKI', 'HFFHHDDFFFBEEGGDDEEEEGCFJJJJJJJL', 'FGHEEBEDFDEBBFEHHBFFFBJJJJJJJLLJ', 'EDDHHFEFFDDDDHEFFGDFJJJJJKKLLJKJ', 'BFDDDGCBBFDDDDFFFEJJJJJKKLLJJJJK', 'CBEBBDDCGBEFFDFEJJJJJKJLLJJJJJKL', 'FDGHHEEHBDCCCFFBJJJIILJIKJJLLLJI', 'DEFEEGCHFEDEECGHJLLJJJKIJLLJJJKK', 'CFFFFEDCCFEFFEBCIJKJJJJLLJJKKJJL', 'DCEBBFEDDCFEEFFFJJJJJJLJJKJJJKLJ', 'EBHHHBBBDDGGGBBEJKJLLLJJKJJLLLJJ', 'EEDDDGCBBBDDDHGBKLLJJJJKJLIKKJJK', 'CBFBBFFCEEEEEDFCLJJJJJKKLJJJJJKL', 'GGEFFBEBCGEBBBBBJJJJJKLLJJJKKKLL', 'AACCCEBBDDHGGBFHJJJIILJKKJJLLLAA', 'AAAAGGHHBFDDDCCBJLLJJJJKJLLLAAAA', 'AAAAAAHHFFFFFFDCLKJJJKKIIIAAAAAA', 'AAAAAAAAHGEBBEDDJKJJJJIIAAAAAAAA', 'AAAAAAAAAACCCBEEJJKLLLAAAAAAAAAA', 'AAAAAAAAAAAACCBBJKLLAAAAAAAAAAAA', 'AAAAAAAAAAAAAACCLLAAAAAAAAAAAAAA')), ({"A":(0,0,0,255),"B":(33,60,24,255),"C":(8,24,0,255)},( "AAAAAAAAAAAAAAABBAAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAACCACAAAAAAAAAAAAA", "AAAAAAAAAAABBBBBBCCCCAAAAAAAAAAA", "AAAAAAAAABBBBBBBBCBBBBAAAAAAAAAA", "AAAAAAACBBBBCBCCCCBBBBCBBAAAAAAA", "AAAAABBBBAABBBBBBBBBBBCBBBAAAAAA", "AAACBBBBBCCBBBBBBBBBAACAACCCCAAA", "AABCCBBBBCAABBBCCBBBAABBACBBBBAA", "ACBCBBBBBBAABBBCCBBBCBBBCCCCCBCA", "AACACCCCCCAABBBCBBBBCBBBCCCABBCA", "AAACCCBBCBBBCCBBBCAACBBBBBBCBBAA", "AACBBCBBCBBBACBBBCAABBCCBBAABCAA", "ACBBBBBBBCBBACBBBBBCCBBCCCAACAAA", "ACBBBBCBBBBBCACBCCCBBBBBCACBBCAA", "ACBBCAABBBCBACBBBCACBBBBCABBBBCA", "ACBCCCBBBCCAABBBBABBCBBCCAABBBCA", "ACBBCBBBBCAAACBBCCBBABBBBCACBBCA", "ACBCCBBBBBCCBCBCABBCCBBCBBBCCBCA", "AACACBBBCCBACBCACBBABBBBBBBCCBCA", "AABBABBBBBBCCBBABBBBBBCCBBBCACAA", "ACBBCBBBBCBBCBBCBBCBBBBCCBBAAAAA", "ACBBBCABBBCBBBBBBBCBBBBBBCBBCCCA", "ACBBCCACBBCBBCBBBBCBBBBBBCBBBBAA", "ACBCBBBABBBCBCBBBCACCCBBCBBBBCAA", "AACBBBBCABCCCACBBCCCAAABCCBBBCAA", "AAACBBBCACCBBCABCBBCCCAABAACCAAA", "AAAAACCAABBBBBAABBBCBBABBCAAAAAA", "AAAAAAAABBBCBBCCBBCBBCCBCAAAAAAA", "AAAAAAAAACBCCBBBBBBBBACAAAAAAAAA", "AAAAAAAAAAAAABBBBCBBCAAAAAAAAAAA", "AAAAAAAAAAAAACCCBACAAAAAAAAAAAAA", "AAAAAAAAAAAAAAACCAAAAAAAAAAAAAAA")), ({"A":(0,0,0,255),"B":(57,44,16,255),"C":(173,142,82,255),"D":(99,77,41,255),"E":(148,113,66,255)},( "AAAAAAAAAAAAAABBBBAAAAAAAAAAAAAA", "AAAAAAAAAAAAABBCCBBAAAAAAAAAAAAA", "AAAAAAAAAAABBCCDDCCBBAAAAAAAAAAA", "AAAAAAAAABBCCECCCEECCBBAAAAAAAAA", "AAAAAAABBCCEECCCCCCEECCBBAAAAAAA", "AAAAABBCCECCCCDDEECCCEECCBBAAAAA", "AAABBCCECCCCEECCCCEECCCEECCBBAAA", "ABBBCCEECCCEECCEECCEECCCEECCBBBA", "BBDDDDCCEECCCEECCEECCCEECCDDBBBB", "BBDDDDBBCCEECCCEECCCEECCBBDBBBBB", "BBDBBDBDDDCCECCCCCEECCDDBBDBBBBB", "BBDDBDBDDDBDCCEEEECCDBBBBBBBDBBB", "BBDDBDBDBDBDDBCCCCBDBDBBBBBBDBBB", "BBDDBDBDBDBDBDDDDDDBBDBBBBBBDBBB", "BBBBDDBDBDBBBDDBBBDBBDBBBBBBDBBB", "BBBBDDBDBDBBBDDBBBBBBBBDBDBBDBBB", "BBDBDDBDBDBBBDDBBBBBBBBDBDBBDBBB", "BBDBDDDBDDBBDDDBDBBBBBBDBDBDDBBB", "BBDBDDDBDDDBDBDBDBBDBBBBBDBDBBBB", "BBDDDDDBDDDDDBDDDBBDBBDBBDBDBBBB", "BBDDDDDBDDBBDBDDDBBDBBDBBDBDBBBB", "BBDDDDBDDDBBDBDDBBBBBBBBBBBDBBBB", "BBDBDDBDBDBBDBDDBBBBBBBBBBBBBBBB", "BBDBDDBDBDBBDDBDBBBBBBBDBBBBBBBB", "AADBDDDDBDDBDDBDBBBBBBBDBBBBBBAA", "AAAADDDDBDBBDDBDBBBBBDBDBBBBAAAA", "AAAAAABDBDBBDDBDBBBDBBBBBBAAAAAA", "AAAAAAAABDBBDDBDDBBDBDBBAAAAAAAA", "AAAAAAAAAABBBDDDDBBBBBAAAAAAAAAA", "AAAAAAAAAAAABDDDDBBBAAAAAAAAAAAA", "AAAAAAAAAAAAAABBDBAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAABBAAAAAAAAAAAAAAA")), ({"A":(0,0,0,255),"B":(82,36,41,255),"C":(173,28,16,255),"D":(156,158,156,255)},( "AAAAAAAAAAAAAAABBAAAAAAAAAAAAAAA", "AAAAAAAAAAAAABCDDCBAAAAAAAAAAAAA", "AAAAAAAAAAABCCCBCCCCBAAAAAAAAAAA", "AAAAAAAAABCDDDBBCCDDDCBAAAAAAAAA", "AAAAAAABCCCCBBCCCCCBBCCCBAAAAAAA", "AAAAABCDBBBCBCDDBCCCCCBDDCBAAAAA", "AAABCDCCCCCBDBBBBBBDCCBBBCDCBAAA", "ACCCDDCCCBBBDBBBBBBDBCBCCBDDCCCA", "ACCCCCCCDDBBBBBBBBBBBBDDCCCCCBCA", "ACCCCCCCDDCCBCCDDCCBCBDDCCBCBBCA", "ACCCBCCCCCCDBCCCCBBDDCCCCCBCBBCA", "ACCCBCCCCCCCDCCCCCCDCCBCCBBCBBCA", "ACCCBCCCBCCCCCDDDDCCCCBCCBBCBBCA", "ACDCBCCCBCCBCCCCCCCBCBBCCBBCBDCA", "ADDDDCCCBCCBCCCCCCBBCBBCCBBDDDDA", "ADDBBDDCBCCBCCCBCCBBCBBCCDDBDDDA", "ADDDBBDDDCCBCCCBCCBBCBBDDDBBDDDA", "ADDDBDDBDDDBCCCBCCBBCDDDBDDBDDDA", "ADDDBDDBBDBDDCCBCCBDDBDDBDDBDDDA", "ADDDBDDBDDBBBDDBCDDBDBBBBDDDDDDA", "ACCBDDDBDBBDBBDDDDBBDBDDBDDDBBCA", "ACCCBCDDDDBDBDDDDDDBDBDDDDBBBBCA", "ACCCBCCBDDBDBDDDDDDBDDDDBBBCBBCA", "ACCCBCCCBCDDBDDDDDDBDDBBCBBCBBCA", "AACCBCCCBCCBDDDDDDDDBBBCCBBCBBAA", "AAAABCCCBCCBCCDDDDBBCBBCCBBBAAAA", "AAAAAACCBCCBCCBBBBBBCBBCCBAAAAAA", "AAAAAAAABCCBCCCBCCBBCBBBAAAAAAAA", "AAAAAAAAAACBCCCBCCBBCBAAAAAAAAAA", "AAAAAAAAAAAACCCBCCBBAAAAAAAAAAAA", "AAAAAAAAAAAAAACBBBAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAABBAAAAAAAAAAAAAAA")), ({'A':(0,)*4,'B':(195,)*3+(255,),'C':(255,)*4},( 'AAAAAAAAAAAAAABCCBAAAAAAAAAAAAAA', 'AAAAAAAAAAAABCAAAACBAAAAAAAAAAAA', 'AAAAAAAAAABCAAAAAAAACBAAAAAAAAAA', 'AAAAAAAABCAAAAAAAAAAAACBAAAAAAAA', 'AAAAAABCAAAAAAAAAAAAAAAACBAAAAAA', 'AAAABCAAAAAAAAAAAAAAAAAAAACBAAAA', 'AABCAAAAAAAAAAAAAAAAAAAAAAAACBAA', 'BCAAAAAAAAAAAAAAAAAAAAAAAAAAAACB', 'CABCAAAAAAAAAAAAAAAAAAAAAAAACBAC', 'BAAABCAAAAAAAAAAAAAAAAAAAACBAAAB', 'CAAAAABCAAAAAAAAAAAAAAAACBAAAAAC', 'BAAAAAAABCAAAAAAAAAAAACBAAAAAAAB', 'CAAAAAAAAABCAAAAAAAACBAAAAAAAAAC', 'BAAAAAAAAAAABCAAAACBAAAAAAAAAAAB', 'CAAAAAAAAAAAAABCCBAAAAAAAAAAAAAC', 'BAAAAAAAAAAAAAABBAAAAAAAAAAAAAAB', 'CAAAAAAAAAAAAAACCAAAAAAAAAAAAAAC', 'BAAAAAAAAAAAAAABBAAAAAAAAAAAAAAB', 'CAAAAAAAAAAAAAACCAAAAAAAAAAAAAAC', 'BAAAAAAAAAAAAAABBAAAAAAAAAAAAAAB', 'CAAAAAAAAAAAAAACCAAAAAAAAAAAAAAC', 'BAAAAAAAAAAAAAABBAAAAAAAAAAAAAAB', 'CAAAAAAAAAAAAAACCAAAAAAAAAAAAAAC', 'BCAAAAAAAAAAAAABBAAAAAAAAAAAAACB', 'AABCAAAAAAAAAAACCAAAAAAAAAAACBAA', 'AAAABCAAAAAAAAABBAAAAAAAAACBAAAA', 'AAAAAABCAAAAAAACCAAAAAAACBAAAAAA', 'AAAAAAAABCAAAAABBAAAAACBAAAAAAAA', 'AAAAAAAAAABCAAACCAAACBAAAAAAAAAA', 'AAAAAAAAAAAABCABBACBAAAAAAAAAAAA', 'AAAAAAAAAAAAAABCCBAAAAAAAAAAAAAA')) ) Map='' for i in range(144):Map+="2" for i in range(144):Map+="1" for i in range(1440):Map+="0" Map=Map[:400]+"41235867"+Map[401:] Map=Map[:325]+"44444"+Map[326:] Map=Map[:337]+"4"+Map[338:] Map=Map[:341]+"4"+Map[342:] Map=Map[:349]+"4"+Map[350:] Map=Map[:361]+"4"+Map[362:] Map=Map[:365]+"4"+Map[366:] Map=Map[:373]+"44444"+Map[374:] Map=Map[:469]+"44444"+Map[470:] Map=Map[:481]+"4"+Map[482:] Map=Map[:485]+"4"+Map[486:] Map=Map[:493]+"4"+Map[494:] Map=Map[:505]+"4"+Map[506:] Map=Map[:509]+"4"+Map[510:] Map=Map[:517]+"77777"+Map[518:] Map=Map[:613]+"66666"+Map[614:] Map=Map[:625]+"65556"+Map[626:] Map=Map[:637]+"65556"+Map[638:] Map=Map[:649]+"65556"+Map[650:] Map=Map[:661]+"66666"+Map[662:] Map_id=create_Map_id() x_start=128 y_start=0 hori=0 verti=0 Map_id=create_map(Map,block_id,Map_id,x_start,y_start,4,hori,verti) F(0,0,320,222,"w") dMap(Map_id,block_id) while 1-K(4): if K(1):Map_id.clear();y_start+=16;Map_id=create_map(Map,block_id,create_Map_id(),x_start,y_start,4,hori,verti);F(0,0,320,222,"w");dMap(Map_id,block_id) if K(2):Map_id.clear();y_start-=16;Map_id=create_map(Map,block_id,create_Map_id(),x_start,y_start,4,hori,verti);F(0,0,320,222,"w");dMap(Map_id,block_id) if K(0): if hori>-9: Id_del=[i for i in range(19,459,20)] for i in range(22):Map_id[i*20][1]="0";Map_id[i*20][2]=0;Map_id[i*20][3]=0 for i in range(0,len(Map_id)): if i not in Id_del:Map_id[i][1]=Map_id[i+1][1];Map_id[i][2]=Map_id[i+1][2];Map_id[i][3]=Map_id[i+1][3] else:Map_id[i][1]="0";Map_id[i][2]=0;Map_id[i][3]=0 x_start-=16;hori-=1;Map_id=create_map(Map,block_id,Map_id,x_start,y_start,0,hori,verti);F(0,0,320,222,"w");dMap(Map_id,block_id) if K(3): if hori<11: Id_del=[i for i in range(0,440,20)] for i in range(22):Map_id[i*20-1][1]=0;Map_id[i*20-1][2]=0;Map_id[i*20-1][3]=0 for i in range(len(Map_id)-1,-1,-1): if i not in Id_del:Map_id[i][1]=Map_id[i-1][1];Map_id[i][2]=Map_id[i-1][2];Map_id[i][3]=Map_id[i-1][3] else:Map_id[i][1]="0";Map_id[i][2]=0;Map_id[i][3]=0 x_start+=16;hori+=1;Map_id=create_map(Map,block_id,Map_id,x_start,y_start,3,hori,verti);F(0,0,320,222,"w");dMap(Map_id,block_id)