आपका काम 2048 के एक गणितीय रूप से परिपूर्ण खेल का अनुकरण करना है। विचार यह है कि 2048 के खेल की सैद्धांतिक ऊपरी सीमा कितनी दूर तक जा सकती है, और वहां कैसे पहुंचा जाए।
यह कैसा दिखता है, इसका अनुमान लगाने के लिए, इस 2x2 क्लोन के साथ खेलें और 68 अंक स्कोर करने का प्रयास करें। यदि आप करते हैं, तो आप 2, 4, 8 और 16 टाइल के साथ समाप्त हो जाएंगे। उस बिंदु से आगे बढ़ना असंभव है।
आपका काम आसान हो गया है क्योंकि आप चुन सकते हैं कि टाइलें कहाँ पर घूमती हैं और उनके मूल्य क्या हैं, बस इस क्लोन की तरह ।
आपको एक प्रोग्राम या फ़ंक्शन लिखना होगा जो 2048 बोर्ड को इनपुट के रूप में स्वीकार करता है, और टाइल को ढहाने के बाद बोर्ड को स्पॉम्ड टाइल और बोर्ड के साथ आउटपुट करता है। उदाहरण के लिए:
Input:
-------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 8 8
Output:
-------
0 0 0 0
0 0 0 0
0 0 0 0
0 4 8 8
0 0 0 0
0 0 0 0
0 0 0 0
0 0 4 16
आपके कार्यक्रम को 2048 के पूरे खेल को अनुकरण करने के लिए बार-बार अपने स्वयं के आउटपुट को खिलाया जाएगा। कार्यक्रम का पहला इनपुट एक खाली बोर्ड होगा। आपको मूल गेम की दो टाइलों के विपरीत, उस पर एक टाइल स्पॉन करना होगा। खेल के अंतिम चरण में, आप स्थानांतरित करने में असमर्थ होंगे, इसलिए आपके दो आउटपुट बोर्ड समान हो सकते हैं।
आपको निश्चित रूप से केवल कानूनी कदम उठाने होंगे। केवल 2 या 4 को ही जाड़ा जा सकता है, आपको एक चाल पर कम से कम एक टाइल को हिलाना या गिराना होगा, आदि।
मैंने जानबूझकर इनपुट और आउटपुट आवश्यकताओं को अस्पष्ट बना दिया है। आप इनपुट और आउटपुट के प्रारूप को चुनने के लिए स्वतंत्र हैं। आप मैट्रिस, एरेज़, स्ट्रिंग्स या जो भी आप चाहते हैं, का उपयोग कर सकते हैं। जब तक आप उनके साथ 2048 खेल का अनुकरण कर सकते हैं, आपके इनपुट और आउटपुट ठीक हैं।
विजेता वह होगा जो बोर्ड पर उच्चतम टाइल के साथ खेल को समाप्त करता है, फिर स्रोत कोड में सबसे कम बाइट्स होता है। मूल खेल से स्कोरिंग को ध्यान में नहीं रखा जाएगा। (संकेत: 4 का उपयोग करें)