Python level 4 chiều chủ nhật

huyhuy17

LINK LÀM DỰ ÁN

https://repl.it/join/mehbzcsk-quang_huyhuy

Platfomer: https://repl.it/@Quang_HuyHuy/Du-an-platfomer-2

Buổi 1

Ứng dụng danh sách(list trong python) để tạo một tập dữ liệu, giúp ứng dụng thiết kế chương trình dễ dàng hơn
Link code mẫu và các thư viện:
https://repl.it/@Quang_HuyHuy/lvl-4-chu-nhat
Game server : 103.237.147.88:25568
Code server : 103.237.147.88:4717


Bài tập về nhà:
1. Mê cung dịch chuyển tức thời:
– Tạo ra một ma trận 10×10 bằng danh sách 2 chiều
– Trong mỗi ô của ma trận sẽ là 1 số từ 2-9, tuy nhiên ở 2 góc sẽ là 1 và 10
– Từ tập dữ liệu tạo 1 bản đồ với minecraft
– Khi bắt đầu người chơi được đặt ở vị trí 1
– Nếu người chơi bước vào ô tương ứng với số từ 2-8 thì sẽ họ sẽ được di chuyển tức thời tới ô số tương ứng trong ma trận, một cách ngẫu nhiên
– Nếu người chơi bước lên ô số 10 người chơi thắng cuộc

Buổi 2

Code mẫu


from mcpi import minecraft, vec3
from minecraftstuff import MinecraftTurtle
import time, random
import save_cong_trinh
mc = minecraft.Minecraft.create('103.237.147.88', 4717)

#Khởi tạo các biến
x_root, y_root, z_root = -214, 4, 3
r = 10
d = 20
x_start, y_start, z_start = x_root + 5, y_root + 3, z_root + 2

score = 100


def setup_region():
    mc.setBlocks(x_root, y_root, z_root, x_root + r, y_root + 11, z_root + d, 0)
    #Tạo nền
    mc.setBlocks(x_root, y_root, z_root, x_root + r, y_root, z_root + d,
                 random.choice([45, 46, 47, 48, 49]))
    #tạo rào
    mc.setBlocks(x_root, y_root + 1, z_root, x_root + r, y_root + 1,
                 z_root + d, 35, 7)
    mc.setBlocks(x_root + 1, y_root + 1, z_root + 1, x_root + r - 1,
                 y_root + 1, z_root + d - 1, 0)
    mc.setBlocks(x_start - 1, y_start - 2, z_start, x_start + 1, y_start - 2,
                 z_start, 35, 6)
    #Tạo kho báu
    mc.setBlock(
        random.randint(x_root + 1, x_root + r - 1), y_root + 10,
        random.randint(z_root + d - 3, z_root + d), 41)


def teleplayer(plid):
    mc.entity.setTilePos(plid, x_start, y_start, z_start)


def pakour_street():
    count = 0
    for i in range(z_start, z_root + d - 4):
        count =count +1 
        y = y_root +count
        if (y_root + 10 < y_root +count):
            y = y_root + 10
        mc.setBlock(random.randint(x_root, x_root + r), y, i, 1)


#Chạy phần setup

setup_region()
pakour_street()

#Viết các hàm tính năng

#đưa vào vào vòng lặp
while True:
    chatEvents = mc.events.pollChatPosts()
    for chat in chatEvents:
        if "start_1" == chat.message:
            teleplayer(chat.entityId)
        if "quit_1" == chat.message:
            mc.setBlocks(x_root, y_root, z_root, x_root + r, y_root + 10,
                         z_root + d, 0)
        if "restart_1" == chat.message:
            teleplayer(chat.entityId)
            score = 100
            setup_region()
        if "score_1" == chat.message:
            mc.postToChat("Your score : {}".format(score))
    mc.events.clearAll()
    time.sleep(0.5)
    if score % 10 == 0:
        pakour_street()
    score = score - 0.5


Một số nội dung cần lưu ý khi tạo chương trình:

  1. Chia nhỏ chương trình thành nhiều hàm nhỏ
  2. Chia chương trình thành nhiều vòng lặp
  3. Sắp xếp các nội các hàm vào từng vòng lặp sao cho tối ưu
  4. Việc lập trình với biến và các biến có tương tác được với nhau sẽ giúp chương trình linh động hơn
  5. Trong quá trình làm vừa làm vừa thử nghiệm sau đó nâng cấp các hàm nhỏ cơ bản ban đầu để đạt kết qua như í muốn

Bài tập về nhà: Hoàn thiện chương trình mẫu trên lớp bằng việc bổ sung thêm các tính năng như sau:
1. Viết hàm kiểm tra điều kiện chiến thắng
2. Đưa kiểm tra điều kiện vào trong vị trí thích hợp của vòng lặp của chương trình
3. Viết hàm lưu điểm số ra file
4. Gọi hàm lưu điểm số khi người chơi chiến thắng
5.* (Khó) Lưu điểm số dưới hình thức bảng xếp hạng, và khi người chơi chat "High score", hiển thị top 10 người có điểm tốt nhất

Buổi 3

Dữ liệu mê cung

1, 2, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1,
1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0,
1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0,
0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0,
1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0,
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1,
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1,
1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1,
0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1,
1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1,
1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0,
1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0,
0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1,
1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1,
1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1,
0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1,
1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1,
1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1,
1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0,
1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1,
1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,
1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1,
1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1,
0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1,
1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1,
1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,

2 Replies to “Python level 4 chiều chủ nhật”

  1. chans qua thay oi

  2. thay oi server ko vao dc

Trả lời