from kandinsky import * from ion import * from time import * backcolor=(0,130,240) playercolor=(0,0,200) colorSol=(0,0,70) Map=[[[0, 6, 32, 1], [15, 1, 5, 1]], [[15, 1, 0]], 36] quelObjetX=Map[0][1][0] quelObjetY=Map[0][1][1] quelObjetLongueur=Map[0][1][2] quelObjetHauteur=Map[0][1][3] quelObjetSens=Map[1][0][2] del Map[0][1] quelObjet=0 xMap=0 fill_rect(0,0,320,222,backcolor) def pic_(a,b,c,d): if c==0: for i in range(20): fill_rect(xMap+a*10-10+int(i*0.5),b*32-i-1,20-i,1,d) else: for i in range(20): fill_rect(xMap+a*10-10+int(i*0.5),b*32+i,20-i,1,d) def pic(a,b,c): if c==0: for i in range(20): fill_rect(xMap+a*10-10+int(i*0.5),b*32-i-1,20-i,1,colorSol) fill_rect(xMap+a*10+10-int(i*0.5),b*32-i-1,5,1,backcolor) else: for i in range(20): fill_rect(xMap+a*10-10+int(i*0.5),b*32+i,20-i,1,colorSol) fill_rect(xMap+a*10+10-int(i*0.5),b*32+i,5,1,backcolor) def sol(x,y,longueur,hauteur,color): fill_rect(xMap+x*10,y*32,10*longueur,hauteur*32,color) def arrivee(k): fill_rect(xMap+k*10,0,10,222,(0,255,0)) fill_rect(xMap+k*10+10,0,5,222,backcolor) def arrivee_(k,l): fill_rect(xMap+k*10,0,10,222,l) def mapp(): for i in range(len(Map[0])): if xMap+Map[0][i][0]*10<320 and xMap+Map[0][i][0]*10+Map[0][i][2]*10>-10: sol(Map[0][i][0],Map[0][i][1],Map[0][i][2],Map[0][i][3],colorSol) for j in range(len(Map[1])): if xMap+Map[1][j][0]*10<320 and xMap+Map[1][j][0]*10+20>-10: pic(Map[1][j][0],Map[1][j][1],Map[1][j][2]) arrivee(Map[2]) mapp() while True: if quelObjet==0: sol(quelObjetX,quelObjetY,quelObjetLongueur,quelObjetHauteur,backcolor) elif quelObjet==1: pic_(quelObjetX,quelObjetY,quelObjetSens,backcolor) else: arrivee_(quelObjetX,backcolor) if keydown(KEY_RIGHT): if keydown(KEY_PLUS) and quelObjet==0: quelObjetLongueur+=1 else: quelObjetX+=1 if keydown(KEY_LEFT) and quelObjetX>15: if keydown(KEY_PLUS) and quelObjet==0: quelObjetLongueur-=1 else: quelObjetX-=1 if keydown(KEY_UP) and quelObjetY>0: if keydown(KEY_PLUS) and quelObjet==0: quelObjetHauteur-=1 else: quelObjetY-=1 sleep(0.1) if keydown(KEY_DOWN) and quelObjetY<6: if keydown(KEY_PLUS) and quelObjet==0: quelObjetHauteur+=1 else: quelObjetY+=1 sleep(0.1) if keydown(KEY_PLUS) and quelObjet==1: if quelObjetSens==0: quelObjetSens=1 elif quelObjetSens==1: quelObjetSens=0 if quelObjet==0: sol(quelObjetX,quelObjetY,quelObjetLongueur,quelObjetHauteur,colorSol) elif quelObjet==1: pic_(quelObjetX,quelObjetY,quelObjetSens,colorSol) else: arrivee_(quelObjetX,(0,255,0)) if keydown(KEY_OK): if quelObjet==0: Map[0].append([quelObjetX,quelObjetY,quelObjetLongueur,quelObjetHauteur]) quelObjetX=Map[0][1][0] quelObjetY=Map[0][1][1] quelObjetLongueur=Map[0][1][2] quelObjetHauteur=Map[0][1][3] del Map[0][1] if quelObjet==1: Map[1].append([quelObjetX,quelObjetY,quelObjetSens]) quelObjetX=Map[1][0][0] quelObjetY=Map[1][0][1] quelObjetSens=Map[1][0][2] del Map[1][0] xMap=-quelObjetX*10+150 fill_rect(0,0,320,222,backcolor) sleep(0.1) if keydown(KEY_RIGHTPARENTHESIS): xMap-=10 fill_rect(0,0,320,222,backcolor) if keydown(KEY_LEFTPARENTHESIS) and xMap<0: xMap+=10 fill_rect(0,0,320,222,backcolor) if keydown(KEY_TOOLBOX): if quelObjet==0: Map[quelObjet].append([quelObjetX,1,5,1]) elif quelObjet==1: Map[quelObjet].append([quelObjetX,1,0]) sleep(0.1) if keydown(KEY_BACKSPACE): if quelObjet==0 and len(Map[quelObjet])>1: sol(quelObjetX,quelObjetY,quelObjetLongueur,quelObjetHauteur,backcolor) quelObjetX=Map[0][1][0] quelObjetY=Map[0][1][1] quelObjetLongueur=Map[0][1][2] quelObjetHauteur=Map[0][1][3] del Map[0][1] if quelObjet==1 and len(Map[quelObjet])>0: pic_(quelObjetX,quelObjetY,quelObjetSens,backcolor) quelObjetX=Map[1][0][0] quelObjetY=Map[1][0][1] quelObjetSens=Map[1][0][2] del Map[1][0] fill_rect(0,0,320,222,backcolor) xMap=-quelObjetX*10+150 sleep(0.1) if keydown(KEY_SQUARE): if quelObjet==2: del Map[2] Map.append(quelObjetX) quelObjetX=Map[0][1][0] quelObjetY=Map[0][1][1] quelObjetLongueur=Map[0][1][2] quelObjetHauteur=Map[0][1][3] del Map[0][1] quelObjet=0 elif quelObjet==0: Map[0].append([quelObjetX,quelObjetY,quelObjetLongueur,quelObjetHauteur]) quelObjetX=Map[1][0][0] quelObjetY=Map[1][0][1] quelObjetSens=Map[1][0][2] del Map[1][0] fill_rect(0,0,320,222,backcolor) quelObjet+=1 else: Map[1].append([quelObjetX,quelObjetY,quelObjetSens]) if Map[2]<0: del Map[2] Map.append(150) quelObjetX=Map[2] del Map[2] Map.append(-10) quelObjet+=1 fill_rect(0,0,320,222,backcolor) xMap=-quelObjetX*10+150 sleep(0.1) if keydown(KEY_EXE): if quelObjet==2: del Map[2] Map.append(quelObjetX) if quelObjet==0: Map[0].append([quelObjetX,quelObjetY,quelObjetLongueur,quelObjetHauteur]) if quelObjet==1: Map[1].append([quelObjetX,quelObjetY,quelObjetSens]) print(Map) break if keydown(KEY_SQRT): print("\n ======================== \n") quelObjetX=0 quelObjetX=int(input("X= ")) while quelObjetX<15: print("X doit etre plus grand que 14") quelObjetX=int(input("X= ")) if quelObjet!=2: quelObjetY=int(input("Y= ")) while quelObjetY<0 or quelObjetY>7: print("Y doit etre plus grand que 0 \net plus petit que 7") quelObjetY=int(input()) if quelObjet==0: quelObjetLongueur=int(input("longueur: ")) while quelObjetLongueur<=0: print("La longueur doit etre superieure a 0") quelObjetLongueur=int(input()) quelObjetHauteur=int(input("hauteur: ")) while quelObjetHauteur<0 or quelObjetHauteur>7-quelObjetY: print("La hauteur doit etre inferieure a",7-quelObjetY+1,"\net superieure a 0") quelObjetHauteur=int(input()) fill_rect(0,0,320,222,backcolor) xMap=-quelObjetX*10+150 sleep(0.1) sleep(0.05) mapp()