抽空做了个time(时钟)......
import math
def trianglefunction(x,y,r,an):
xz=x+r*math.cos(an*3.141592653589793238462643383279502884797169399875105820474944/180 )
yz=y+r*math.sin(an*3.141592653589793238462643383279502884797169399875105820474944/180 )
return xz,yz
def time():
return year(),month(),day(),hour(),minute(),second()
def colorrect(x,y,x2,y2,xx):
if xx==1:
co3=0
co3j=255/(float(y2)-float(y))
else:
co3=255
co3j=0-255/(float(y2)-float(y))
yy=y
while yy<y2:
yy=yy+1
co3=co3+co3j
stroke(co3)
line(x,yy,x2,yy)
stroke(0)
def number():
num=-2
while num<10:
textSize(40)
xt,yt=trianglefunction(387.5,415,270,num*30)
text(num+3,xt,yt)
xk1,yk1=trianglefunction(400,400,299,num*30)
xk2,yk2=trianglefunction(400,400,290,num*30)
line(xk1,yk1,xk2,yk2)
num=num+1
num=1
while num<61:
strokeWeight(3)
xk1,yk1=trianglefunction(400,400,299,num*6)
xk2,yk2=trianglefunction(400,400,295,num*6)
line(xk1,yk1,xk2,yk2)
num=num+1
num=1
textSize(30)
while num<25:
if num<10:
text(' '+str(num)+' h',730,num*30+20)
else:
text(str(num)+'h',730,num*30+20)
num=num+1
line(790,num*30-20,800,num*30-20)
fill(0)
def Rect():
y,mon,d,h,m,s=time()
fill('#6CFFF4')
noStroke()
rect(300,250,200,90)
fill(0)
stroke(0)
textSize(40)
text('tcw',367.5,280)
textSize(30)
text(str(y)+'-'+str(mon)+'-'+str(d),310,320)
def Time():
global xs,ys,tf
fill(255)
strokeWeight(5)
y,mon,d,h,m,s=time()
ellipse(400,400,600,600)
fill(0)
ellipse(400,400,10,10)
Rect()
yj()
strokeWeight(2)
xs,ys=trianglefunction(400,400,250,s*6-90)
line(400,400,xs,ys)
strokeWeight(5)
xm,ym=trianglefunction(400,400,200,m*6-90+s*1/12)
line(400,400,xm,ym)
strokeWeight(7)
xh,yh=trianglefunction(400,400,150,h*30-90+m*6/12)
line(400,400,xh,yh)
def kdx():
h=hour()
m=minute()
stroke('#FF0000')
line(805,h*30+10+m/2,905,h*30+10+m/2)
if h>=0 and h<6:
fill('#EAEAEA')
STR='Lin Chen'
if h>=6 and h<9:
fill('#FF0000')
STR='Ru Chu'
if h>=9 and h<11:
fill('#FF903B')
STR='Shang Wu'
if h>=11 and h<13:
fill('#FF766A')
STR='Zhong Wu'
if h>=13 and h<18:
fill('#FF5E00')
STR='Xia Wu'
if h>=18 and h<21:
fill('#D6AA09')
STR='Wan Shang'
if h>=21:
fill('#FF0000')
STR='Ri Luo'
text(STR,810,h*30+m/2)
stroke(0)
def yj():
global xs,ys
fill(255)
strokeWeight(2)
stroke(255,0,0)
rect(xs-40,ys-30,80,35)
stroke(0)
fill(255,0,0)
text('100$',xs-40,ys)
fill(255)
ellipse(250,400,100,100)
ellipse(550,400,100,100)
xe1=xe2=xs
ye1=ye2=ys
if xe1<225:
xe1=225
if xe1>275:
xe1=275
if xe2<525:
xe2=525
if xe2>575:
xe2=575
# -----------
if ye1<375:
ye1=375
if ye1>425:
ye1=425
if ye2<375:
ye2=375
if ye2>425:
ye2=425
fill(0)
ellipse(xe1,ye1,10,10)
ellipse(xe2,ye2,10,10)
def setup():
global run,yun,xs,ys
xs=0
ys=0
yun=['Fu ru dong hai',
'Shou bi nan shan',
'Gong xi fa cai',
'Sheng ti jian kang',
'Wan shi ru yi',
'Nian nian you yv',
'Xiao kou chang kai',
'Yi fan fong shun',
'He jia huan le',
'Bu bu gao shen',
'Ji xiang ru yi',
'Long ma jing sheng']
run=True
size(1000,800)
def draw():
tc=time()
background(255)
global r
Time()
number()
colorrect(805,10,905,210,1)
colorrect(805,540,905,780,-1)
kdx()
if run:
r=random(0,len(yun))
fill(255,0,0)
text(yun[int(r)],280,70)
def mousePressed():
global run
if run:
run=False
elif not(run):
run=True
这篇文章介绍了使用Python编程实现的一个时钟功能,包括三角函数绘制、时间组件显示、颜色渐变矩形、数字显示以及鼠标交互。代码展示了如何在图形界面中创建动态时间和地点信息,以及简单的图形元素控制。
1583

被折叠的 条评论
为什么被折叠?



