कुल मिलाकर, आप जिस मुद्दे पर चलेंगे, वह आपके और आपके दृष्टिकोण पर निर्भर करेगा। मित्र कहता है कि जटिल विभिन्न परिप्रेक्ष्य से सरल है।
ग्राफिक्स लाइब्रेरी का विकल्प इस बात पर निर्भर करता है कि आप किस प्रकार का गेम लिखने जा रहे हैं? ओपनजीएल इस तरह की परियोजनाओं में आम पसंद है, लेकिन आप कुछ जीयूआई-लाइब्रेरी का उपयोग भी कर सकते हैं या सीधे विंडोज़ या एक्सर्ग के पुस्तकालयों का उपयोग कर सकते हैं। यदि आप फैंसी करने जा रहे हैं, तो ओपनजीएल का उपयोग करें।
प्रश्न आप से पूछना चाहिए:
इस परियोजना के लिए सी ++ समझदार पसंद है? सी और/या पायथन पर भी विचार करें।इसका मेरा जवाब यह होगा कि यदि आप सिर्फ रिवर्सी लिखना चाहते हैं, तो पाइथन जाओ। लेकिन यदि आप निम्न स्तर की भाषा सीखना चाहते हैं, तो पहले सी करें। सी ++ एक विस्तार सी से है, इसलिए वहां सी में और वहां से कहीं ज्यादा सीखने के लिए और कुछ है, जितना अधिक आपको सी ++ पर सीखना है, वह प्रयास के लायक नहीं है।
आप ग्राफिक्स लाइब्रेरी का उपयोग कैसे करते हैं? यदि आप फैंसी प्रभाव करने जा रहे हैं, तो दृश्य ग्राफ पर जाएं। इसके बजाय आप बस इसके साथ बटन के साथ रिवर्सी ग्रिड प्रस्तुत कर सकते हैं।
यूआई को कैसे लागू करना चाहिए, क्या आप सामान्य यूआई अवधारणाओं का उपयोग करना चाहिए? सामान्य यूआई अवधारणाओं (खिड़की, फ्रेम, बटन, मेनूबार, संवाद) इतने अच्छे नहीं हैं क्योंकि लोग सोचते हैं कि वे हैं, उन्हें ठीक से लागू करने में बहुत सारे काम हैं। इनपुट व्याख्या करने के लिए दृश्य ग्राफ को लागू करें और गेम को नियंत्रित करने के लिए विभिन्न चालाक तरीकों का प्रयास करें। परिचय मेनू से बचें (वे गूंगा और बेकार काम हैं), अधिकांश कॉन्फ़िगरेशन के लिए कमांड लाइन तर्क का उपयोग करें।
मैं अभी तक आप कुछ विचार आप आरंभ करने के लिए दे:
ओथेलो बोर्ड 8x8, समग्र में 64 कोशिकाओं है। आप प्रत्येक सेल प्रति बाइट असाइन कर सकते हैं, जो प्रत्येक बोर्ड राज्य के लिए 64 बाइट बनाता है। यह 8 लंबी चींटियां है, बिल्कुल नहीं! आप खेल की पूरी प्रगति को स्टोर कर सकते हैं और खिलाड़ी इसे भी नोटिस नहीं कर सकता है। इसलिए यह सलाह दी जाती है कि ओथेलो बोर्ड को एक अपरिवर्तनीय संरचना के रूप में लागू करने की सलाह दी जाती है जिसे आप हमेशा बदलते समय प्रतिलिपि बनाते हैं। यह बाद में आपकी एआई के साथ आपकी मदद करेगा और 'पूर्ववत' -फेचर को लागू करेगा।
क्योंकि एक बाइट सिर्फ तीन राज्यों (खाली, काले, सफेद) की तुलना में अधिक जानकारी स्टोर कर सकते हैं, मैं सलाह आप भी दो अतिरिक्त राज्यों (BLACK_ALLOWED, WHITE_ALLOWED, BOTH_ALLOWED) प्रदान करेगा। जब आप नई स्थिति की प्रतिलिपि बनाते हैं तो आप इन मानों की गणना कर सकते हैं।
एल्गोरिदम यह जांचने के लिए कि आप कहां ब्लॉक डाल सकते हैं, बोर्ड को एक-एक करके जा सकते हैं, फिर खाली कोशिकाओं से रेगेक्स-पैटर्न के लिए हर दिशा में ट्रेस करें: बी + डब्ल्यू => डब्ल्यू ^, डब्ल्यू + बी => बी^इस तरह आप एक साधारण इंटरफ़ेस के अंदर गेम नियमों को समाहित कर सकते हैं जो इसका ख्याल रखता है।
क्या आप रिवर्सी के लिए रणनीति को लागू करने के बारे में बात कर रहे हैं या बस दो खिलाड़ियों को कंप्यूटर पर खेलने दें? – Barth
एक रणनीति। अच्छा प्रश्न। – EvilTeach