Hướng dẫn từng bước: Đi đến bất cứ nơi nào bạn muốn trong thế giới Minecraft

19/10/2018 - 9:04

Bạn đã được học cách dịch chuyển vị trí của nhân vật sử dụng số nguyên, nhưng bạn có thể xác định vị trí của nhân vật chính xác hơn nếu bạn sử dụng số float (số thập phân). Ở nhiệm vụ này, chúng ta sẽ cùng ôn lại chương trình từ Nhiệm vụ #1 để dịch chuyển nhân vật tức thời sử dụng giá trị số thập phân nhé!

Nhiệm vụ #2: Đi đến bất cứ nơi nào bạn muốn

  1. Ở IDLE, mở chương trình teleport.py bằng cách kích FileOpen và chọn tệp từ thư mục “variables” (biến số) của bạn.
  2. Lưu bản sao chương trình là teleportPrecise.py ở thư mục “variables” (biến số).
  3. Ở tệp teleportPrecise.py, thay đổi biến số x, y, z từ số nguyên thành số thập phân; tức là thay giá trị của x, y, z từ 10, 110 và 12 thành 10.0, 110.0 và 12.0.
  4. Thay đổi dòng cuối của lập trình thành mc.player.setPos(x, y, z) bằng cách bỏ từ Tile đi.
  5. Lưu chương trình.
  6. Mở Minecraft và chạy lập trình.

 

Kết quả cuối cùng trông sẽ như thế này:

teleportPrecise.py

# Connect to Minecraft

from mcpi.minecraft import Minecraft

mc = Minecraft.create()

 

# Set x, y, and z to represent coordinates

x = 10.0

y = 110.0

z = 12.0

 

# Change the player’s position

mc.player. setPos(x, y, z)

 

 

Nhân vật được di chuyển tức thời đến vị trí chính xác.

 

Để ý sự khác nhau giữa mc.player.setPos(x, y, z), như được sử dụng ở trên, và mc.player.setTilePos(x, y, z), được sử dụng trong bài viết trước. Hàm số setTilePos() dùng số nguyên để cho trò chơi biết vị trí của “gạch” bạn muốn dịch chuyển tức thời tới. Hàm số setPos() thì hơi khác một chút – nó dùng số thập phân để cho trò chơi biết vị trí “gạch” cũng như vị trí chính xác trong “viên gạch” mà bạn muốn dịch chuyển đến.

 

Thưởng thêm: Dịch chuyển tức thời một cách chính xác

Thay đổi giá trị của biến số x, y, z với giá trị âm và dương của số thập phân và chạy chương trình. Rồi thay đổi một chút giá trị của số thập phân, bạn đoán điều gì sẽ xảy ra?

Làm chậm thời gian dịch chuyển tức thời bằng cách sử dụng module thời gian

Python chạy lập trình nhanh nhất có thể, nhưng bạn có thể làm chậm điều này lại bằng cách làm chương trình chờ một vài giây trước khi tiếp tục.

Để dùng thời gian trong chương trình, bạn cần đến module thời gian có chứa các hàm số có liên quan đến thời gian được viết trước. Để sử dụng module thời gian, hãy thêm dòng lập trình sau vào đầu chương trình của bạn:

Import time

Trật tự sắp xếp rất quan trọng khi bạn sử dụng module thời gian và hàm số sleep(). Hàm số sleep() sẽ làm cho chương trình chờ một vài giây nhất định trước khi bắt đầu. Bạn luôn phải nhập module thời gian vào trước khi sử dụng hàm số sleep(). Nếu bạn không làm đúng như vậy, Python sẽ không thể tìm hàm số sleep() và không cho chương trình chạy tiếp nữa. Đây là lí do tại sao tốt nhất bạn nên nhập bất kỳ module nào vào đầu lập trình. Tất cả những câu lệnh nhập của bạn sẽ được nhóm với nhau ở đầu chương trình. Ví dụ, nhiều người thường dùng các dòng lập trình để kết nối với Minecraft trước, rồi mới thêm import time vào dòng thứ 3.

Đây là ví dụ cách dùng của hàm sleep(): time.sleep(5)

Dòng lập trình này dừng chương trình của bạn lại trong vòng 5 giây. Bạn có thể dùng bất kỳ số nào, kể cả số nguyên và số thập phân: time.sleep(0.2)

Khi chương trình đọc tới dòng lập trình này, nó sẽ đợi 0.2 giây. Giờ đây bạn có thể kiểm soát dòng chảy thời gian và sẵn sàng cho nhiệm vụ tiếp theo rồi đấy!