IOS ऐप स्टोर पर मेरे पास एक शीर्ष विक्रय सुडोकू गेम है। यहां बताया गया है कि मैंने पहेलियाँ कैसे बनाईं।
पहले मेरे पास एक पहेली जनरेटर एप्लिकेशन है। लेकिन यह गेम के कोड का हिस्सा नहीं है। यह एक स्टैंड अलोन ऐप है जिसका उपयोग मैं पहेलियाँ बनाने के लिए करता हूँ। यह अत्यधिक संशोधित है, इसलिए मैं इसे विभिन्न पैटर्न प्रकार, कठिनाई रेटिंग, givens की संख्या आदि बनाने के लिए सेट कर सकता हूं, पहेलियाँ उत्पन्न करना और एक सुसंगत कठिनाई स्तर प्राप्त करना मक्खी पर करना मुश्किल है और एक खिलाड़ी की प्रतीक्षा में अधिक समय लगता है। तो, मैं उत्पन्न करता हूं जिसे मैं "सीड पज़ल्स" कहता हूं और यही वह चीज़ है जो गेम कोड द्वारा उपयोग की जाती है ताकि लोग जो पज़ल बनाते हैं वह उत्पन्न हो।
मैं यहाँ एक जनरेटर को कोड करने के तरीके का जवाब नहीं दे रहा हूँ। आप गूगल और टन पहेली जनरेटर कोड ऑनलाइन पा सकते हैं। वहाँ शुरू करो। लेकिन एक अच्छा खेल बनाने के लिए आपको एक अच्छा खेल बनाने की आवश्यकता है। मेरा खेल मक्खी पर पहेली उत्पन्न नहीं करता है।
जिस तरह से मेरी पज़ल जेनरेटर ऐप काम करती है, वह प्रति मिनट हज़ारों पहेलियाँ बनाती है, लेकिन वे सभी अच्छे नहीं हैं और वे सभी एक विशिष्ट कठिनाई रेटिंग से मेल नहीं खाते हैं। जनरेटर एक पहेली बनाता है, फिर इसे हल करता है और एक कठिनाई रेटिंग का पता लगाता है, और पहेली को हल करने के लिए आवश्यक तकनीकों के आधार पर पहेली को स्कोर करता है, और निर्धारित करता है कि क्या अनुमान लगाने के लिए इसे हल करना आवश्यक है (जो आमतौर पर खराब है)। यह किसी भी पहेली को निकालता है जो एक मापदंड से मेल नहीं खाता है। कठिन लेकिन असंभव पहेली के लिए नहीं, एक तेज़ मशीन पर, मेरी सटीक विशिष्टताओं से मेल खाने वाली 100 पहेलियों को उत्पन्न करने में एक घंटे का समय लग सकता है। यही कारण है कि मैं ऐप में ऐसा नहीं करता हूं। उन कठिन विशिष्टताओं के साथ मक्खी पर पहेली बनाना उन पहेलियाँ की गुणवत्ता के लिए काम नहीं करेगा जो मेरे ऐप में हैं।
पहेलियाँ स्ट्रिंग्स हैं, 162 वर्ण लंबे, संख्याओं के साथ 81 वर्ण और डैश या डॉट्स जहां रिक्त स्थान होने जा रहे हैं, फिर समाधान के साथ एक और 81। फिर प्रत्येक आंकड़े के लिए कॉलम, जैसे कि कितने एकल, युगल, आदि।
सभी पीढ़ी सत्रों से मेरा आउटपुट कॉलम के रूप में आँकड़ों के साथ सीमांकित सीमांकित रेखाएँ हैं। मैं शायद १०,००० पहेलियाँ ले जाऊँगा, उन्हें एक्सेल में लाऊँगा, और उन्हें कठिनाई से हल करूँगा। फिर उन्हें गेम बोर्ड पर देखने के लिए एक ऐप में लाएं। मैं उन्हें दृश्य अपील और पहेली के दृश्यमान पैटर्न के लिए भी देखता हूं। फिर मैं उन लोगों से चुनता हूं।
मैं उन्हें बीज पहेली कहता हूं और यहां मेरा मतलब है। एक सुडोकू खेल में नंबर वास्तव में सिर्फ टोकन हैं। संख्या 1-9 होने के बजाय वे रंग या प्रतीक या अक्षर हो सकते हैं। तो मेरे बीज पहेली संख्या नहीं हैं वे अक्षर एआई हैं। प्रत्येक बीज पहेली को खेलने योग्य पहेली बनाने के लिए मक्खी पर बदल दिया जाता है:
- संख्या / टोकन यादृच्छिक करें। जब मैं पत्र को वापस 1-9 की संख्या में बदल देता हूं तो लुकअप टेबल यादृच्छिक हो जाती है। मतलब यह है कि हमेशा एक नहीं है। यह अकेले प्रत्येक पहेली पर लगभग 300,000 भिन्नताएं बनाता है।
- पहेली को 90, 180 या 270 डिग्री तक घुमाएं। यह 4 और विविधताओं को जोड़ता है।
- पहेली को क्षैतिज रूप से, लंबवत, या दोनों पर फ़्लॉप करें। यह 4 और विविधताओं को जोड़ता है।
प्रत्येक बीज पहेली इसलिए 5,806,080 बदलाव कर सकती है। मैंने असली खिलाड़ियों के साथ इस क्षेत्र में परीक्षण किया है। लोग नहीं जानते कि वे अनिवार्य रूप से एक ही पहेली खेल रहे हैं। यह वास्तव में असंभव है। केवल अगर वे नोटिस कर रहे थे कि पैटर्न हर बार समान होते हैं। लेकिन 100 अलग-अलग बीजों के साथ कोई भी नोटिस नहीं करेगा। मेरे खेल के एक लाख उपयोगकर्ता नहीं हैं। मैंने इसे सॉल्वर ऐप्स के साथ भी टेस्ट किया है। एक सॉल्वर ऐप एक पहेली को उसी तरह से हल नहीं करेगा जब इसे घुमाया या फ्लॉप किया जाएगा। यह कभी-कभी इसे एक अलग कठिनाई रेटिंग के रूप में भी विश्लेषण करेगा भले ही यह तकनीकी रूप से एक ही पहेली हो।
हालाँकि, बिग बैड सुडोकू बुक में 5 कठिनाई स्तरों में से 1000 के बीज पहेली हैं, और कई पहेली पैटर्न प्रकार हैं। इसका मतलब है कि मेरे खेल में अरबों पहेलियां हैं। हर 10,000 बीज पहेली के साथ 58,060,800,000 अलग-अलग पहेलियाँ हैं।
सुडोकू बुक संस्करण 4 में (2016 के कारण) मैंने उन 58 बिलियन में से एक सटीक पहेली को निर्दिष्ट करने और प्रत्येक खिलाड़ी के डिवाइस पर एक ही पहेली प्राप्त करने में सक्षम होने का एक तरीका निकाला।