कोड बॉट
मुझे निजी और संरक्षित चर से नफरत है। मैं बस कुछ भी और सब कुछ एक्सेस करना चाहता हूं!
यदि आप मेरे जैसे हैं, तो यह चुनौती आपके लिए है!
एक बॉट लिखें जो अन्य बॉट्स के साथ मिलकर काम करता है है अन्य बॉट्स को वही करता है जो आप चाहते हैं। आप एक प्रोग्रामर हैं, और आप जानते हैं कि चीजों को कैसे काम करना चाहिए। आपका काम जितना संभव हो उतने अन्य बॉट को अपने तरीकों में बदलना है।
कोड
अपने बॉट को लिखने के लिए आपके पास कोड की 24 लाइनें होंगी। प्रत्येक मोड़, प्रत्येक बॉट क्रमिक रूप से 1 पंक्ति निष्पादित करेगा।
प्रत्येक बॉट 5 चर संग्रहीत करता है A
के माध्यम से E
। A
और B
व्यक्तिगत उपयोग के लिए हैं, C
निष्पादित करने के लिए अगली पंक्ति को D
स्टोर करता है, वर्तमान दिशा को संग्रहीत करता है, और E
एक यादृच्छिक संख्या है। चर 0 पर शुरू होते हैं, सिवाय इसके D
, जो एक यादृच्छिक मूल्य पर शुरू होगा। सभी चर में केवल 0-23 स्टोर हैं। बड़ी या छोटी संख्या को 24 से संशोधित किया जाएगा।
इस पोस्ट में, मैं प्रतिद्वंद्वी का उपयोग उस निकटवर्ती बॉट के रूप में करूँगा, जिसका आप सामना कर रहे हैं
प्रत्येक पंक्ति में निम्नलिखित 5 आदेशों में से एक होना चाहिए:
Flag
कुछ नहीं करता। सिवाय इसके कि आप कैसे जीतेMove
अपने बॉट कोD
वें दिशा में ले जाता है । यदि कोई बॉट पहले से ही जगह घेरता है, तो कोई चाल नहीं चलेगीCopy Var1 Var2
Var1 की सामग्री को Var2 में कॉपी करता हैIf Condition Line1 Line2
यदि स्थिति सही है, तो Line1 को निष्पादित करें, अन्यथा Line2Block Var1
अगले लिखने को एक वैरिएबल पर ब्लॉक करता है
एक चर का उपयोग निम्नानुसार किया जा सकता है:
#Var
एक लाइन नंबर के रूप में चर का उपयोग करेगा। यदि A
17 है, 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 हमलावर