Cách tiếp cận% kẻ tấn công% có thể được mở rộng để bao gồm một số thông tin khác ngoài tên của các đối tượng:
- Động từ có thể là số ít hoặc số nhiều. Điều này phụ thuộc vào đối tượng. "Bạn tấn công X" (đối tượng người thứ 2 số ít) so với "Extrakun tấn công X" (đối tượng người thứ 3 số ít) so với "Yêu tinh tấn công X" (đối tượng người thứ 3 số nhiều). Hầu hết các động từ chỉ cần
-s
thêm nhưng có một vài ngoại lệ.
- Danh từ có thể là một danh từ riêng (" Goblin Tấn công X") hoặc một danh từ chung (" Một yêu tinh tấn công X"). Các danh từ chung bắt đầu bằng âm nguyên âm nên sử dụng "an" thay vì "a". Nó có thể là một danh từ chung nhưng chỉ có một trường hợp trong bối cảnh hiện tại (" Yêu tinh tấn công X").
- Danh từ có thể thay đổi về số lượng, từ số không ("Bạn đánh không có yêu tinh ") thành một ("Bạn đánh một con yêu tinh ") thành nhiều ("Bạn đánh ba con yêu tinh "). Nhiều danh từ chỉ cần một
-s
hoặc -es
thêm nhưng có nhiều trường hợp ngoại lệ.
- Đối tượng và đối tượng có thể đơn giản (" Một con yêu tinh ") hoặc hợp chất (" Một con yêu tinh và anh trai của cô ấy ").
- Các danh từ chung ở đầu câu cần được viết hoa, nhưng nếu danh từ đó có một bài viết hoặc nếu đó là từ ghép bạn muốn chỉ viết hoa từ đầu tiên. Danh từ thích hợp luôn được viết hoa.
- Vị trí chủ ngữ (" Cô ấy đánh con yêu tinh") và vị trí đối tượng ("Con yêu tinh đánh cô ấy ") sử dụng các đại từ khác nhau.
- Sở hữu có thể được tạo ra bằng cách thêm
's
nếu số ít (" Rìu của yêu tinh "), '
nếu số nhiều ("Hai trục của yêu tinh "), nhưng đại từ có quy tắc riêng (" Rìu của bạn ").
Đối với tiếng Anh, tôi đã viết cho Python một thư viện tạo văn bản có nguồn gốc từ MUD có tên là JaysHouseMOO. Hãy nghiên cứu hoặc sao chép mã . Nó không có một thư viện tốt các trường hợp đặc biệt; bạn sẽ phải thêm nó với các từ được sử dụng trong trò chơi của bạn. Tôi sợ mã được chuyển của tôi không được kiểm tra rộng rãi. Nó cũng có thể cần thêm các trường hợp được thêm vào cho các trò chơi (nó được thiết kế cho MUD xã hội, không phải MUD chơi game).
Ví dụ của bạn sẽ được viết là "%1I %1:(inflicts) a serious wound (%2n damage) on %3i"
. Những con số %1
, %2
, %3
nói với nó mà đối tượng sẽ được thay thế; I
/ i
bảo nó thêm một bài viết gián tiếp ("a", "an") nếu cần; n
nói với nó để hiển thị danh từ mà không có bài viết; :(inflicts)
nói với nó để chia động từ cho đối tượng đó.
Đây là đầu ra để hiển thị cho kẻ tấn công, người phòng thủ và cho mọi người khác:
$ python
>>> import msg
>>> m = "%1I %1:(inflicts) a serious wound (%2n damage) on %3i."
>>> attacker = msg.GenderedObject('Amit', 'm', 'proper')
>>> defender = msg.GenderedObject('goblin', 'm', 'unique')
>>> points = (12, 'point')
>>> msg.Msg().sub_parties({1: attacker, 2: points, 3: defender},
m, [attacker, defender])
(['You inflict a serious wound (12 points damage) on the goblin.',
'Amit inflicts a serious wound (12 points damage) on you.'],
'Amit inflicts a serious wound (12 points damage) on the goblin.')
Lưu ý nếu bạn đã cho nó, (1, 'point')
nó sẽ được in "1 điểm" thay vì "1 điểm". Đó là điều khiến tôi gặp rắc rối trong văn bản trò chơi, vì vậy tôi đảm bảo bao gồm một tính năng để dễ dàng in đúng.
Đây là một ví dụ khác, với danh từ ghép và "a" vs. "an":
>>> m = "%1I %1:(hits) %2'n %2'(head)."
>>> a1 = msg.GenderedObject('goblin', 'm', 'normal')
>>> a2 = msg.GenderedObject('orc', 'm', 'normal')
>>> d1 = msg.GenderedObject('Amit', 'm', 'proper')
>>> d2 = msg.GenderedObject('Extrakun', 'm', 'proper')
>>> msg.Msg().sub_parties({1: [a1, a2], 2: [d1, d2]}, m, [d1, d2])
(["A goblin and an orc hit your and Extrakun's heads.",
"A goblin and an orc hit Amit's and your heads."],
"A goblin and an orc hit Amit's and Extrakun's heads.")
Những ví dụ này bằng tiếng Anh, và chỉ theo dõi nam / nữ, đại từ, động từ số ít / số nhiều / danh từ và danh từ riêng / chung. Những gì bạn cần theo dõi sẽ khác nhau giữa các ngôn ngữ và loại văn bản trong trò chơi của bạn. Trong tiếng Tây Ban Nha có đại từ chính thức và không chính thức. Một số ngôn ngữ có dạng động từ nam tính và nữ tính. Đại từ tiếng Nhật phụ thuộc vào trạng thái của chủ ngữ so với đối tượng. Trong một số ngôn ngữ, cách chia động từ có thể bao gồm chủ ngữ. Xác định tất cả các loại văn bản bạn muốn tạo và ngôn ngữ bạn muốn dịch và điều đó sẽ cho bạn biết những gì bạn cần theo dõi trong các đối tượng trò chơi của mình. Khi bạn đang tạo nội dung, bạn có thể bao gồm các chú thích cần thiết và các trường hợp đặc biệt.