Cách tạo một rpg dựa trên văn bản trong python

Mở terminal/cmd và gõ

>>> player_name.upper[]
>>> f"Your name is {player_name.upper[]}. You are a {what}."
4. Lưu ý ________ 05, điều này có nghĩa là bạn đang ở trong “Trình thông dịch Python”

  • Nhập

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    6 và nhấn Return

    Bạn vừa chạy tập lệnh Python đầu tiên của mình bằng cách yêu cầu Python in văn bản “xin chào”

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    7 là một hướng dẫn để Python in một số văn bản và hiển thị nó trên thiết bị đầu cuối/cmd của bạn và nó ở đó theo mặc định khi bạn cài đặt Python

  • Gõ ________ 08 để thoát khỏi “Trình thông dịch Python”. Bây giờ bạn đã trở lại dòng lệnh. Bạn không thấy

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    5 nữa

  • Mở Trình chỉnh sửa tuyệt vời

    • Tệp > Tệp mới
    • Tệp > Lưu thành…
      • myfirstscript. py
    • Nhập vào dòng đầu tiên
      >>> player_name.upper[]
      >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
      
      0
    • Tệp > Lưu
  • Vào terminal/cmd, gõ

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    1 và nhấn Return

    Bạn vừa chạy tập lệnh Python đầu tiên của mình thông qua dòng lệnh

  • Bây giờ hãy mở “game_01. py”

  • trò chơi_01. py¶

    Trong trò chơi_01. py, chúng tôi gặp phải

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    2, đây được gọi là hàm. Chúng tôi sẽ đề cập đến điều này trong một vài phần

    Hãy thử chạy tập lệnh trước

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    3 và xem điều gì sẽ xảy ra

    Chạy tập lệnh

    Những thứ khác để làm với chuỗi. ¶

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    4 là một chuỗi. Chuỗi là một kiểu dữ liệu trong Python

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    5 [dấu nháy đơn] giống với
    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    6 [dấu nháy kép]

    Khi bạn mở đầu bằng ________ 66, bạn phải kết thúc bằng kết thúc ________ 66, điều tương tự với

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    5

    Yêu cầu cả lớp thử làm như sau

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    60

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    61

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    62

    Số¶

    Bạn cũng có thể in số. Các số có kiểu dữ liệu là số nguyên, số nguyên

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    63

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    64

    Nối chuỗi¶

    Bạn có thể kết hợp các chuỗi với nhau, điều này được gọi là nối

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    65

    Hãy thử trộn các số và chuỗi và xem điều gì xảy ra trong trình thông dịch Python của bạn

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    66

    Hãy thử những điều sau đây và xem điều gì sẽ xảy ra

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    67

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    68

    Bây giờ chúng ta có một máy tính

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    69 lần lượt là cộng, trừ, chia và nhân

    Lưu ý điều gì sẽ xảy ra khi bạn làm như sau

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    60

    Bây giờ cố gắng

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    61

    Điều gì đã xảy ra với phần còn lại?

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    62

    Còn số thập phân thì sao?

    Các số như

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    63 được gọi là số nguyên, chúng là số nguyên. Đối với số thập phân, chúng được gọi là số float

    Tự hỏi ý nghĩa của

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    64

    Điều đó có nghĩa là tập lệnh Python cũng là một chương trình độc lập giúp nó có thể sử dụng lại được. Cứ coi như bình thường đây là thứ đầu tiên bạn gõ. Tuyệt vời khi bạn đã cài đặt nó để nhận dạng cú pháp python, có phím tắt… hãy thử gõ “if” và nhấn phím TAB. Nó sẽ tự động hoàn thành cho bạn

    Chúng ta sẽ xem một ví dụ về cách chúng ta sử dụng lại các tập lệnh Python, hay còn gọi là các mô-đun ở cuối hội thảo nếu chúng ta có thời gian

    Hãy mở “game_02. py”, và bắt đầu tạo một trò chơi phiêu lưu dựa trên văn bản đơn giản

    trò chơi_02. py¶

    Chúng ta sẽ sử dụng một hàm Python khác có tên là

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    65. Khi được gọi, nó sẽ đợi người dùng nhập nội dung nào đó và nhấn Return. Điều này đến theo mặc định trong Python

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    66

    Khi bạn chạy tập lệnh này, nó sẽ hỏi tên của bạn, sau khi bạn nhập và nhấn Return, nó sẽ in ra những gì bạn đã nhập

    Bây giờ hãy gõ một chút vào game_02. py¶

    Chúng tôi sẽ giới thiệu ý kiến

    Trong trò chơi_02. py, gõ

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    67 trước
    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    66

    Nó sẽ giống như sau

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    69

    Khi bạn chạy tập lệnh, Python sẽ tải nó và khi gặp

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    67, nó sẽ bỏ qua dòng mã đó

    Hãy sửa đổi mã thêm nữa¶

    Nhập nội dung sau vào dòng nhận xét

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    71

    Điều này sẽ đợi người chơi nhập tên của họ, khi họ nhấn Return, nó sẽ được lưu vào

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    72

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    72 được biết đến như một biến, nó là nơi để máy tính lưu trữ các đối tượng như chuỗi và số

    Lưu tệp và chạy nó trong terminal/cmd

    Nếu bạn chạy tập lệnh ngay bây giờ trong terminal/cmd, sẽ không có gì xảy ra vì tất cả những gì bạn làm là lưu trữ bất cứ thứ gì trình phát đã nhập và chỉ tồn tại miễn là tập lệnh vẫn đang chạy. Khi nó kết thúc, biến đó sẽ không tồn tại nữa

    Dòng tiếp theo trong tập lệnh, nhập

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    74

    Lưu tệp và chạy nó trong terminal/cmd và xem điều gì sẽ xảy ra

    Chúng tôi sẽ thực hiện một số định dạng chuỗi, điều này được khuyến nghị trên Python chính thức. tài liệu tổ chức. ¶

    Biến đổi

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    74

    đến

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    76

    Giải trình

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    77 là một chuỗi. Python coi chuỗi [và mọi thứ khác] là một đối tượng và Python cung cấp nhiều tính năng cũng như hàm dựng sẵn được liên kết với từng loại đối tượng

    f ngay trước “ được gọi là chuỗi f xuất hiện trong Python trong phiên bản 3. 6. Vì vậy, mọi phiên bản Python trước phiên bản này đều không được hỗ trợ

    ⚠️ LƯU Ý. Nếu bạn đang sử dụng “Phiên bản Python cũ hơn 3. 6”, bạn cần làm như sau

    Biến đổi

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    74

    đến

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    79

    Thay vào đó, bạn nên xem một thứ gọi là Định dạng chuỗi

    Chuỗi ở trên đang gọi

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    60 và nó yêu cầu một thứ gì đó được chuyển vào. Trong trường hợp này, đó là
    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    72

    Khi Python gặp

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    60, nó mong đợi và thấy rằng nó có 1 mục ở giữa
    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    63, nó sẽ tìm kiếm
    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    64 và thay thế nó bằng mục trong
    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    60

    Bạn có thể có bao nhiêu

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    64 tùy thích, miễn là bạn có cùng số mục để thay thế bằng

    👉 Dùng thử [Phiên bản Python 3. 6 và mới hơn]

    what = “hiệp sĩ” print[f”Tên bạn là {player_name}. Bạn là một {hiệp sĩ}. ”]

    Lưu tệp và chạy nó trong terminal/cmd và xem điều gì sẽ xảy ra

    👉 Hãy thử [Python cũ hơn 3. 6]

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    67

    Lưu tệp và chạy nó trong terminal/cmd và xem điều gì sẽ xảy ra

    Chuyển sang thiết bị đầu cuối/cmd và khởi chạy vào trình thông dịch Python, hãy nhớ

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    5

    Bạn cũng có thể làm điều này trong trình thông dịch Python

    Ví dụ về hiển thị những tính năng tích hợp đi kèm với đối tượng chuỗi. -

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    69

    👉 Dùng thử [Phiên bản Python 3. 6 và mới hơn]

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    6

    👉 Hãy thử [Python cũ hơn 3. 6]

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    7

    Thao tác chuỗi¶

    Hãy đổi chuỗi tên của bạn thành chữ hoa, chuyển đến trình thông dịch Python của bạn [bạn sẽ thấy ________ 05]

    👉 Dùng thử [Phiên bản Python 3. 6 và mới hơn]

    Nhập và nhấn quay lại

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    

    👉 Hãy thử [Python cũ hơn 3. 6]

    Nhập và nhấn quay lại

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    

    Thoát trình thông dịch Python bằng cách gõ

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    8 và nhấn RETURN

    Kiểm tra trò chơi_02_bình luận. py nhận xét, có tài liệu tham khảo để đọc thêm về Thao tác chuỗi

    Chức năng¶

    Chúng tôi đã đề cập đến một chức năng trước đó

    Chúng là tên được đặt cho một thói quen có thể trả về một giá trị và có thể được gọi nhiều lần. Các chức năng sẽ giữ cho tập lệnh gọn gàng

    Để tạo một chức năng, nó bắt đầu bằng

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    22 theo sau là tên chức năng của bạn

    Nó chỉ nên bắt đầu bằng các ký tự chữ cái, hãy thử thêm một số vào trước hàm main[] và chạy lại. Bạn nên là một lỗi cú pháp

    Lưu tệp và chạy nó trong terminal/cmd và xem điều gì sẽ xảy ra

    Bỏ số đằng trước tên hàm

    Lưu tệp và chạy nó trong terminal/cmd và xem điều gì sẽ xảy ra

    trò chơi_03. py¶

    Tóm tắt lại

    • main[] để bắt đầu trò chơi
    • Hỏi tên người chơi và in nó ra

    Nhưng chúng ta cần phải làm gì đó với người chơi

    Chạy game03. py

    start_adventure[] sẽ bắt đầu cuộc phiêu lưu của chúng ta trong trò chơi sau khi nhận được tên của người chơi

    • Gặp 2 cửa đỏ và xanh
    • kịch bản sẽ yêu cầu người chơi chọn một cửa

    câu lệnh if¶

    Câu lệnh if là một cấu trúc dữ liệu. Chúng ta sẽ thấy nhiều cấu trúc dữ liệu hơn sau

    Hiện tại, các câu lệnh if được sử dụng để so sánh được hiển thị với

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    23. Trong trường hợp này, nếu đầu vào của người chơi là. -

    • màu đỏ. In ra tuyên bố về cánh cửa màu đỏ
    • màu xanh da trời. In ra tuyên bố về cánh cửa màu xanh
    • Bất kỳ thứ gì khác KHÔNG phải là màu đỏ/xanh lam, nó sẽ in ra một câu lệnh mà bạn phải chọn màu đỏ hoặc màu xanh làm câu trả lời

    trò chơi_04. py¶

    Bây giờ chúng ta có tiền đề, hãy thêm một số mã nữa

    Tìm dòng.

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    24. Một hàm được tạo để gọi red_door_room[]

    Tìm dòng.

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    25. Một hàm được tạo để gọi blue_door_room[]

    Cửa xanh¶

    Chúng tôi chỉ in ra một số tuyên bố để nói rằng không có gì xảy ra

    Lưu ý cuộc gọi

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    26. Đây là một chức năng Python được xây dựng

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    26 này quay trở lại nơi nó được gọi, trong trường hợp này là start_adventure[] [dòng 34]

    Cửa màu đỏ¶

    Khi ai đó chọn cánh cửa màu đỏ, chúng ta gặp một con rồng lớn màu đỏ

    Chúng tôi hỏi người chơi họ muốn làm gì tiếp theo với raw_input[] và đầu vào từ người chơi được lưu vào một biến next_move

    Các tùy chọn là

    • Các loại người chơi chạy trốn, họ trở lại căn phòng có cửa màu đỏ và xanh [phòng trước]
    • trò chơi kết thúc

    Chú ý câu lệnh if, nó khác với game04. py. Chúng tôi đã sử dụng == để so sánh, trong trường hợp này, chúng tôi xem liệu thoát có nằm trong văn bản do người chơi nhập hay không

    Chạy game04. py

    [LƯU Ý] Bạn có nhận thấy bất kỳ sự cố nào với phương pháp kiểm tra này nếu người dùng đã nhập lệnh chạy trốn không? . hãy thử một từ đã biến mất trong đó khi bạn chạy tập lệnh. ]

    game05. py¶

    Trong tập lệnh này, hãy tạo một hàm có thể được gọi và truyền vào một đối số. Đây là nơi bạn nói với người chơi rằng họ đã chết và đưa ra lý do nếu họ chọn không chạy trốn

    Sau đây là một hàm với một đối số được truyền vào.

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    28

    • you_died - một chức năng
    • Bên trong [] ở giữa dấu ngoặc kép - một chuỗi

    hàm you_died¶

    Trong you_died[] ở trên cùng, chuỗi được truyền cho nó và được gán cho một biến tại sao

    Bạn có thể sử dụng định dạng chuỗi như trước với biến tại sao

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    29 - thoát khỏi chương trình mà không có lỗi

    exit[] thuận tiện để kết thúc chương trình ngay lập tức

    Chạy game05. py

    trò chơi_06. py¶

    Chúng ta sẽ xem xét các danh sách và xem điều gì xảy ra trong căn phòng màu xanh lam. Trong các ngôn ngữ khác, nó cũng có thể được gọi là mảng

    Danh sách về cơ bản là một danh sách các mục theo thứ tự tuần tự. Có thể mô tả bằng hình ảnh sau bên dưới. -

    Trong game06. py, chúng tôi có một rương kho báu chứa kim cương, vàng, bạc, kiếm và một người bảo vệ đang ngủ trước cửa. Chúng tôi hỏi người chơi muốn làm gì tiếp theo

    Chúng tôi thiết lập câu lệnh if để in ra hai tùy chọn

    • In ra những gì trong rương kho báu
    • Quyết định kiểm tra bảo vệ và cửa

    Chúng tôi sẽ làm nhiều hơn với các danh sách trong phần tiếp theo

    trò chơi_07. py¶

    Chúng tôi muốn làm gì đó với rương kho báu. Chưa làm gì với bảo vệ/cửa

    Chúng tôi sẽ xem xét nhiều hơn về danh sách và giới thiệu vòng lặp for

    Sau khi hỏi người chơi họ muốn làm gì, câu lệnh if là một cách khác để khớp với đầu vào của người dùng

    Giới hạn lại, chúng tôi đã sử dụng

    • >>> player_name.upper[]
      >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
      
      24
    • >>> player_name.upper[]
      >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
      
      11

    Bây giờ chúng tôi đang khớp để xem chuỗi mà người chơi nhập có trong danh sách chuỗi không

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    12

    Lưu ý chữ thường [], thuận tiện để thay đổi thành chữ thường và khớp nó với danh sách các chuỗi đã cho

    Nếu khớp, chúng tôi in tuyên bố kho báu, hoặc chúng tôi đến bảo vệ

    Đến dòng 37.

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    13. Xóa dấu ngoặc kép và lưu tập lệnh và chạy nó

    Vòng lặp¶

    Vòng lặp for được sử dụng để lặp qua một danh sách nhất định. Trong trường hợp này, chúng tôi sẽ xem xét từng mục trong kho báu và làm điều gì đó với nó trong mỗi vòng lặp

    kho báu là một biến tạm thời được sử dụng trong vòng lặp

    Trong trường hợp này, mỗi khi nó lặp lại, nó sẽ in ra biến kho báu

    Chạy game07. py

    Hãy mở trình thông dịch Python của chúng tôi [nhớ xem >>> có ở đó không, nếu không, hãy nhập

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    4 và nhấn phím quay lại]

    Gõ [nhớ khi thụt lề là 4 dấu cách]

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    6

    Danh sách¶

    Hãy nhớ rằng, trong hầu hết các ngôn ngữ lập trình, mọi thứ đều bắt đầu từ “0”. Hãy thử lấy mục thứ 2, 3 và 4 trong danh sách

    Nhận mục đầu tiên trong danh sách.

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    15

    Hai mục đầu tiên, đây được gọi là cắt lát.

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    16

    Chúng tôi sẽ đề cập nhiều hơn về các danh sách trong game08. py

    trò chơi_08. py¶

    Bạn vẫn đang ở trình thông dịch Python. Chạy phần sau để tìm hiểu xem có bao nhiêu mục trong một danh sách nhất định. -

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    6

    Hãy chạy game_08/py và xem nó hoạt động như thế nào

    Chuyển về game08. py trong trình chỉnh sửa của bạn, chuyển đến dòng 44 [xấp xỉ]

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    17

    Điều này có vẻ khá phức tạp, đây là một cách để phá vỡ nó và hiểu điều gì đang xảy ra. Bạn bắt đầu từ bên trong và tập luyện

    Tất cả các câu lệnh được lồng trong ngoặc đơn/dấu ngoặc tròn

    1. rương kho báu
    2. len[kho báu_chest]
    3. format[len[treasure_chest]] – đây là một hàm, chúng ta biết vì nó đứng trước
      >>> player_name.upper[]
      >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
      
      18, trong trường hợp này, nó là một đối tượng chuỗi
      >>> player_name.upper[]
      >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
      
      19

    Bạn cũng có thể tìm thấy bao nhiêu mục trong danh sách thông qua trình thông dịch Python của mình. Chuyển sang terminal/cmd và đảm bảo rằng bạn đang ở trong trình thông dịch Python [i. e. bạn thấy

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    5]

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    7

    Xóa một mục khỏi danh sách¶

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    701

    Bạn có thể xóa một phần tử khỏi danh sách bằng cách sử dụng

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    702. Hãy thử cách sau trong trình thông dịch Python

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    6

    Điều này không đơn giản khi lặp qua một danh sách và cố gắng xóa các mục khỏi cùng một danh sách. Bạn sẽ cần tạo một bản sao của danh sách, sử dụng bản sao đó để lặp lại các mục trong danh sách và xóa mục bạn muốn khỏi danh sách gốc

    Tạo một bản sao của danh sách¶

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    2

    >>> player_name.upper[]
    >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
    
    1

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    703 và
    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    704 có vẻ giống nhau, nhưng chúng là các danh sách khác nhau

    Xem điều gì sẽ xảy ra nếu bạn làm như sau

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    70

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    71

    Hãy thêm một mục vào danh sách, hãy quay lại danh sách của chúng ta

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    703

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    72

    Quay lại với mã của chúng tôi, chúng tôi muốn đặt "thanh kiếm nhảm nhí" cũ vào rương và giữ thanh kiếm sáng bóng mới. Chuyển đến dòng #68 để lấy mã thêm "thanh kiếm nhảm nhí" trở lại kho báu

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    706

    Ký tự thoát¶

    Đôi khi có thể xảy ra sự cố khi xử lý chuỗi, hãy mở trình thông dịch Python

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    707

    Bạn sẽ thấy lỗi cú pháp

    Lý do, khi bạn mở dấu ngoặc kép, bạn nên đóng bằng dấu ngoặc kép mà bạn đã mở bằng. Trong ví dụ trên, nó đã bị đóng nhưng Python gặp nhiều dấu ngoặc kép hơn trên cùng một dòng. Để giải quyết vấn đề này, bạn có thể làm như sau

    • Sử dụng dấu nháy đơn.
      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      708
    • Thoát khỏi nhân vật.
      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      709

    Hãy thử thay vì

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    710. t, n

    Xem game_08_comments. py để tham khảo các ký tự thoát

    Nhiều thao tác chuỗi hơn¶

    Mẹo hữu ích để nối các chuỗi trong danh sách thành một chuỗi được phân tách bằng dấu phẩy

    Chuyển đến trình thông dịch Python của bạn

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    73

    Một số điều xảy ra. -

    • Chuỗi
      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      711 gọi hàm tham gia và chuyển vào danh sách Treasure_chest. Trả về một chuỗi được phân tách bằng dấu phẩy [và điều tốt nhất là nó không chèn dấu phẩy vào cuối chuỗi mà nó đã tạo]

    game09. py¶

    Phần này, chúng ta sẽ xem xét từ điển và vòng lặp while

    Chúng tôi sẽ tập trung vào chức năng

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    712. Điều này sẽ được gọi là. -

    • Sau khi kiểm tra rương kho báu đầu tiên
    • Bỏ qua việc kiểm tra rương kho báu

    Đối phó với bảo vệ

    • Kiểm tra người bảo vệ và những gì người bảo vệ đang làm
    • Lẻn quanh người bảo vệ và trốn thoát để tự do
    • Tấn công bảo vệ

    hàm bảo vệ[]¶

    Thiết lập từ điển của chúng tôi. Nó được tạo thành từ

    • một tên biến, “actions_dict”
    • theo sau là “=”
    • theo sau là biểu thức này
      • "Chìa khóa". "giá trị"

    Giống như một cuốn từ điển ngoài đời thực, bạn có một từ mà bạn tra cứu và tìm giá trị liên quan đến từ đó. Trong trò chơi này, “chìa khóa” sẽ là một hành động mà chúng ta thực hiện, còn “giá trị” sẽ là phần mô tả hành động đó là gì

    Khi từ điển được tải bởi Python, nó trông như thế này

    Khi người dùng nhập kiểm tra và đánh trả lại, nó sẽ in ra giá trị từ từ điển

    “Bạn thấy người bảo vệ vẫn đang ngủ, bạn cần đến cánh cửa bên phải anh ta. Bạn còn chờ gì nữa?"

    Khi người dùng gõ lén và quay lại, nó sẽ in ra giá trị từ từ điển

    “Bạn đến gần người bảo vệ, anh ta vẫn đang ngủ. Với lấy cánh cửa, bạn mở nó từ từ và lẻn ra ngoài. ”

    theo sau là một chuỗi khác trong “câu lệnh if”

    “Bạn vừa lách qua cửa trước khi bảo vệ nhận ra điều đó. ”

    tiếp theo là một chuỗi khác sau đó

    “Bây giờ bạn đang ở bên ngoài, nhà miễn phí. Huzzah. N"

    Nếu bạn còn nhớ, \n là một “Dòng mới” khi nó được in ra

    Và bạn sẽ được “quay trở lại” với hàm có tên là hàm guard[]. blue_door_room[]. Sự quay lại này rất quan trọng vì nó thoát ra khỏi vòng lặp While, vòng lặp này sẽ lặp lại mãi mãi và trò chơi sẽ không kết thúc

    Vì không cần thực hiện gì khác trong hàm blue_door_room[], nên nó quay lại hàm start_adventure[]. Vì không có gì khác để làm trong start_adventure[], nó quay trở lại hàm main[] và thoát khỏi trò chơi vì không còn mã nào để thực thi

    Hãy chia nhỏ phần này và chuyển sang trình thông dịch Python, nhập nội dung sau và nhấn quay lại

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    74

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    75

    GHI CHÚ. Bạn không dựa vào từ điển để được sắp xếp

    Hãy thử cách sau trong trình thông dịch Python và kiểm tra đầu ra của các hành động dict. -

    • lấy chìa khóa

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      76

    • nhận được các giá trị

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      77

    • sắp xếp các khóa từ điển

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      78

    • kiểm tra xem có tồn tại khóa không

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      79

    • kiểm tra xem một khóa không tồn tại

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      0

    • xóa một mục khỏi từ điển

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      1

    • tạo từ điển từ danh sách các cặp khóa-giá trị

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      2

    • lặp một từ điển

      >>> player_name.upper[]
      >>> f"Your name is {player_name.upper[]}. You are a {what}."
      
      3

    Trong khi lặp lại¶

    CẢNH BÁO. Điều này khá nguy hiểm khi sử dụng, thông thường vòng lặp for sẽ xử lý hầu hết các tình huống. Nếu vòng lặp while không được sử dụng đúng cách, bạn có thể kết thúc bằng một vòng lặp vô hạn. Điều đó có nghĩa là chương trình sẽ tiếp tục cho đến khi bạn buộc nó phải thoát hoặc khi máy tính hết bộ nhớ và gặp sự cố. Đối với người dùng, có vẻ như nó bị lỗi và không làm gì cả

    Nhưng thật tốt khi biết về nó

    Trở lại cuộc chơi…¶

    Làm cách nào để thoát khỏi vòng lặp while khi nó chạy?

    • Khi một người chơi chết, nó gọi you_died[] và thoát[] chương trình

    • Khi một người chơi thoát qua cửa, bạn quay lại chức năng trước đó được gọi là chức năng này
      • Câu hỏi. Chức năng nào được gọi là bảo vệ []?

        Dung dịch. blue_door_room[]

    Trong vòng lặp while, chúng tôi hỏi người chơi họ muốn làm gì và thực sự đưa ra hai tùy chọn. chạy hoặc cửa

    Trong hàm main[]¶

    Sau khi thoát khỏi ngục tối thành công, chúng tôi tuyên bố rằng đó là kết thúc bằng cách in nó ra

    Và cũng cảm ơn người chơi, biến của nó đã được set khi hàm main[] được gọi

    trò chơi_10. py¶

    Để dọn dẹp main[] nhiều hơn, chúng ta có thể lấy tên của người chơi trong một hàm riêng biệt và trả về một thứ có thể được lưu vào một biến gọi là player_name

    Nhưng chúng ta sẽ có một chút vui vẻ táo tợn

    Chúng tôi tạo một tên thay thế gọi là Rainbow Unicorn

    chúng tôi làm như sau. -

    • Hỏi người chơi có phải Rainbow Unicorn là tên của họ không?
      • Nếu câu trả lời là có. gán alt_name cho tên
      • Nếu câu trả lời là không. tên vẫn giữ nguyên
      • nói lắp bắp. gán alt_name cho tên

    tên được trả lại cho hàm đã gọi nó, main[]

    Tập thể dục. ¶

    👉 Dùng thử [Phiên bản Python 3. 6 và mới hơn]

    Tìm thấy

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    713

    Thay đổi player_name thành tên

    Chạy tập lệnh, xem điều gì sẽ xảy ra

    👉 Dùng thử [Cũ hơn phiên bản Python 3. 6]

    Tìm thấy

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    714

    Thay đổi player_name thành tên

    Khi bạn đã thực hiện các thay đổi ở trên…

    ▶️ Chạy tập lệnh, xem điều gì xảy ra

    name chỉ cục bộ đối với get_player_name[] và main[] không biết nó tồn tại

    Trước khi chúng tôi quấn…

    Các mô-đun tái sử dụng¶

    • Mở tập lệnh đầu tiên bạn đã tạo. myfirstscript. py
    • Chúng tôi sẽ sửa đổi nó
      • Loại hình.
        >>> player_name.upper[]
        >>> f"Your name is {player_name.upper[]}. You are a {what}."
        
        715 trên dòng 1
      • Nhận xét câu lệnh in, bạn có nhớ làm thế nào không?
        • Sử dụng
          >>> player_name.upper[]
          >>> f"Your name is {player_name.upper[]}. You are a {what}."
          
          67 trước tuyên bố
      • Dòng tiếp theo, chúng tôi sẽ gõ
        >>> player_name.upper[]
        >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
        
        2
    • Lưu tập lệnh
    • Chuyển đến thiết bị đầu cuối/cmd của bạn và chạy tập lệnh.
      >>> player_name.upper[]
      >>> "Your name is {}. You are a {}.".format[player_name.upper[], "knight"]
      
      1

    Đầu ra chỉ nên là

    >>> player_name.upper[]
    >>> f"Your name is {player_name.upper[]}. You are a {what}."
    
    719

    Cuối cùng¶

    Đọc một số phương pháp hay nhất khi viết mã Python. -

    • http. //di sản. con trăn. org/dev/peps/pep-0008/
    • Điều chính là nếu bạn đang sử dụng các tab, hãy đảm bảo rằng đó là 4 dấu cách, hầu hết các trình chỉnh sửa sẽ chuyển đổi nó [kiểm tra tùy chọn/cài đặt]

    Các bổ sung có thể có cho trò chơi. -

    • thêm chế nhạo người bảo vệ hoặc nói chuyện
    • đấu kiếm với lính canh và theo dõi điểm sức khỏe [HP]
    • các câu đố như 1+2 trong cuộc chạm trán
    • sửa đổi câu lệnh if của blue_door_room[] để nó tính đến việc người chơi gõ “phải” hoặc “bảo vệ”
      • Dấu. Thêm một elif khác trước câu lệnh khác

    Nếu bạn có ý tưởng khác và muốn chia sẻ trò chơi của mình với chúng tôi, hãy gửi chúng tới địa chỉ liên hệ @ codinggrace . com.

    Rất nhiều câu lệnh if, điều này có thể được thực hiện đơn giản hơn và dễ bảo trì hơn bằng cách sử dụng Máy trạng thái hữu hạn [FSM], Bạn có thể tìm thông tin về nó, nhưng chủ yếu sẽ liên quan đến lập trình hướng đối tượng, đây là một bài học khác cho một ngày khác

    Bạn có thể tạo một game nhập vai dựa trên văn bản bằng Python không?

    Bạn có thể tạo trò chơi phiêu lưu văn bản bằng Python , chạy trò chơi đó trong 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.

    rpgs dựa trên văn bản được gọi là gì?

    Cuộc phiêu lưu văn bản [đôi khi được gọi đồng nghĩa là tiểu thuyết tương tác] là trò chơi dựa trên văn bản trong đó các thế giới được mô tả trong câu chuyện và người chơi gửi các lệnh thường đơn giản để tương tác với các thế giới.

    Tôi có thể tạo trò chơi 3D bằng Python không?

    Nếu bạn quan tâm đến việc tìm hiểu cách sử dụng Pygame để tạo trò chơi 3D, hai trang web dành riêng cho Python 3D là Python 3D[py3d. org] và Phần mềm Python 3D . Bạn có thể tìm thấy một số dự án trò chơi 3D có sẵn tại đây. PyWeek là một trang web thách thức lập trình hai năm một lần sản xuất một số trò chơi tuyệt vời.

    Python có tốt cho xử lý văn bản không?

    Lập trình Python có thể được sử dụng để xử lý dữ liệu văn bản cho các yêu cầu trong phân tích dữ liệu văn bản khác nhau . Một lĩnh vực ứng dụng rất quan trọng của khả năng xử lý văn bản như vậy của python là dành cho NLP [Xử lý ngôn ngữ tự nhiên].

    Chủ Đề