动态时钟


#引入模组
import mcpi.minecraft as minecraft
import mcpi.block as block
import minecraftstuff as mcstuff
import time
import datetime
import math
#定义圆上找点的函数
def fp(cx,cy,radius,angle):
    #获得弧度角
    jiao = math.radians(angle)
    #获得指针指向的坐标
    x = int(cx + math.sin(jiao) * radius)
    y = int(cy + math.cos(jiao) * radius)
    #返回值
    return(x,y)

#创建通信对象
mc = minecraft.Minecraft.create()
#创建绘画对象
md = mcstuff.MinecraftDrawing(mc)
#获取玩家坐标值
x,y,z = mc.player.getTilePos()
#手动改坐标,设置钟表出现的位置
y = y + 25
z = z - 30
#表盘半径
r = 20
#绘制表盘
md.drawCircle(x,y,z,r,block.DIAMOND_BLOCK.id)
#设定指针的长度
h,m,s = 10,15,19
#循环真
while True:
    #获得现在的时间并存于变量timeNow
    t = datetime.datetime.now()#!------ t代表系统时间
    #取出小时数
    hours = t.hour
    #如果时间大于12
    if hours >= 12 :
        #改为12小时制
        hours = hours - 12
    #对应的角度
    a_h = (360 / 12) * hours
    #指针端点坐标
    hx,hy = fp(x,y,h,a_h)
    #绘出指针
    md.drawLine(x,y,z,hx,hy,z,block.DIRT.id)
    '''分针和秒针自己做'''
    #延时1秒
    time.sleep(1)
    #清除指针
    md.drawLine(x,y,z,hx,hy,z,block.AIR.id)
    md.drawLine(x,y,z + 1,mx,my,z + 1,block.AIR.id)
    md.drawLine(x,y,z + 2,sx,sy,z + 2,block.AIR.id)
  • Avatar photo

    宁妄

    一个热爱自然却被困在代码世界的“人”

    Related Posts

    综合复习

    1️⃣ 认识Python Python就像和电脑说话的“魔法…

    牛马耕地

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注