कोड बॉट
मुझे निजी और संरक्षित चर से नफरत है। मैं बस कुछ भी और सब कुछ एक्सेस करना चाहता हूं!
यदि आप मेरे जैसे हैं, तो यह चुनौती आपके लिए है!
एक बॉट लिखें जो अन्य बॉट्स के साथ मिलकर काम करता है है अन्य बॉट्स को वही करता है जो आप चाहते हैं। आप एक प्रोग्रामर हैं, और आप जानते हैं कि चीजों को कैसे काम करना चाहिए। आपका काम जितना संभव हो उतने अन्य बॉट को अपने तरीकों में बदलना है।
कोड
अपने बॉट को लिखने के लिए आपके पास कोड की 24 लाइनें होंगी। प्रत्येक मोड़, प्रत्येक बॉट क्रमिक रूप से 1 पंक्ति निष्पादित करेगा।
प्रत्येक बॉट 5 चर संग्रहीत करता है Aके माध्यम से E। Aऔर Bव्यक्तिगत उपयोग के लिए हैं, Cनिष्पादित करने के लिए अगली पंक्ति को Dस्टोर करता है, वर्तमान दिशा को संग्रहीत करता है, और Eएक यादृच्छिक संख्या है। चर 0 पर शुरू होते हैं, सिवाय इसके D, जो एक यादृच्छिक मूल्य पर शुरू होगा। सभी चर में केवल 0-23 स्टोर हैं। बड़ी या छोटी संख्या को 24 से संशोधित किया जाएगा।
इस पोस्ट में, मैं प्रतिद्वंद्वी का उपयोग उस निकटवर्ती बॉट के रूप में करूँगा, जिसका आप सामना कर रहे हैं
प्रत्येक पंक्ति में निम्नलिखित 5 आदेशों में से एक होना चाहिए:
Flagकुछ नहीं करता। सिवाय इसके कि आप कैसे जीतेMoveअपने बॉट कोDवें दिशा में ले जाता है । यदि कोई बॉट पहले से ही जगह घेरता है, तो कोई चाल नहीं चलेगीCopy Var1 Var2Var1 की सामग्री को Var2 में कॉपी करता हैIf Condition Line1 Line2यदि स्थिति सही है, तो Line1 को निष्पादित करें, अन्यथा Line2Block Var1अगले लिखने को एक वैरिएबल पर ब्लॉक करता है
एक चर का उपयोग निम्नानुसार किया जा सकता है:
#Varएक लाइन नंबर के रूप में चर का उपयोग करेगा। यदि A17 है, Copy #8 #Aतो लाइन 8 की सामग्री को लाइन 17 पर कॉपी
*Varकरेगा। अपने प्रतिद्वंद्वी के चर का उपयोग करेगा। Copy 5 *Cप्रतिद्वंद्वी के Cचर को 5
Var+Varदो चर जोड़ देगा। Copy D+1 Dबॉट को दाईं ओर घुमाएगा
जब Dएक दिशा के रूप में प्रयोग किया जाता है,[North, East, South, West][D%4] उपयोग किया जाएगा
इन संशोधकों को जंजीर Copy *#*C #9में डाला जा सकता है: अगली पंक्ति की प्रति आपके विरोधी अपने स्वयं के कोड में निष्पादित करेंगे। 9. **Dअपने प्रतिद्वंद्वी के प्रतिद्वंद्वी को संदर्भित करता हैD चर।
एक शर्त का मूल्यांकन इस प्रकार किया जाएगा:
- यदि
Var:- यदि वार के
Aमाध्यम से होता हैC, तो यह सही होगा यदि वर नॉनज़रो है, और असत्य है। - अगर वर है
D, तो यह सच है अगर वहाँ एक बॉटDवें दिशा में है, और गलत है - यदि वर है
E, तो यह सही होगा यदि E विषम है, और असत्य है - यदि वार एक रेखा है, तो यह ध्वज रेखा होने पर सही लौटेगी
- यदि वार के
- यदि
Var1=Var2:- अगर दोनों सही हैं
A-Eऔर समान संख्या में समान हैं , तो लौटाता है - यदि दोनों लाइनें हैं, तो रिटर्न सही है, और लाइन प्रकार समान है
- अगर दोनों सही हैं
- यदि
Var1==Var2:- अगर दोनों सही हैं
A-Eऔर समान संख्या में समान हैं , तो लौटाता है - सही है अगर दोनों लाइनें हैं, और समान हैं (विभिन्न बॉट्स से झंडे समान नहीं होंगे)
- अगर दोनों सही हैं
प्रत्येक पैटर्न के 50 बॉट्स को निम्न पैटर्न में एक टॉरॉयडल वर्ल्ड में रखा जाएगा:
B...B...B...B...
..B...B...B...B.
B...B...B...B...
..B...B...B...B.
5,000 मोड़ के प्रत्येक खेल के बाद, प्रत्येक बॉट पर झंडे की गिनती की जाएगी। यदि किसी बॉट में आपके झंडे में किसी अन्य प्रकार के झंडे की तुलना में अधिक है तो आपको एक बिंदु मिलता है। यदि Nबॉट के बीच एक टाई का मामला है , तो कोई अंक नहीं दिया जाता है।
10 गेम होंगे, और स्कोर अंत में जमा होंगे।
साइड नोट्स
पंक्ति टिप्पणियों के अंत की अनुमति है, और इसके साथ चिह्नित हैं //
कुछ करने की कोशिश करना, जो समझ में नहीं आता है, जैसे कि एक पंक्ति में जोड़ने से कुछ नहीं होगा
गैर-मौजूद बॉट पर कुछ करने का प्रयास कुछ भी नहीं करेगा
Ifविल पर अनंत पुनरावृत्ति समाप्त हो जाएगी जिसमें कोई भी लाइन निष्पादित नहीं होगी
If का मान नहीं बदलता है C
ए Block यह करने के लिए लिखने के लिए किसी प्रयास जब तक समाप्त न हो
एकाधिक चर और रेखाएँ एक ही बार में अवरुद्ध की जा सकती हैं
Blockजब तक दूसरा ब्लॉक स्टेटमेंट आपके पहले की तुलना में कोड की एक अलग लाइन पर होता है, तब तक कई बार एक वेरिएबल को कई बार ब्लॉक कर देगा
रिक्त स्थान केवल तर्कों (और आदेश के बाद) के बीच अनुमत हैं
यदि कोई बॉट 24 लाइनों से छोटी है, तो फ्लैग बाकी लाइनें होंगी।
नमूना कार्यक्रम
Copy 2 C //Skip to the If line
Flag //Where I'm storing my flag
Move //Move in the D'th direction
If D #5 #2 //If there's a bot, copy code, otherwise, move!
Copy #1 *#E //Copy my flag onto a random spot in my bot's code
Copy 2 C //Skip back to the If line
कार्यक्रम मेरे पायथन नियंत्रक द्वारा यहां चलाया जाएगा ।
जावा कंट्रोलर यहाँ है यह तेज़ है और अजगर से बेहतर है।
स्कोरबोर्ड:
- 6837 $ कॉपी
- 3355 लॉकहीड
- 1695 माइंडकंट्रोल
- 967 बीजान्टिन
- 959 पर हमला
- 743 कैडमिलियन
- 367 इन्फ्लुएंजा
- 251 TheCommonCold
- 226 मैगस
- 137 HideBlockAttack
- 129 रौबोट
- 123 FastMoveCloneDodge
- 112 FastForwardClone
- 96 क्विकफ़्रीज़
- 71 रिपेयरएंडप्रोटेक्ट
- 96 सुपरफ़्रीज़
- 93 RovingVirus
- 80 फ़ॉरवर्डक्लोन
- 77 फ्रीजटैग
- 68 पालिम्प्सस्टे
- 62 ब्लॉकफ्रीआटैक
- 51 रशअटैकडॉज
- 46 अवरोधक
- 40 बुर्जमैकर
- 37 नकलची
- 37 कामिकज़े
- ३५ ध्वजवाहक
- 33 रैंडमकॉपियर
- 31 कपटी
- 29 हैप्पीस्क्लाम
- 25 नैनो वायरस
- 21 अशक्त
- 19 नैनोविरिस
- 17 बोरिंगकॉपीबॉट
- 16 चालबाज़
- 14 फ्लैगबॉट
- 13 तटस्थ
- 12 कर्क
- 9 डीएनएबॉट
- 9 परजीवी
- 8 मेटाइंसिडियस
- 8 रीब्रांडिंग
- 8 AdaptiveBot
- 8 पुन: प्रस्तुत करना
- 8 कुंगफूबोट
- 5 क्विकफ्रीब्यूट
- 4 हमलावर