from math import * from kandinsky import * def moon(m,d,y): j=jd(m,d,y) n=(j+5.367)/29.53058 x=n-int(n) p=int(abs(2*(x)-1)*100) w=int(2*x) return [p,w] def jd(m,d,y): if m<3: y-=1 m+=12 a=int(y/100) b=2-a+int(a/4) e=int(365.25*(y+4716)) f=int(30.6001*(m+1)) return b+d+e+f-1524.5 def moon_img(): m=int(input("Month (1-12): ")) d=int(input("Day (1-31): ")) y=int(input("Year (1582-4000): ")) pct,wax=moon(m,d,y) fill_rect(0,0,320,222,color(0,0,0)) n=60 for yi in range(-n,n): y=yi/n x2=(1-y*y)**.5 x1=-x2 if wax: xa=x2-(x2-x1)*pct/100 xb=x2 else: xa=x1 xb=x1+(x2-x1)*pct/100 xp=int(90*xa+160) yp=int(90*y+105) xn=int(90*(xb-xa)) yn=1 fill_rect(xp,yp,xn,yn,color(255,255,255)) w="Waxing" if wax else "Waning" c1=color(255,255,255) c2=color(0,0,0) draw_string(w,130,200,c1,c2) return