कोड बॉट 2 में आपका स्वागत है!
आपने अंतिम कोड बॉट के बाद से अपना सबक सीखा है। आपने कम लाइनों में अधिक कार्यों को फिट करने के लिए और अधिक तरीके जानने की कोशिश की है, और अब आपके पास आखिरकार यह है। आप एक इवेंट-संचालित कोड बॉट बनाने जा रहे हैं।
आपकी बॉट में 24 लाइनें होनी चाहिए। प्रत्येक पंक्ति दो स्वरूपों में से एक का अनुसरण करती है:
Condition:Action
या
Action
आपके बॉट के पास 5 पूर्णांकों के नाम Aसे स्टोर करने के लिए पर्याप्त स्टोरेज है E। एक पूर्णांक मान 0 से 23 तक संग्रहीत कर सकता है।
प्रत्येक मोड़ पर, आप लाइन निष्पादित करेंगे C, जब तक कि शर्तों में से एक सच न हो। यदि ऐसा है, तो Cफिर सशर्त की लाइन संख्या सही होगी, और फिर उस लाइन को निष्पादित किया जाएगा। प्रत्येक मोड़ के अंत में, Cवृद्धि की जाएगी।
उपलब्ध शर्तें हैं:
Startकेवल पहली बारी पर सच है। आपके पास यह कोड एक बार अवश्य होना चाहिएBotAt(N)यह सच है अगर N द्वारा परिभाषित स्थान पर एक बॉट हैEquals(A,B)यह सच है कि यदि A, B के बराबर है। वे भिन्न प्रकार के हो सकते हैं, यदि हां, तो वे समान नहीं होंगे।Modified(A)Aअंतिम मोड़ के दौरान कॉपी किया गया तो सच है ।Aएक चर नाम, एक रेखा या एक शर्त होनी चाहिएAny(C1,C2,...)यदि कोई भी स्थिति सत्य है तो सत्य हैNone(C1,C2,...)यदि कोई भी स्थिति सत्य नहीं है तो सच हैAll(C1,C2,...)यदि सभी स्थितियाँ सत्य हैं तो सत्य हैNot(C)सच है अगर सी गलत है।Cएक शर्त होनी चाहिए।
चर निम्नलिखित स्वरूपों में से एक में हो सकते हैं। पहले 9 संख्यात्मक हैं, और जब भी इस पृष्ठ में एन का उपयोग किया जाता है, तो इसका उपयोग किया जा सकता है।
A,B,C,D,E- 0 से 23 तक की संख्या
Thisवर्तमान में वह लाइन नंबर वापस कर देगाAdd(N1,N2,...)सभी मूल्यों का योग लौटाएगाSub(N1,N2)एन 1 माइनस एन 2 लौटाएगाMult(N1,N2,...)सभी मूल्यों का उत्पाद लौटाएगाDiv(N1,N2)N2 द्वारा विभाजित N1 लौटाएगाMod(N1,N2)N1 मॉड N2 लौटाएगाOVar(N)एक चर नाम को स्वीकार करेगा, और प्रतिद्वंद्वी के चर को वापस कर देगाLine(N)आपके कोड में Nth लाइन लौटाएगाType(N)आपके कोड में Nth लाइन प्रकार लौटाएगा (प्रकार कार्रवाई के नाम हैं)Cond(N)Nth लाइन पर स्थिति लौटेगीCondType(N)Nth लाइन पर स्थिति प्रकार लौटाएगा (प्रकार शर्तों के नाम हैं)OLine(N)अपने प्रतिद्वंद्वी के कोड में Nth लाइन लौटाएगाOType(N)अपने प्रतिद्वंद्वी के कोड में Nth लाइन प्रकार लौटाएगाOCond(N)स्थिति को Nth लाइन पर लौटा देगाOCondType(N)Nth लाइन पर स्थिति प्रकार लौटाएगा
Aऔर Bआपके व्यक्तिगत उपयोग के लिए हैं, Cयह निर्धारित करने के लिए उपयोग किया जाता है कि आपके कोड में किस लाइन को निष्पादित किया जाए, और Dएक दिशा के रूप में उपयोग किया जाता है। से प्रत्येक मूल्य Dएक अलग वर्ग और दिशा जोड़ी को देखें। Eहर बार एक यादृच्छिक मूल्य पैदा करता है। Dऔर Eएक यादृच्छिक मूल्य के लिए इनिशियलाइज़ किया जाएगा, अन्यथा 0।
उपयोग की दिशा होगी [North,East,South,West][D%4]। आपका प्रतिद्वंद्वी उस दिशा में तत्काल वर्ग में बॉट है।
आपके लिए 4 क्रियाएं उपलब्ध हैं:
MoveआपकोDवें दिशा में 1 वर्ग आगे बढ़ाएगा । अगर वहाँ एक बॉट है, तो आप नहीं जाएंगे।Copy(A,B)Aकरने के लिए चर की नकल करेंगेB।Bएक चर नाम को छोड़कर, संख्यात्मक मान नहीं हो सकता है।AऔरBविभिन्न प्रकार के नहीं हो सकते। लाइन कॉपी करने से हालत कॉपी नहीं होती।Flagकुछ नहीं करता। आपके कोड में सबसे अधिक झंडे वाले बॉट को एक बिंदु मिलेगा। सबसे अधिक अंकों वाला बॉट जीतता है।If(C,L1,L2)L1अगरCसच है, तो लाइन परफॉर्म करेगाL2।Cएक स्थिति है, औरL1औरL2लाइनों होना चाहिए।
बड़ी तस्वीर
दुनिया में हर बॉट की 50 प्रतियां रखी जाएंगी। आपका लक्ष्य अपने झंडे को अधिक से अधिक बॉट में लाना है। प्रत्येक बॉट के लिए जो आपके ध्वज के किसी अन्य प्रकार के ध्वज की तुलना में अधिक है, आपको एक बिंदु मिलता है।
बॉट्स को इस प्रकार रखा जाएगा:
B...B...B...B...
..B...B...B...B.
B...B...B...B...
10 गेम चलेंगे, और सभी गेमों में अंक औसत होंगे, यह निर्धारित करते हुए कि विजेता कौन है।
साइड नोट्स
यदि कई शर्तें लागू होती हैं, तो जो सबसे अधिक अनुकरण करता है Start, उसे निष्पादित किया जाएगा
बॉट्स को बारीकी से पैक किया जाएगा लेकिन आप दूसरे बॉट की पड़ोसी को शुरू नहीं करेंगे। (यह आखिरी कोडबोट्स की तरह ही प्रारूपिक होगा)
चूंकि यह चुनौती सैंडबॉक्स में पोस्ट नहीं की गई थी (किसी को भी लाभ देने के लिए), मैं निष्पक्षता या अतिरिक्त क्षमताओं के लिए छोटे विवरण बदलने का अधिकार सुरक्षित रखता हूं। इसके अलावा, अगर CodeBots धावक में एक बग है, तो मैं इसे बदल दूंगा, भले ही कोई बॉट अपनी सफलता के लिए उस बग पर निर्भर हो। मैं यथासंभव निष्पक्ष रहने की कोशिश कर रहा हूं ।
पुनरावर्ती Ifकथनों को निष्पादित नहीं किया जाएगा
यदि आपकी बॉट 24 रेखाओं से छोटी है, तो शेष रेखाएं भर जाएंगी Flag
याद रखें जब अपनी खुद की नकल करते हैं C, तो Cआपकी बारी के अंत में वेतन वृद्धि होती है।
CodeBots दुभाषिया यहाँ पाया जा सकता है । इसमें आसान निष्पादन के लिए .jar फ़ाइल शामिल है। बस बॉट फ़ोल्डर में अपना बॉट जोड़ें
स्कोर
- 893.9 बोर्ग
- १.३ आलसी
- 0.9 डिफेंडर
- 0.5 ध्वजकार
- 0.4 CliqueBot
- 0.4 कपटी
- 0.3 हमलावर
- 0.3 गार्ड
- 0.3 सिंगलटार्गेट
- 0.2 फ्रीजबोट
- 0.2 प्रहरी
- 0.2 ड्राइवबी
- ०.० विरोधी
- ०.० मूवबॉट
- 0.0 क्लिकबोर्ग
- 0.0 कैलक्यूलेटर
- 0.0 टेस्टबोट
- ०.० इमीटेटर
अपडेट करें
जब आप अपने प्रतिद्वंद्वी के कोड को देखते हैं तो कोड की पंक्तियों को घुमाया जाता है। इसका मतलब है, आपके प्रतिद्वंद्वी की लाइन 1 लाइन 14 (या जो भी लाइन) हो सकती है। एक बॉट में एक निश्चित ऑफसेट होगा जो एक प्रतिद्वंद्वी द्वारा देखे जाने पर अपनी लाइनों को Xराशि से ऑफसेट करेगा । प्रतिद्वंद्वी के चर को भी उसी राशि से ऑफसेट किया जाएगा । एक ही खेल के भीतर नहीं बदलेगा, लेकिन यह खेल से खेल में बदल जाएगा।CXX