繰り返し処理と時間を使ってブロックを動かす(マイクラ×Python)
最初の位置。
from mcpi.block import *
import time
# 繰り返し処理と時間を使ってブロックを動かす
def moveCar(mc,pos):
i = 0
# 10回(秒)繰り返す処理
while i < 10:
# レンガブロックを設置する
mc.setBlock(pos.x+i,pos.y,pos.z,BRICK_BLOCK)
mc.setBlock(pos.x+i+2,pos.y,pos.z,BRICK_BLOCK)
mc.setBlock(pos.x+i,pos.y,pos.z-2,BRICK_BLOCK)
mc.setBlock(pos.x+i+2,pos.y,pos.z-2,BRICK_BLOCK)
# 1秒待つ
# import time をすることで下記が使用できる
time.sleep(1)
# 動いたように見せるため、空気ブロックを配置する
# while文の条件 1ずつ増やす
i = i + 1
動いた。
車っぽくして自分が乗っているように少し変更。
# 繰り返し処理と時間を使ってブロックを動かす
def moveCar(mc,pos):
i = 0
# 10回(秒)繰り返す処理
while i < 10:
# レンガブロックを設置する(タイヤのつもり)
mc.setBlock(pos.x+i,pos.y,pos.z,BRICK_BLOCK)
mc.setBlock(pos.x+i+2,pos.y,pos.z,BRICK_BLOCK)
mc.setBlock(pos.x+i,pos.y,pos.z-2,BRICK_BLOCK)
mc.setBlock(pos.x+i+2,pos.y,pos.z-2,BRICK_BLOCK)
# 上付き石ハーフブロックを設置する id=8
mc.setBlock(pos.x+i+1,pos.y,pos.z,STONE_SLAB.id,8)
mc.setBlock(pos.x+i+1,pos.y,pos.z-1,STONE_SLAB.id,8)
# イスっぽく見せるため石の階段ブロック(109)を設置する
mc.setBlock(pos.x+i,pos.y+1,pos.z-1,109,1)
# イス(石の階段ブロック)に座っているように見せるため、
# ユーザーの位置をイスの一つ上に設置する
mc.player.setTilePos(pos.x+i+1,pos.y+1,pos.z-1)
# 1秒待つ
# import time をすることで下記が使用できる
time.sleep(1)
# 動いたように見せるため、空気ブロックを配置する
# while文の条件 1ずつ増やす
i = i + 1
1秒ごとに繰り返す処理なので、カクカク動く車。