কোড বটস 2 এ আপনাকে স্বাগতম!
আপনি শেষ কোড বটগুলি থেকে আপনার পাঠটি শিখেছেন। আপনি কম লাইনে আরও ক্রিয়া ফিট করার জন্য আরও উপায়গুলি বের করার চেষ্টা করেছেন এবং শেষ পর্যন্ত এটি আপনার কাছে রয়েছে। আপনি ইভেন্ট-চালিত কোড বট তৈরি করতে যাচ্ছেন।
আপনার বটটিতে অবশ্যই 24 টি লাইন থাকতে হবে। প্রতিটি লাইন দুটি বিন্যাসের একটি অনুসরণ করে:
Condition:Action
অথবা
Action
তোমার বট এছাড়াও 5 নামে পূর্ণসংখ্যার ধারণ করার জন্য পর্যাপ্ত সঞ্চয়ের স্থান রেয়েছে A
মাধ্যমে E
। একটি পূর্ণসংখ্যা 0 থেকে 23 পর্যন্ত মান সংরক্ষণ করতে পারে।
প্রতিটি পালা, আপনি লাইনটি কার্যকর করবেন C
, যদি না কোনও শর্তটি সত্য হয়। যদি তা হয় তবে C
শর্তাধীন যে সত্য তা রেখার সংখ্যাটি অন্তর্ভুক্ত করবে এবং তারপরে সেই লাইনটি কার্যকর করা হবে। প্রতিটি পালা শেষে, C
বৃদ্ধি করা হবে।
উপলব্ধ শর্তাদি রয়েছে:
Start
প্রথম বারেই সত্য on আপনার কোডটিতে অবশ্যই একবারে এটি থাকা উচিতBotAt(N)
সত্য যদি এন দ্বারা সংজ্ঞায়িত স্থানে একটি বট থাকেEquals(A,B)
সত্য, যদি A সমান বি। তারা বিভিন্ন ধরণের হতে পারে, যদি তাই হয় তবে তারা সমান হবে না।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)
N1 বিয়োগ N2 প্রদান করবেMult(N1,N2,...)
সমস্ত মানের পণ্য ফিরে আসবেDiv(N1,N2)
N2 দ্বারা বিভক্ত N1 প্রদান করবেMod(N1,N2)
এন 1 মোড এন 2 ফিরিয়ে দেবেOVar(N)
একটি পরিবর্তনশীল নাম গ্রহণ করবে, এবং প্রতিপক্ষের পরিবর্তনশীলটি ফিরিয়ে দেবেLine(N)
আপনার কোডের Nth লাইনটি ফিরিয়ে দেবেType(N)
আপনার কোডে নবম লাইন প্রকারটি ফিরিয়ে দেবে (প্রকারগুলির ক্রিয়াগুলির নাম)Cond(N)
Nth লাইনে শর্ত ফিরিয়ে দেবেCondType(N)
Nth লাইনে শর্তের ধরণটি ফেরত দেবে (প্রকারগুলি শর্তগুলির নাম)OLine(N)
আপনার প্রতিপক্ষের কোডে নবম লাইনটি ফিরিয়ে দেবেOType(N)
আপনার প্রতিপক্ষের কোডে নবম লাইন প্রকারটি ফিরিয়ে দেবেOCond(N)
Nth লাইনে শর্তটি ফিরিয়ে দেবেOCondType(N)
Nth লাইনে শর্তের ধরণটি ফিরিয়ে দেবে
A
এবং B
আপনার ব্যক্তিগত ব্যবহারের জন্য, C
আপনার কোডে কোন রেখাটি কার্যকর করা হবে তা নির্ধারণ করতে ব্যবহৃত হয় এবং D
এটি একটি দিক হিসাবে ব্যবহৃত হয়। প্রতিটি মান D
একটি পৃথক স্কোয়ার এবং দিকনির্দেশনা জোড়া উল্লেখ করে। E
প্রতিটি সময় একটি এলোমেলো মান উত্পাদন করে। D
এবং E
অন্যথায় একটি এলোমেলো মান থেকে আরম্ভ করা হবে 0
।
ব্যবহৃত দিকটি হবে [North,East,South,West][D%4]
। আপনার প্রতিপক্ষ হ'ল সেই দিকে তত্ক্ষণাত্ স্কোয়ারের বট।
আপনার কাছে 4 টি ক্রিয়া উপলব্ধ রয়েছে:
Move
আপনাকে 1 বর্গ এগিয়ে অগ্রসর করবেD
। সেখানে যদি বট থাকে তবে আপনি নড়াচড়া করবেন না।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
করা একটি কার্যকর করা হবে
বটগুলি খুব কাছ থেকে প্যাক করা হবে তবে আপনি অন্য কোনও বট প্রতিবেশী শুরু করবেন না। (এটি প্রযুক্তিগতভাবে শেষ কোডবটসের মতো একই ফর্ম্যাট হবে)
যেহেতু এই চ্যালেঞ্জটি স্যান্ডবক্সে পোস্ট করা হয়নি (কাউকে কোনও সুবিধা দেওয়ার জন্য) না কেন, আমি ন্যায্যতার জন্য অতিরিক্ত বিবরণ বা অতিরিক্ত ক্ষমতা পরিবর্তনের অধিকার সংরক্ষণ করি। এছাড়াও, কোডবটস রানারটিতে যদি কোনও বাগ থাকে তবে আমি এটি পরিবর্তন করব, এমনকি যদি কোনও বট তার সাফল্যের জন্য সেই বাগের উপর নির্ভর করে। আমি যথাসম্ভব সুষ্ঠু হওয়ার চেষ্টা করছি ।
পুনরাবৃত্ত If
বিবৃতি কার্যকর করা হবে না
যদি আপনার বটটি 24 টি লাইনের চেয়ে কম হয়, তবে বাকি লাইনগুলি পূর্ণ হবে Flag
আপনার নিজের অনুলিপি করার সময় মনে রাখবেন C
, এটি C
আপনার পালা শেষে বৃদ্ধি পেয়েছে।
কোডবটসের দোভাষী এখানে পাওয়া যাবে । এটি সহজেই কার্যকর করার জন্য একটি .jar ফাইল অন্তর্ভুক্ত করে। কেবল বট ফোল্ডারে আপনার বট যুক্ত করুন
স্কোর
- 893.9 Borg
- 1.3 অলসতা
- 0.9 ডিফেন্ডার
- 0.5 ফ্ল্যাগার
- 0.4 ক্লিকবট
- 0.4 জালিয়াতি
- 0.3 আক্রমণকারী
- ০.০ গার্ড
- 0.3 সিঙ্গলটারেট get
- 0.2 ফ্রিজবোট
- 0.2 সেন্টিনেল
- 0.2 ড্রাইভবি
- 0.0 অ্যান্টিআইন্সিডিয়াস
- 0.0 মুভবোট
- 0.0 ক্লিকবার্গ
- 0.0 ক্যালকুলেটর
- 0.0 টেস্টবট
- 0.0 নকলকারী
হালনাগাদ
আপনি যখন আপনার প্রতিপক্ষের কোড দেখেন তখন কোডের লাইনগুলি ঘোরানো হয়। তার অর্থ, আপনার প্রতিপক্ষের লাইন 1 লাইন 14 (অথবা যে কোনও লাইনই) হতে পারে। একটি বটের একটি স্থির অফসেট থাকবে যা প্রতিপক্ষের দ্বারা দেখলেX
পরিমাণ অনুসারে তার লাইনগুলি অফসেট করে দেবে । প্রতিপক্ষের C
পরিবর্তনশীলও একই X
পরিমাণে অফসেট হবে । X
একই গেমের মধ্যে পরিবর্তন হবে না, তবে এটি গেম থেকে গেমে পরিবর্তিত হবে।