blog.dopana

Back

Chào mừng em quay trở lại, nhà thiết kế trò chơi! 🎲

Nếu các trò chơi điện tử hoàn toàn có thể dự đoán trước được, chúng sẽ rất nhàm chán. Hãy tưởng tượng nếu tung đồng xu luôn luôn ra mặt ngửa, hoặc quái vật trong game luôn đi theo một đường thẳng cố định. Chúng ta cần những yếu tố bất ngờ!

Hôm nay, chúng sẽ dạy chú robot Python cách tung một quân xúc xắc phép thuật vô hình trong đầu để đưa ra các lựa chọn ngẫu nhiên.

Để làm được việc này, chúng ta sử dụng thư viện random!

Quân Xúc Xắc Phép Thuật (Cơ chế hoạt động của sự ngẫu nhiên)#

Tương tự như việc mượn thư viện turtle để vẽ hình, chúng ta có thể import random để đưa sự ngẫu nhiên vào mã nguồn của mình.

graph TD
    Start([Bắt đầu game]) --> Choice["Lựa chọn: ['Kéo', 'Búa', 'Bao']"]
    Choice --> Random["random.choice() tung xúc xắc phép thuật"]
    Random --> Result{"Kết quả chọn là gì?"}
    Result -->|Lựa chọn 1| Rock["✊ Búa!"]
    Result -->|Lựa chọn 2| Paper["✋ Bao!"]
    Result -->|Lựa chọn 3| Scissors["✌️ Kéo!"]

Dưới đây là 2 câu thần chú quan trọng nhất bên trong thư viện random:

1. Choice: Chọn ngẫu nhiên một phần tử từ Danh sách#

Nếu em có một danh sách các lựa chọn trong ba lô, em có thể bảo Python bốc ngẫu nhiên một món:

import random

options = ["Búa", "Bao", "Kéo"]
robot_choice = random.choice(options)

print("Robot đã chọn: " + robot_choice)
python

Mỗi lần chạy đoạn mã này, chú robot có thể sẽ đưa ra một lựa chọn khác nhau! ✊ ✋ ✌️

2. Randint: Tung số ngẫu nhiên trong một khoảng#

Nếu em muốn tung một quân xúc xắc 6 mặt, em sẽ cần một số nguyên ngẫu nhiên từ 1 đến 6:

import random

dice_roll = random.randint(1, 6)
print("Em đã tung được số: " + str(dice_roll) + "! 🎲")
python

Tự Mình Trải Nghiệm! 🎮#

Hãy mở trình biên dịch Python và thử tạo một robot tiên tri xem sao nhé:

import random

fortunes = [
    "Hôm nay em sẽ nhặt được một đồng xu vàng! 🪙",
    "Hãy cẩn thận kẻo giẫm phải vũng bùn nhé! 🌧️",
    "Một chú chó thân thiện sẽ vẫy đuôi chào em! 🐶",
    "Em sẽ học được một trò lập trình cực hay! 💻"
]

input("Hãy hỏi robot một câu hỏi Đúng/Không và nhấn Enter... ")
print("Lời tiên tri của em: " + random.choice(fortunes))
python

Hãy chạy chương trình này vài lần để xem lời tiên tri của em có thay đổi không nhé!

Trong bài tiếp theo, chúng ta sẽ học về Từ điển (Dictionaries), hoạt động giống như một cuốn sổ địa chỉ bí mật của robot dùng để tra cứu số điện thoại và thông tin kho đồ. Hẹn gặp lại em!

Tài liệu tham khảo#