% हमलावर% दृष्टिकोण को वस्तुओं के नाम के अलावा कुछ जानकारी शामिल करने के लिए बढ़ाया जा सकता है:
- क्रिया एकवचन या बहुवचन हो सकती है। यह विषय पर निर्भर करता है। "आप एक्स पर हमला करते हैं " (एकवचन 2 व्यक्ति विषय) बनाम "एक्सट्रैकन हमलों एक्स" (एकवचन 3 व्यक्ति विषय) बनाम " " गोबलिन हमला एक्स "(बहुवचन 3 व्यक्ति विषय)। अधिकांश क्रियाओं को बस एक
-s
जोड़ा की आवश्यकता होती है लेकिन कुछ अपवाद हैं।
- संज्ञा एक उचित संज्ञा हो सकती है (" गोबलिन हमलों एक्स") या एक सामान्य संज्ञा (" ए गोबलिन हमलों एक्स")। स्वर के साथ शुरू होने वाली सामान्य संज्ञाओं को "ए" के बजाय "ए" का उपयोग करना चाहिए। यह एक सामान्य संज्ञा हो सकती है, लेकिन वर्तमान संदर्भ में केवल एक उदाहरण है (" भूत हमला एक्स")।
- संज्ञा, संख्या में भिन्न हो सकते हैं से शून्य ( "आप हिट नहीं goblins एक करने के लिए") ( "आप हिट एक भूत कई लोगों के लिए") ( "आप हिट तीन goblins ")। कई संज्ञाओं को सिर्फ एक
-s
या -es
जोड़ा की आवश्यकता है, लेकिन कई अपवाद हैं।
- विषय और वस्तुएं सरल हो सकती हैं (" ए गोबलिन ") या यौगिक (" ए गोबलिन और उसका भाई ")।
- वाक्य की शुरुआत में सामान्य संज्ञाओं को पूंजीकृत करने की आवश्यकता होती है, लेकिन अगर संज्ञा में एक लेख है या यदि यह यौगिक है तो आप केवल पहले शब्द को कैपिटलाइज़ करना चाहते हैं। उचित संज्ञाएं हमेशा पूंजीकृत होती हैं।
- विषय स्थिति (" उसने गॉब्लिन को मारा") और वस्तु स्थिति ("गॉब्लिन ने उसे मारा ") विभिन्न सर्वनामों का उपयोग करें।
- Possessives जोड़कर उत्पन्न किया जा सकता
's
है, तो एकवचन ( "एक भूत की कुल्हाड़ी"), '
बहुवचन ( "दो अगर goblins ' कुल्हाड़ियों"), लेकिन सर्वनाम अपने नियम ( "है आपका कुल्हाड़ी")।
अंग्रेजी के लिए, मैंने पायथन को एक टेक्स्ट जनरेशन लाइब्रेरी लिखी, जो जेयूएसएचएमओएमओयू नामक एक MUD से प्राप्त हुई। कोड का अध्ययन या प्रतिलिपि करने के लिए स्वतंत्र महसूस करें । इसमें असाधारण मामलों की अच्छी लाइब्रेरी नहीं है; आपको इसे अपने खेल में उपयोग किए गए शब्दों के साथ जोड़ना होगा। मुझे डर है कि मेरा पोर्ट किया गया कोड बड़े पैमाने पर परीक्षण नहीं किया गया है। इसमें खेलों के लिए और भी मामले जोड़े जा सकते हैं (इसे एक सामाजिक MUD के लिए डिज़ाइन किया गया था, गेमिंग MUD के लिए नहीं)।
आपके उदाहरण के रूप में लिखा जाएगा "%1I %1:(inflicts) a serious wound (%2n damage) on %3i"
। संख्या %1
, %2
, %3
यह बताता है कि किस वस्तु प्रतिस्थापित किया जा रहा है; I
/ i
यदि आवश्यक हो तो इसे एक अप्रत्यक्ष लेख ("ए", "ए") जोड़ने के लिए कहें; n
इसे बिना लेखों के संज्ञा प्रदर्शित करना बताता है; :(inflicts)
उस वस्तु के लिए क्रिया को संयुग्मित करना बताता है।
यहां हमलावर, रक्षक और अन्य सभी को दिखाने के लिए आउटपुट है:
$ 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.')
ध्यान दें यदि आपने इसे दिया था (1, 'point')
तो "1 अंक" के बजाय "1 अंक" छपा होगा। यह ऐसा कुछ है जो मुझे गेम टेक्स्ट में कीड़े देता है, इसलिए मैंने इसे ठीक से प्रिंट करना आसान बनाने के लिए एक फीचर शामिल करना सुनिश्चित किया।
यहां एक और उदाहरण है, यौगिक संज्ञाओं के साथ, और "ए" बनाम "ए":
>>> 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.")
ये उदाहरण अंग्रेजी में हैं, और केवल पुरुष / महिला, सर्वनाम, एकवचन / बहुवचन क्रिया / संज्ञा और उचित / सामान्य संज्ञा को ट्रैक करते हैं। आपको ट्रैक करने की आवश्यकता है जो आपके खेल में भाषाओं और पाठ के प्रकार में भिन्न होगी। स्पेनिश में औपचारिक और अनौपचारिक सर्वनाम हैं। कई भाषाओं में क्रियाओं के पुल्लिंग और स्त्रैण रूप हैं। जापानी सर्वनाम वस्तु के सापेक्ष विषय की स्थिति पर निर्भर करते हैं। कुछ भाषाओं में क्रिया संयुग्मन से विषय का समावेश हो सकता है। उन सभी प्रकार के पाठों को निर्धारित करें जिन्हें आप उत्पन्न करना चाहते हैं और जिन भाषाओं में आप अनुवाद करना चाहते हैं, और यह आपको बताएंगे कि आपको अपने गेम ऑब्जेक्ट में ट्रैक करने की आवश्यकता है। जब आप सामग्री बना रहे हैं, तो आप आवश्यक एनोटेशन और असाधारण मामलों को शामिल कर सकते हैं।