Bài tập minecraft tuần 08-07-2018 đến 21-07-2018

huyhuy17

Viết thư viện hỗ trợ sử dụng mcpi

– Kiểm tra vị trí người chơi theo tên của họ

– Đặt vị trí của người chơi theo tên của họ

– Kiểm tra khoản cách giữa 2 điểm

– Di chuyển tất cả người chơi về cùng 1 chỗ

Sử dụng minecraft mcpi với các hàm cơ bản để xây dựng

Viết hàm xây nhà với minecraft

Viết hàm xây vườn với minecraft

Viết hàm xây bể bơi với minecraft

Viết hàm xây biệt thự với nhà , vườn và bể bơi (kết hợp 3 hàm đã viết ở trên)

Viết hàm xây dựng 1 khu vila theo chiều x (sử dụng hàm xây biệt thự)

Viết hàm đặt các block kho báu ngẫu nhiên (gần người chơi)

Viết hàm kiểm tra xem xung quanh người chơi có block nào là block kim cương, hoặc tnt không

Viết hàm kiểm tra xem xung quanh người chơi có tồn tại block chỉ định (do mình điền tham chiếu vào)  hay không

Viết các hàm chạy trong vòng lặp  “while True” để tạo các tính năng khi đang chơi game:

1. Người chơi sẽ phải tìm kho báu được tạo ngẫu nhiên gần họ, nếu họ tìm thấy , thì 1 căn biệt thự sẽ xuất hiện tại chỗ họ đứng

2. Trò chơi tìm kho báu, tất cả người chơi sẽ được triệu tập đến một khu vực, sau đó kho báu sẽ được đặt ngẫu nhiên xung quanh khu vực đó. Nếu một ai đó tìm thấy kho báu, thì sẽ đưa người ấy lên trên cao và báo có người thắng cuộc bằng chat

 

 

LEARN PYTHON MINE BUOI 5 -CỦA BẢO

Helper player



class MinePLayer ():
  def __init__(self, minecraft_connect, player_name):
    self.conn = minecraft_connect
    self.name = player_name
    self.id = minecraft_connect.getPlayerEntityId(player_name)
  
  def setPos (self,x,y,z):
    sc = self.conn
    sc.entity.setPos(self.id, x,y,z)
  
  def getPos (self):
    sc = self.conn
    x,y,z = sc.entity.getPos(self.id)
    return (x,y,z)
    

Code ngôi nhà


from mcpi.minecraft import Minecraft
import random


class MinePLayer():
    def __init__(self, minecraft_connect, player_name):
        self.conn = minecraft_connect
        self.name = player_name
        self.id = minecraft_connect.getPlayerEntityId(player_name)

    def setPos(self, x, y, z):
        sc = self.conn
        sc.entity.setPos(self.id, x, y, z)

    def getPos(self):
        sc = self.conn
        x, y, z = sc.entity.getPos(self.id)
        return (x, y, z)


class House():
    def __init__(self, minecraft_connect, x=10, y=10, z=10, r=10, d=10
                 , h=10):
        self.conn = minecraft_connect
        # self.door = "1"
        self.material = 5
        self.x = x
        self.y = y
        self.z = z
        self.r = r
        self.d = d
        self.h = h

    def changeMaterial(self, material):
        self.material = material

    def build(self):
        mc = self.conn
        x = self.x
        y = self.y
        z = self.z
        r = self.r
        d = self.d
        h = self.h
        # Đặc
        mc.setBlocks(x, y, z, x + r, y + h, z + d, self.material)
        # Rỗng
        mc.setBlocks(x + 1, y + 1, z + 1, x + r - 1, y + h - 1, z + d - 1, 0)
        # cửa
        z_house = z + d / 2
        mc.setBlocks(x, y + 1, z_house, x, y + 2, z_house, 0)
        mc.setBlocks(x, y + 2, z_house, x, y + 2, z_house, 64, 8)
        mc.setBlocks(x, y + 1, z_house, x, y + 1, z_house, 64)
        mc.setBlocks(x - 1, y, z_house, x - 1, y, z_house, 156)
        # Đặt rương ở góc
        x_chest = x + r - 1
        z_chest = z + d - 1
        y_chest = y + 1
        mc.setBlock(x_chest, y_chest, z_chest, 54)
        # Cửa sổ
        z_window_1 = z + 1
        z_window_2 = z + d - 1
        y_window = y + h * 2 / 3
        mc.setBlock(x, y_window, z_window_1, 20)
        mc.setBlock(x, y_window, z_window_2, 20)


mc = Minecraft.create()
x, y, z = mc.player.getPos()

# mc.entity.setPos(Hoang, x, 300, z)
House_of_any = House(mc, x, y, z, 4, 4, 12)
House_of_any.changeMaterial(20)
House_of_any.build()

Code block bay gặp tường bật lại


mc.setBlock(x + 10, y, z, 46)
for i in range(20):
    cx += 1 * direct
    mc.setBlock(x + cx, y, z, 45)
    time.sleep(1)
    if (mc.getBlock(x + cx + direct, y, z) != 0):
        direct = direct * (-1)
    mc.setBlock(x + cx, y, z, 0)

Bài tập  :

1. Làm block bay , gặp tường bật lại

2. Xây nhà

3. Tạo dòng sông

4. Xây cầu qua sông

5. Xây rừng bao quanh sông

6. Xây thác nước.

Trả lời