Cách tạo một trò chơi phiêu lưu dựa trên văn bản bằng Python

Thực hành lập trình Python của bạn với một số xử lý văn bản và xử lý quyết định đơn giản để tạo một trò chơi có thể chơi được.

Trò chơi phiêu lưu văn bản là một dự án thú vị mà bạn có thể thực hiện nếu bạn đang học cách lập trình. Bạn có thể tạo một trò chơi phiêu lưu văn bản bằng Python, chạy nó trong một dòng lệnh và thay đổi câu chuyện dựa trên văn bản mà người chơi nhập vào.

Tập lệnh Python sẽ bao gồm một số loại khái niệm lập trình cơ bản. Điều này bao gồm các câu lệnh in, câu lệnh if và các hàm.


Cách tạo tập lệnh Python và thêm nội dung câu chuyện

Bạn có thể tạo tập lệnh bằng tệp văn bản chuẩn có phần mở rộng .py. Nếu bạn không quen với cú pháp Python, hãy xem một số ví dụ Python cơ bản có thể giúp bạn học nó nhanh hơn. Bạn cũng có thể xem các lớp lót Python hữu ích khác để thực hiện các tác vụ nhất định.

Trong chức năng chính của tệp Python, hãy thiết lập câu chuyện của bạn và thông điệp chào mừng.

  1. Tạo một tệp mới có tên “AdventureGame.py”.
  2. Trong tệp, hãy thêm chức năng bắt đầu chính. Chức năng sẽ bao gồm một câu chuyện mở đầu ngắn gọn để chào đón người chơi đến với trò chơi phiêu lưu. Sau đó, nó sẽ gọi một hàm khác được gọi là introScene ().
    if __name__ == "__main__":
    while True:
    print("Welcome to the Adventure Game!")
    print("As an avid traveler, you have decided to visit the Catacombs of Paris.")
    print("However, during your exploration, you find yourself lost.")
    print("You can choose to walk in multiple directions to find a way out.")
    print("Let's start with your name: ")
    name = input()
    print("Good luck, " +name+ ".")
    introScene()


Cách tạo nhiều cảnh và tùy chọn trong câu chuyện

Câu chuyện của bạn sẽ chứa một số cảnh hoặc “phòng”. Bạn có thể tạo một chức năng cho mỗi cảnh để có thể sử dụng lại sau nếu người chơi lại vào cùng một phòng.

Mỗi cảnh cũng sẽ có những lựa chọn khác nhau về nơi đi. Bạn nên vạch ra câu chuyện của mình trước khi viết mã các kịch bản để đảm bảo câu chuyện của bạn được tổ chức tốt.

Mỗi cảnh sẽ có một danh sách các chỉ đường hợp lệ và một câu lệnh if cho nhiều con đường mà người chơi có thể đi. Tùy thuộc vào con đường mà người chơi đi, chương trình sẽ gọi cảnh tiếp theo.

Tạo các chức năng cho các cảnh sẽ xảy ra trong câu chuyện.

  1. Tạo introScene () chức năng bên trên chức năng chính. Thêm tin nhắn và chỉ đường mà người chơi có thể đi bộ.
    def introScene():
    directions = ["left","right","forward"]
    print("You are at a crossroads, and you can choose to go down any of the four hallways. Where would you like to go?")
    userInput = ""
    while userInput not in directions:
    print("Options: left/right/backward/forward")
    userInput = input()
    if userInput == "left":
    showShadowFigure()
    elif userInput == "right":
    showSkeletons()
    elif userInput == "forward":
    hauntedRoom()
    elif userInput == "backward":
    print("You find that this door opens into a wall.")
    else:
    print("Please enter a valid option.")
  2. Tùy thuộc vào đầu vào của người dùng, chương trình sẽ gọi một cảnh khác. Ví dụ, nếu người chơi gõ “left”, chương trình sẽ hiển thị cảnh showShadowFigure () cho người chơi. Từ căn phòng này, nếu người chơi lùi lại, trò chơi sẽ đưa họ trở lại cảnh giới thiệu. Nếu họ đi sang trái hoặc phải, họ sẽ vào phòng khác hoặc đi vào ngõ cụt.
    def showShadowFigure():
    directions = ["right","backward"]
    print("You see a dark shadowy figure appear in the distance. You are creeped out. Where would you like to go?")
    userInput = ""
    while userInput not in directions:
    print("Options: right/left/backward")
    userInput = input()
    if userInput == "right":
    cameraScene()
    elif userInput == "left":
    print("You find that this door opens into a wall.")
    elif userInput == "backward":
    introScene()
    else:
    print("Please enter a valid option.")
  3. Thêm cảnh camera nếu họ rẽ phải. Đây là nơi người chơi có thể tìm thấy một trong các lối ra. Gọi từ bỏ() chức năng kết thúc trò chơi. Người chơi vẫn có thể chọn lùi lại cảnh trước đó.
    def cameraScene():
    directions = ["forward","backward"]
    print("You see a camera that has been dropped on the ground. Someone has been here recently. Where would you like to go?")
    userInput = ""
    while userInput not in directions:
    print("Options: forward/backward")
    userInput = input()
    if userInput == "forward":
    print("You made it! You've found an exit.")
    quit()
    elif userInput == "backward":
    showShadowFigure()
    else:
    print("Please enter a valid option.")
  4. Quay lại phần đầu của trò chơi phiêu lưu, bạn vẫn sẽ cần thêm các chức năng cho các cảnh còn lại. Thêm ám ảnhRoom () cảnh nếu người chơi chọn tiến về phía trước. Điều này cũng sẽ kết thúc trò chơi tùy thuộc vào sự lựa chọn của người chơi.
    def hauntedRoom():
    directions = ["right","left","backward"]
    print("You hear strange voices. You think you have awoken some of the dead. Where would you like to go?")
    userInput = ""
    while userInput not in directions:
    print("Options: right/left/backward")
    userInput = input()
    if userInput == "right":
    print("Multiple goul-like creatures start emerging as you enter the room. You are killed.")
    quit()
    elif userInput == "left":
    print("You made it! You've found an exit.")
    quit()
    elif userInput == "backward":
    introScene()
    else:
    print("Please enter a valid option.")
  5. Bạn cũng có thể thêm nhiều nội dung thú vị vào trò chơi. Tạo một biến toàn cục, ở đầu tệp, được gọi là “vũ khí”. Nó sẽ đúng hoặc sai tùy thuộc vào việc người chơi có tìm thấy nó hay không.
    weapon = False
  6. Tại một trong các phòng, hãy đặt biến vũ khí thành true nếu người chơi tìm thấy. Người chơi có thể sử dụng nó trong phòng tiếp theo nếu cần.
    def showSkeletons():
    directions = ["backward","forward"]
    global weapon
    print("You see a wall of skeletons as you walk into the room. Someone is watching you. Where would you like to go?")
    userInput = ""
    while userInput not in directions:
    print("Options: left/backward/forward")
    userInput = input()
    if userInput == "left":
    print("You find that this door opens into a wall. You open some of the drywall to discover a knife.")
    weapon = True
    elif userInput == "backward":
    introScene()
    elif userInput == "forward":
    strangeCreature()
    else:
    print("Please enter a valid option.")
  7. Nếu người chơi tìm thấy vũ khí, họ có thể giết kẻ thù ở phòng bên cạnh, và tìm một lối thoát khác. Nếu không, kẻ thù sẽ giết họ.
    def strangeCreature():
    actions = ["fight","flee"]
    global weapon
    print("A strange goul-like creature has appeared. You can either run or fight it. What would you like to do?")
    userInput = ""
    while userInput not in actions:
    print("Options: flee/fight")
    userInput = input()
    if userInput == "fight":
    if weapon:
    print("You kill the goul with the knife you found earlier. After moving forward, you find one of the exits. Congrats!")
    else:
    print("The goul-like creature has killed you.")
    quit()
    elif userInput == "flee":
    showSkeletons()
    else:
    print("Please enter a valid option.")


Cách chạy tập lệnh Python

Bạn có thể chạy tập lệnh bằng cách sử dụng thiết bị đầu cuối hoặc dấu nhắc lệnh. Khi bạn nhập đầu vào vào thiết bị đầu cuối, câu chuyện sẽ tiếp tục chuyển sang cảnh tiếp theo.

  1. Sử dụng dòng lệnh hoặc dấu nhắc lệnh, điều hướng đến vị trí bạn đã lưu trữ tệp.
    cd C:UsersSharlDesktopPython
  2. Chạy tập lệnh.
    python AdventureGame.py
  3. Thông báo mở đầu sẽ chào mừng bạn bắt đầu chơi trò chơi.
  4. Nhập từ các tùy chọn có sẵn được liệt kê, chẳng hạn như “trái”, “phải” hoặc “lùi”. Nếu bạn nhập một đầu vào không hợp lệ, trò chơi sẽ nhắc bạn nhập một đầu vào hợp lệ.
  5. Bạn cũng có thể chơi lại trò chơi để chọn một con đường khác.

Bạn có thể tải xuống mã nguồn đầy đủ cho dự án từ kho lưu trữ GitHub này.

Tạo một trò chơi đơn giản chỉ bằng một tập lệnh Python

Bạn có thể tạo một trò chơi phiêu lưu văn bản bằng cách sử dụng tập lệnh Python và chạy nó trong một thiết bị đầu cuối hoặc dòng lệnh. Bên trong tệp Python, bạn có thể giới thiệu cho người chơi một thông điệp chào mừng và câu chuyện ban đầu. Sau đó, người chơi có thể nhập các hành động của họ dựa trên các tùy chọn mà bạn trình bày.

Nếu bạn muốn trở thành một nhà phát triển Python toàn diện hơn, bạn có thể xem một số công cụ hữu ích mà bạn có thể sử dụng hoặc tích hợp với Python.

Previous Post
Next Post

post written by: