minecraft_3d_isometric_v4_1.py

Created by mathieu-croslacoste

Created on September 16, 2025

16.5 KB

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)

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.