Cách tạo trò chơi đoán số bằng Python
Xây dựng trò chơi đơn giản này để củng cố các khái niệm lập trình Python của bạn.
Tạo trò chơi bằng Python là một cách tuyệt vời để tìm hiểu các khái niệm lập trình cơ bản và xây dựng nền tảng lập trình vững chắc hơn. Một trong những trò chơi bạn có thể tạo là trò chơi đoán số đơn giản.
Bạn có thể tạo trò chơi đoán số bằng một tập lệnh Python. Để chơi trò chơi, hãy chạy tập lệnh bằng dòng lệnh hoặc thiết bị đầu cuối.
Để làm cho trò chơi thú vị hơn, bạn có thể thêm một số khái niệm chơi trò chơi bổ sung. Điều này bao gồm khả năng đưa ra gợi ý cho người chơi hoặc khả năng thay đổi độ khó của trò chơi.
Mục Lục
Cách tạo số ngẫu nhiên
Bạn có thể bắt đầu bằng cách tạo một tập lệnh Python mới với .py phần mở rộng để giữ logic cho trò chơi. Bên trong, thêm một số mã bắt đầu để tạo một số ngẫu nhiên từ 1 đến 50 để người chơi đoán.
Nếu bạn không quen thuộc với cú pháp Python, hãy xem một số ví dụ Python cơ bản để giúp bạn bắt kịp tốc độ.
- Tạo một tệp mới có tên số-đoán-game.py. Mở tệp bằng bất kỳ trình soạn thảo văn bản nào, chẳng hạn như Visual Studio hoặc Atom.
- Ở đầu tệp, hãy nhập tệp ngẫu nhiên mô-đun:
import random - Sử dụng ngẫu nhiên mô-đun randint() phương pháp tạo số ngẫu nhiên trong khoảng từ 1 đến 50:
guess_range = 50
answer = random.randint(1, guess_range) - Bắt đầu trò chơi và yêu cầu người chơi đoán số:
print("Welcome to the number guessing game!")
print("")
userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
guess = int(userInput)
Cách kiểm tra xem người dùng đã đoán đúng số chưa
Để người dùng giành chiến thắng trong trò chơi, hãy so sánh đầu vào của người dùng với số ngẫu nhiên được tạo và kiểm tra xem nó có khớp không.
- Trong khi người dùng vẫn chưa đoán được câu trả lời chính xác, hãy yêu cầu họ nhập lại một lần nữa. Đảm bảo thụt lề bất kỳ mã lồng nhau nào, vì cấu trúc của Python phụ thuộc vào việc thụt lề chính xác:
guess = ""
while guess != answer:
userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
guess = int(userInput) - Nếu mã thực thi qua vòng lặp while, điều đó có nghĩa là họ đã đoán đúng câu trả lời:
print("Congratulations! You guessed the correct number. You win!")
Cách thêm một số lần đoán hạn chế
Để giới hạn người chơi hỏi vô số lần, bạn có thể giới hạn số lần đoán của họ.
- Khai báo một biến mới ở đầu tệp, để theo dõi số lần đoán được phép của người chơi. Đặt nó thành 10, để bắt đầu với:
guesses_allowed = 10 - Thay đổi câu lệnh while thành vòng lặp for, vòng lặp này chỉ lặp lại với số lần đoán giới hạn:
for i in range(guesses_allowed):
userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
guess = int(userInput) - Bên trong vòng lặp for, nếu một trong các câu đoán là câu trả lời đúng, hãy thoát ra khỏi vòng lặp for:
if guess == answer:
print("Congratulations! You guessed the correct number. You win!")
break - Tuy nhiên, bên trong vòng lặp for, hãy thêm một câu lệnh if khác để kiểm tra xem người chơi đã đạt đến giới hạn số lần đoán của họ chưa. Nếu vậy, kết thúc trò chơi:
if (i == guesses_allowed - 1):
print("Sorry, you have run out of guesses. You lose!")
Cách thêm gợi ý vào trò chơi
Thêm một tính năng khác vào trò chơi để cung cấp cho người chơi một số gợi ý. Một gợi ý có thể bao gồm việc cho họ biết nếu họ cần đoán số cao hơn hoặc số thấp hơn.
Một gợi ý khác là cho họ biết họ còn cách câu trả lời gần hay xa. Ví dụ: trò chơi sẽ thông báo cho họ nếu họ đang trở nên “ấm hơn”. Mặt khác, nếu họ ở xa con số, trò chơi sẽ cho họ biết rằng họ đang trở nên “lạnh hơn”.
- Sửa đổi câu lệnh if cho người dùng biết họ có thắng hay không. Nếu họ vẫn không đoán được câu trả lời đúng, hãy cho họ biết câu trả lời thực tế cao hơn hay thấp hơn.
if guess == answer:
print("Congratulations! You guessed the correct number. You win!")
break
elif guess < answer:
print("The number is higher.")
else:
print("The number is lower.") - Thêm một câu lệnh if khác để thêm các gợi ý bổ sung. Điều này sẽ cho họ biết nếu họ đang tiến gần hơn hoặc “ấm hơn” với con số. Sử dụng hàm tuyệt đối để xác định khoảng cách giữa dự đoán và câu trả lời. Ví dụ: nếu chúng cách đáp án ít hơn 10 số, trò chơi sẽ in “Bạn ấm áp”:
if abs(guess - answer) <= 10:
print("You're warm!")
elif abs(guess - answer) <= 20:
print("You're getting warmer.")
elif abs(guess - answer) <= 30:
print("You're cold.")
else:
print("You're freezing.")
Cách thay đổi độ khó của trò chơi
Bạn có thể yêu cầu người dùng chọn mức độ khó. Mức độ khó xác định người chơi có bao nhiêu lần đoán và phạm vi đoán là bao xa.
- Khi bắt đầu trò chơi, hãy yêu cầu người dùng chọn mức độ khó:
print("Welcome to the number guessing game!")
print("")
while True:
level = input("Select difficulty level (easy, medium, hard): ").lower() - Thêm một số xác thực để đảm bảo người chơi chỉ nhập các tùy chọn “dễ”, “trung bình” hoặc “khó”. Nếu người dùng nhập câu trả lời không hợp lệ, trò chơi sẽ yêu cầu họ nhập lại một mức độ khó.
if level in ["easy", "medium", "hard"]:
break
else:
print("Invalid input. Please select either 'easy"https://www.smartreviewaz.com/number-guessing-game-using-python/,"medium', or 'hard'.") - Trước khi tạo số ngẫu nhiên, hãy sử dụng độ khó của người chơi để xác định xem họ có thể có bao nhiêu lần đoán. Bạn cũng có thể sử dụng mức độ khó đã chọn của họ để xác định phạm vi dự đoán lớn như thế nào:
if level == "easy":
guess_range = 50
guesses_allowed = 20
elif level == "medium":
guess_range = 100
guesses_allowed = 15
else:
guess_range = 150
guesses_allowed = 10answer = random.randint(1, guess_range)
Cách chơi trò chơi
Bây giờ bạn đã có tất cả logic của trò chơi, bạn có thể chơi nó trong dấu nhắc lệnh. Bạn cũng có thể xem toàn bộ ví dụ về trò chơi đoán số trên GitHub.
- Mở dấu nhắc lệnh hoặc thiết bị đầu cuối và điều hướng đến thư mục mà bạn đã lưu trữ tập lệnh Python của mình. Ví dụ: nếu bạn lưu trữ tập lệnh của mình trên Bàn làm việc, lệnh sẽ trông giống như sau:
cd C:UsersSharlDesktop - Sử dụng con trăn lệnh để chạy tập lệnh Python của bạn:
python number-guessing-game.py - Nhập một mức độ khó khăn.
- Nhập số vào dấu nhắc lệnh để thử và đoán số.
Học lập trình bằng cách tạo các trò chơi đơn giản
Bây giờ bạn đã hiểu cách tạo và chạy một trò chơi đơn giản bằng một tập lệnh Python. Tiếp tục hành trình học tập của bạn bằng cách khám phá những ý tưởng dự án thú vị khác. Một ví dụ về điều này là thử xây dựng trình quét Ping bằng Python.