本文內容將為大家介紹如何在我的世界Minecraft中建造一個「石英鐘」(代碼部分如下)。
代碼內容
import mathfrom mcpi.minecraft import Minecraftimport mcpi.block as blockimport timeimport datetimemc = Minecraft.create()pos = mc.player.getTilePos()x,y,z = 600,60,800def drawPlate(centerX,centerY,centerZ,radius,blocktype): for x in range(-1*radius,radius+1): for y in range(-1*radius,radius+1): if x**2 + y**2 <= radius**2: x1 = centerX + x y1 = centerY + y z1 = centerZ mc.setBlock(x1,y1,z1,blocktype)def drawPlateTick(centerX,centerY,centerZ,radius,tickLength,blocktype): for i in range(12): for j in range(tickLength): x1 = centerX + (radius-j)*math.sin(math.radians(i*30)) y1 = centerY + (radius-j)*math.cos(math.radians(i*30)) z1 = centerZ mc.setBlock(x1,y1,z1,blocktype)
def drawSecondNeedle(centerX,centerY,centerZ,secondLength,blocktype): for i in range(secondLength): x1 = centerX + i*math.sin(math.radians(second*6)) y1 = centerY + i*math.cos(math.radians(second*6)) z1 = centerZ + 1 mc.setBlock(x1,y1,z1,blocktype)
def drawMinuteNeedle(centerX,centerY,centerZ,minuteLength,blocktype): for i in range(minuteLength): x1 = centerX + i*math.sin(math.radians(minute*6)) y1 = centerY + i*math.cos(math.radians(minute*6)) z1 = centerZ + 1 mc.setBlock(x1,y1,z1,blocktype)def drawHourNeedle(centerX,centerY,centerZ,hourLength,blocktype): for i in range(hourLength): x1 = centerX + i*math.sin(math.radians(hour*30+minute*0.5)) y1 = centerY + i*math.cos(math.radians(hour*30+minute*0.5)) z1 = centerZ + 1 mc.setBlock(x1,y1,z1,blocktype)
radius = 30tickLength = 5secondLength = round(0.9*radius)minuteLength = round(0.7*radius)hourLength = round(0.5*radius)drawPlate(x,y,z,radius,block.SEA_LANTERN)drawPlateTick(x,y,z,radius,tickLength,blocktype=block.WOOL_BLACK)while True: timeNow = datetime.datetime.now() second = timeNow.second minute = timeNow.minute hour = timeNow.hour % 12 drawSecondNeedle(x,y,z,secondLength,block.EMERALD_BLOCK) drawMinuteNeedle(x,y,z,minuteLength,block.DIAMOND_BLOCK) drawHourNeedle(x,y,z,hourLength,block.GOLD_BLOCK) time.sleep(0.8) mc.setBlocks(x-radius,y-radius,z+1,x+radius,y+radius,z+1,block.AIR)運行效果展示
夜間效果
往期文章及視頻連結:
【python玩轉我的世界】01基本情況介紹
【python玩轉我的世界】02建造磚塊的基本方法
【python玩轉我的世界】03用磚塊疊加建造柱子
【python玩轉我的世界】04建造天梯,登高望遠
【python玩轉我的世界】05檢閱千奇百怪的磚塊
【python玩轉我的世界】06種一支不斷生長的翡翠樹
【python玩轉我的世界】07建造一所簡單的房屋
【python玩轉我的世界】08修改參數後,房屋門窗對頭了
【python玩轉我的世界】09建造不同材料的金字塔
【python玩轉我的世界】10改進金字塔,修復小bug
【python玩轉我的世界】11巨大的疊羅漢金字塔,流觴曲水
【python玩轉我的世界】12改進一下上個金字塔
【python玩轉Minecraft】13畫個半徑十麥塊的球
【python玩轉Minecraft】14建造黃金星球
【python玩轉Minecraft】15構建函數,函數建球
【python玩轉Minecraft】16巖漿引爆TNT星球
【python玩轉Minecraft】17黑暗夜空中發光星球
【Python玩轉MC】17建造發光夜空星球代碼部分
【python玩轉Minecraft】18畫一個圓圈
【Python玩轉Minecraft】18畫圓圈代碼部分
【python玩轉Minecraft】19畫圓餅
【python玩轉Minecraft】20畫圓管畫圓桶
【Python玩轉Minecraft】19-20代碼部分
【python玩轉Minecraft】21把豎著的圓圈橫過來
【Python玩轉Minecraft】21節視頻代碼詳細內容
【python玩轉Minecraft】22函數式畫餅,鑽石餅
【python玩轉Minecraft】22函數式畫餅,鑽石餅代碼詳解
【Python玩轉Minecraft】23節視頻代碼部分
【Python玩轉Minecraft】24節視頻代碼部分
【python玩轉Minecraft】24三個相互垂直的圓餅
【Python玩轉Minecraft】25七彩斑斕彩虹代碼部分
【python玩轉Minecraft】25彩虹,七彩斑斕
【python玩轉Minecraft】26空心的球,只有外殼
【Python玩轉Minecraft】26中空的球代碼部分
【python玩轉Minecraft】27大豬小豬落玉盤
【python玩轉Minecraft】28大蛛小蛛落玉盤
【Python玩轉Minecraft】27-28代碼部分
【python玩轉Minecraft】29花菇牛
【python玩轉Minecraft】30下箭鏃雨
【python玩轉Minecraft】31轟炸清理,水漫金山
【python玩轉Minecraft】32飛龍烈焰人炸出彈坑
【python玩轉Minecraft】33本想搞建設,卻瘸了
【python玩轉Minecraft】34失敗的退耕還湖