Một số bài tập với minecraft

huyhuy17

Dễ:

1. Tạo mặt phẳng hình vuông đặc ruột với kích thước như sau

a. Tạo khối vuông 10×10 tại vị trí người chơi

b. Tạo hàm có thể tạo ra mặt phẳng vuông tại chỗ đứng của người chơi, với kích thước được nhập vào,

c. Tạo hàm tạo khối mặt phẳng vuông tại chỗ đứng của người chơi với , với chiều ngang hoặc dọc, tuỳ tham chiếu

d. Tạo hàm tạo khối  vuông tại chỗ đứng của người chơi với , với chiều ngang hoặc dọc, tuỳ tham chiếu, có thể tuỳ chỉnh vị trí mặt phẳng vuông

2. Tạo khối vuông đặc ruột

a. Tạo khối vuông đặc ruột kích thước 10x10x10

b. Hàm vẽ khối vuông tại vị trí người chơi với kích thước tuỳ chỉnh

c. Hàm vẽ khối chữ nhật tại vị trí người chơi, với 3 tham chiếu, a,b,c lần lượt là chiều dài, rộng, cao

d. Hàm vẽ khối chữ nhật với 6 tham chiều,  a,b,c,x,y,z với a,b,c,x,y,z lần lượt là chiều dài, rộng, cao và tạo độ x,y,z

3. Tạo kim tự tháp

a. Xây dựn kim tự tháp với đáy có kích thước là 20×20

b. Tạo hàm xây dựng kim tự tháp với kích thước tuỳ chỉnh

Trung bình:

1. Tạo ngôi nhà

2. Viết hàm tạo ngôi nhà với chiều cao tuỳ chỉnh (đặc ruột)

3. Viết hàm tạo thành phố

4. Viết hàm tạo ngôi nhà rỗng ruột , có cửa để vào

5. Tạo thành phố với ngôi nhà có thể vào được

6. Tạo thành phố đẹp với nhiều màu, khối gạch …..

Khó -MOD GAME, tạo chế độ chơi

1. Tạo block đặc biệt tại vị trí người chơi, bất kể khi nào , người chơi, đứng trên block đó, họ sẽ nhảy cao lên trên 10 block.

2. Tạo block đặc biệt, khi người chơi tới gần block đó, sẽ có thông tin xuất hiện trên màn hình chat

 


from mcpi.minecraft import Minecraft

mc = Minecraft.create('192.168.43.63')
mc.postToChat("Hello")

player = mc.getPlayerEntityId('hyhuy')

x, y, z = mc.entity.getPos(player)


def make_block(width, x, y, z):
    for i1 in range(width):
        for i2 in range(width):
            for i3 in range(width):
                mc.setBlock(x + i1, y + i3, z + i2, 89)


def make_empty(width, x, y, z):
    for i1 in range(width):
        for i2 in range(width):
            for i3 in range(width):
                mc.setBlock(x + i1, y + i3, z + i2, 0)


def make3d_rec(width, long, heigh):
    x, y, z = mc.entity.getPos(player)
    for i1 in range(width):
        for i2 in range(long):
            for i3 in range(heigh):
                mc.setBlock(x + i1, y + i3, z + i2, 89)


# make_block(10,x,y,z)
# make_empty(8,x+1,y+1,z+1)



def makeflat(x, y, z, width):
    for i in range(width):
        for j in range(width):
            mc.setBlock(x + i, y, z + j, 3)


def make_pyramid(x,y,z,width):
    while width > 0:
        makeflat(x, y, z, width)
        x = x + 1
        y = y + 1
        z = z + 1
        width = width-2

def make_city():
    x, y, z = mc.entity.getPos(player)
    for i in range(10):
        x+=1
        y+=1
        z+=1
        for i1 in range(10):
            for i2 in range(15):
                for i3 in range(10):
                    mc.setBlock(x + i1, y + i3, z + i2, 89)
        make_pyramid(x,y+10,z,10)
        x+=20

make_city()