from math import * from random import * from kandinsky import * from time import * from ion import * def ball(x,y,c): fill_rect(x-8,y-8,16,16,c) fill_rect(x-4,y-10,8,20,c) fill_rect(x-10,y-4,20,8,c) def volcan(c): fill_rect(0,0,320,200,(0,45,80)) fill_rect(0,200,320,22,c) fill_rect(5,195,310,5,c) fill_rect(20,190,280,5,c) fill_rect(30,185,260,5,c) fill_rect(35,180,250,5,c) fill_rect(40,170,240,10,c) fill_rect(45,160,230,10,c) fill_rect(50,150,220,10,c) fill_rect(55,140,210,10,c) fill_rect(60,130,200,10,c) fill_rect(65,120,65,10,c) fill_rect(190,120,65,10,c) fill_rect(70,110,50,10,c) fill_rect(200,110,50,10,c) fill_rect(75,105,40,5,c) fill_rect(205,105,40,5,c) fill_rect(80,100,30,5,c) fill_rect(210,100,30,5,c) volcan((0,0,0)) def machin(G): n=110 x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] y=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] vx=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] vy=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] #colors=[(255,0,0),(0,255,0),(0,0,255),(255,255,0),(0,255,255),(255,0,225),(255,180,0),(0,180,255),(255,180,180),(180,0,255)] colors=[(255,155,0),(255,145,0),(255,135,0),(255,125,0),(255,105,0),(255,85,0),(255,65,0),(255,45,0),(255,25,0),(255,5,0)] a=0 for i in x:x[a]=160;a+=1 a=0 for i in y:y[a]=90+(a*3);a+=1 a=0 for i in vx:vx[a]=randint(-5,5);a+=1 a=0 for i in vy:vy[a]=randint(-15,-10);a+=1 color=0 while True: #fill_rect(0,0,320,210,(0,30,55)) #fill_rect(0,210,320,12,(0,0,0)) volcan((0,0,0)) for i in range(0,n): nb=0 if i>9:nb+=1 if i>19:nb+=1 if i>29:nb+=1 if i>39:nb+=1 if i>49:nb+=1 if i>59:nb+=1 if i>69:nb+=1 if i>79:nb+=1 if i>89:nb+=1 if i>99:nb+=1 ball(x[i],y[i],colors[i-(10*nb)]) x[i]+=trunc(vx[i]) y[i]+=trunc(vy[i]) vy[i]=G+vy[i]*0.99 vx[i]=vx[i]*0.99 if abs(vx[i])<0.1:vx[i]=0 if y[i]>170:x[i]=160;vy[i]=randint(-15,-10);vx[i]=randint(-5,5) if get_pixel(x[i]+5,y[i]+10)==(0,0,0):x[i]=160;vy[i]=randint(-15,-10);vx[i]=randint(-5,5) sleep(0) machin(1)