EDIT: हाल ही में, मेरे प्रश्न को 2048 बॉट चैलेंज के डुप्लिकेट के रूप में प्रस्तावित किया गया है । मैं इस बात पर जोर देना चाहूंगा कि यह प्रश्न उस प्रश्न से अलग है, और उस प्रश्न से अलग उत्तर के बारे में सोचने के लिए उत्तर की आवश्यकता होगी। 2048 बॉट चैलेंज ने उपयोगकर्ता को एक बॉट बनाने के लिए कहा, और यह एक घंटे के लिए चलाया जाएगा, जिसमें उच्चतम स्कोर उपयोगकर्ता का स्कोर होगा। इसके अतिरिक्त, इसकी सीमा 555 बाइट्स थी। मेरी चुनौती कोड को बहुत कम बार चलाता है, केवल 3 बार। आपके स्कोर की गणना उन तीन बार के औसत स्कोर का उपयोग करके और आपके गोल्फ कोड की चरित्र लंबाई से विभाजित करके की जाती है। मेरा प्रश्न प्रविष्टियों को "अधिक स्मार्ट" होने के लिए प्रोत्साहित करता है, न कि प्रयास करके और क्रूर बल द्वारा उच्चतम स्कोर प्राप्त करने के लिए।
-
EDIT: जेएस कीवर्ड प्राप्त के साथ भ्रम से बचने के लिए, getTile के लिए विधि बदल दी गई थी। इसके अतिरिक्त, एक उच्च स्कोर अनुभाग जोड़ा गया था।
हाल ही में, मैंने एक साइट बनाई जो लोकप्रिय गेम 2048 को जावास्क्रिप्ट का उपयोग करके नियंत्रित करने की अनुमति देती है। मेरी साइट यहाँ से जुड़ी हुई है:
किस तरह:
एक ऐस संपादक बोर्ड के ऊपर स्थित है। आप इसमें कोड डालते हैं, जो हर 250 ms, या 4 बार प्रति सेकंड के हिसाब से एक बार चलाया जाता है। इसे एक चक्र कहा जाता है।
बोर्ड को नियंत्रित करने के लिए निम्नलिखित विधियों का उपयोग करें। आप तीर कुंजी का उपयोग नहीं कर सकते।
up(); //move up
down(); //move down
left(); //move left
right(); //move right
move(integer); //integer is a direction. 0:up,1:right,2:down,3:left
getTile(y,x); //gets the value of the tile in position y,x on the board. See diagram
निम्नलिखित चर आपकी सुविधा के लिए परिभाषित किए गए हैं:
eother //boolean, alternates every cycle
frozen //integer, counts how many cycles the board has remained stationary
lastDir //integer, indicates the last direction that was tried to move in
//uses same format as the move method above.
startup //boolean, will always be true when the game first starts
//you can change it as you wish
a
b //a b and c are all persistant variables, they do not change each cycle
c //any other variables defined in the cycle will be reset every time
नियम:
- कोई यादृच्छिकता नहीं, आपको तर्क का उपयोग करना चाहिए। (हां, मुझे पता है कि उदाहरण कोड यादृच्छिक का उपयोग करता है।)
- खेल कार्यों में कोई हुकिंग या अन्य तरीकों से धोखा नहीं
- आम तौर पर, प्रति चक्र केवल एक चाल विधि को कॉल करने का प्रयास करें। यदि आप अधिक उपयोग करते हैं, तो यह ठीक है, लेकिन यह एनीमेशन के साथ शिकंजा करता है
- बोर्ड को एक यादृच्छिक स्थिति में शुरू करना चाहिए, पूर्व-गेम राज्य का कोई संशोधन नहीं
- आपको अपनी पोस्ट में कोड का असम्पीडित और गोल्फ संस्करण दोनों उपलब्ध कराना होगा।
- आपको उस साइट के लिए एक लिंक प्रदान करना होगा जो पहले से ही अपने कोड के असम्पीडित संस्करण को लोड करता है, जिसे PasteBin के माध्यम से परोसा जाता है (उदाहरण के लिए, ... thatcoolidea.com/2048?i=pH18GWtu उदाहरण कोड लोड करता है।)
स्कोरिंग:
- आपका कोड मेरे द्वारा बनाया जाएगा।
- आपके स्कोर का भाग A कोड के 3 रनों का एक औसत है, नीचे गोल।
- आपके स्कोर का पार्ट बी आपके गोल्फ कोड की चरित्र लंबाई है।
- आपका अंतिम स्कोर पार्ट ए द्वारा भाग बी से विभाजित है
विजेता को अपना कोड साइट पर उदाहरण कोड के रूप में अमर हो जाएगा, अगर वे चुनते हैं, और कोड में एक टिप्पणी में स्वीकार करते हैं।
सौभाग्य! आशा है कि आप चुनौती का आनंद लेंगे।
वर्तमान उच्च स्कोर 225.22 - फ्रीज़र - user3217109