Tôi hiện đang xây dựng một trò chơi phiêu lưu của riêng bạn. Bây giờ đủ dễ dàng để có một kết quả cho mọi lựa chọn và tạo ra một luồng tuyến tính, nhưng liệu có một thuật toán tốt để có tất cả các lựa chọn trước đó ảnh hưởng đến kết quả tiếp theo không? Rõ ràng tôi có thể lưu trữ mọi lựa chọn trước đó và có các tuyên bố 'IF' lớn để quyết định nhưng tôi tự hỏi liệu có cách nào tốt hơn không?
Một phần trong tôi tự hỏi liệu mỗi lựa chọn nên có 'điểm số' và sau đó tôi sử dụng điều này (có thể có ngưỡng) để xác định hành động tiếp theo sẽ là gì và mỗi hành động sẽ được thêm vào điểm số.
Tôi chủ yếu làm điều này trong swift / SpriteKit nhưng tôi nghĩ rằng đó là về khái niệm sau đó là mã tại thời điểm này.
Đáp lại bình luận của Josh bên dưới:
Tôi cho rằng hiện tại tôi vẫn đang ở giai đoạn khái niệm, nhưng mỗi 'trang' sẽ là một đối tượng tùy chỉnh hoặc tệp json. Tôi đã suy nghĩ về câu trả lời của bạn (hiện đã bị xóa) và có thể có mỗi tùy chọn ENUM một chút. Sau đó, mỗi trang có thể có một 'điểm'. Sau đó, sử dụng các tùy chọn trước đó được chọn sẽ tìm ra bit nào được đặt và xác định trang nào. Tôi đoán tôi chỉ tự hỏi liệu đã có một giải pháp cho vấn đề này trước khi tôi bắt đầu gần như giúp quyết định tôi nên định dạng 'câu chuyện' như thế nào
Đoán thô ở định dạng:
{ "text":"You arrive in the dungeon and there are 2 doors",
"options":[
1: "Go left",
2: "Go Right"
],
"score" : 0 // first page
}
{"text" "You went left and meet a dragon",
"options":[
0: "Game over, you were eaten" // something to handle game over
],
"score" : 1
}
{"text" "You meet a mushroom who tells you the princess is in another castle",
"options":[
4: "Give up, game over", // something to handle game over
8: "Jump down the pipe"
],
"score" : 2
}
Cảm ơn
if
's, else
' s, switch
's và case
' s hy vọng bạn sẽ được hoàn thành trước khi mất sự tỉnh táo của bạn.