के नियमों का वर्णन करने के लिए अनुशंसित डेटा प्रारूप मैं शतरंज के लिए एक शतरंज सर्वर और एक या अधिक ग्राहकों को लिखने जा रहा हूं और मैं शतरंज के नियमों का वर्णन करना चाहता हूं (उदाहरण के लिए खेल राज्य के आधार पर स्वीकार्य चाल, नियम एक प्रोग्राम पूरी तरह से एक प्रोग्रामिंग भाषा में एक खेल पूरा हो गया है। यह कुछ मुश्किल है क्योंकि कुछ शतरंज नियम (जैसे किंग कास्टिंग, एन पासेंट, 3 या अधिक बार-बार चलने वाली चालों के आधार पर ड्रॉ) न केवल बोर्ड लेआउट पर बल्कि चाल के इतिहास पर भी आधारित होते हैं।शतरंज
मैं प्रारूप पसंद करेंगे होने के लिए:
- शाब्दिक
- मानव पठनीय
- एक मानक (जैसे YAML, एक्सएमएल) के आधार पर
- भाषाओं की एक किस्म में आसानी से parsable
लेकिन मैं इनमें से किसी भी उपयुक्त समाधान के लिए बलिदान देने को तैयार हूं।
मेरा मुख्य प्रश्न यह है कि: मैं इस तरह की जटिलता के एल्गोरिदम कैसे बना सकता हूं जो डेटा प्रारूप से ऐसी जटिल स्थिति पर काम करता है?
एक फॉलोअप क्वेस्टन है: क्या आप एक समान समस्या का एक उदाहरण प्रदान कर सकते हैं जो एक शुरुआती बिंदु के रूप में कार्य कर सकता है?
संपादित करें: स्पष्टता के अनुरोध के जवाब में - मान लें कि मेरे पास पाइथन में लिखा गया एक सर्वर होगा, एक क्लाइंट सी # में लिखा गया है और जावा में लिखा गया कोई अन्य क्लाइंट। मैं नियमों को निर्दिष्ट करने से बचाना चाहता हूं (उदाहरण के लिए स्वीकार्य टुकड़ा आंदोलन, चेक के लिए परिस्थितियों, आदि) प्रत्येक स्थान पर। मैं स्वतंत्र रूप से एक भाषा में इन नियमों को एक बार निर्दिष्ट करना पसंद करूंगा।
हैं आप इस इरादे के लिए विशेष रूप से बनाई गई भाषा/प्रारूप की तलाश में हैं? बोर्डजीएएमएल की तरह? (काल्पनिक) – Oddmund
मैं सर्वर को नियमों को जानने और क्लाइंट द्वारा सुझाए गए अमान्य चाल को अस्वीकार करने देता हूं। – tzot