এন্ট্রিগুলি এখন বন্ধ রয়েছে। কোনও নতুন এন্ট্রি বা সম্পাদনা চূড়ান্ত রান গণনা করা হবে না।
আড্ডায় যোগ দিন!
চ্যালেঞ্জ
যতটা সম্ভব পেইন্ট দিয়ে ক্যানভাসটি পূরণ করার চেষ্টা করুন। আপনার কঠোর পরিশ্রমের উপর অঙ্কন করতে পারে এমন অন্যান্য বট সম্পর্কে সতর্ক থাকুন!
দ্রষ্টব্য: এই চ্যালেঞ্জের বিবরণে পেইন্টের অর্থ গ্রিডে স্কোয়ারের রঙ পরিবর্তন করা এবং আনপেন্ট করা না হওয়া মানে গ্রিডের বর্গক্ষেত্রের বর্ণ 0 এবং এটি কোনও বটকেই দায়ী করা হয় না।
ইনপুট
আপনার ফাংশনটিতে চারটি আর্গুমেন্ট দেওয়া হবে: নিজের, গ্রিড, গ্রিড এবং গেমের তথ্যের সমস্ত বটের অবস্থান।
নিজেকে
এই 1D অ্যারে যা গ্রিড আপনার রঙ এবং অবস্থান উল্লেখ করে হল: [id, xpos, ypos]
।
গ্রিডের উপরের বাম কোণে অবস্থান (0, 0)
। অবস্থানটি (1,0)
তার ডানদিকে এবং অবস্থানটি (0,1)
নীচে
আপনার আইডি একটি পূর্ণসংখ্যা যা আপনার রঙের সমার্থক (আপনার গ্রিডটি কীভাবে আঁকবেন আপনার আইডি কীভাবে প্রভাবিত করে তা নীচে দেখুন)। আপনার আইডি আপনার বটের জন্য স্বতন্ত্র।
গ্রিড
এটি একটি 2 ডি অ্যারে যার মধ্যে পূর্ণসংখ্যা রয়েছে যা আপনাকে জানায় যে প্রতিটি ঘরের রঙটি কী। যদি গ্রিড কক্ষের সংখ্যা হয় তবে এর 0
অর্থ হ'ল সেই সেলটি বিনা রঙে রয়েছে। যদি গ্রিড কক্ষের সংখ্যাটি একটি পূর্ণসংখ্যা হয় x
, এর অর্থ হ'ল ঘরটি আইডি সহ বট দ্বারা আঁকা হয়েছে x
।
অবস্থানে গ্রিড রঙ পেতে (x, y)
, তাই মতো বিন্যাস ব্যবহার করুন: grid[x][y]
।
বট
এটি এমন একটি অ্যারে যা বটগুলির অবস্থান সম্পর্কে তথ্য ধারণ করে। বট অ্যারের প্রতিটি উপাদান হ'ল একটি অ্যারে যা প্রতিটি বটকে বর্ণনা করে এবং দেখে মনে হয়: বটের আইডিটি [id, xpos, ypos]
কোথায় id
, বটের xpos
এক্স অবস্থান এবং বটের ypos
y অবস্থান।
এই অ্যারেতে আপনার নিজের বটের অবস্থান এবং আইডি অন্তর্ভুক্ত রয়েছে। এলিমিনেটেড বটস এই অ্যারেটিতে অন্তর্ভুক্ত হবে না।
খেলা তথ্য
এটি বর্তমান গেম সম্পর্কিত তথ্য সম্বলিত একটি অ্যারে এবং দেখে মনে হচ্ছে: বর্তমান রাউন্ডের সংখ্যা [roundNum, maxRounds]
কোথায় roundNum
(1-ইনডেক্সড) এবং maxRounds
বর্তমান গেমের রাউন্ডের সংখ্যা।
আউটপুট
আউটপুটটি আপনার ফাংশন দ্বারা ফিরে আসা স্ট্রিং হওয়া উচিত। এটি মুভমেন্ট কমান্ড।
মুভমেন্ট কমান্ড আপনার পরবর্তী পদক্ষেপ নির্ধারণ করে। উপলব্ধ কমান্ডগুলি হ'ল:
up
down
left
right
wait
আপনি যখনই স্থানান্তর করবেন, আপনি যে স্কোয়ারটিতে চলেছেন তা আঁকেন। (আরও তথ্যের জন্যে নিচে দেখুন)
যেখানে wait
আপনি সরান না মানে। (তবে আপনি যে বর্গক্ষেত্রটি আঁকেন তা আঁকুন)
আপনি যদি গ্রিডের বাইরে যাওয়ার চেষ্টা করেন, আপনার আদেশটি উপেক্ষা করা হবে এবং আপনি একই জায়গায় থাকবেন।
গ্রিড পেইন্টিং
আপনি যখনই কোনও স্কোয়ারে চলে যান, আপনি এটিকে আঁকেন, তবে এমন কিছু বিধি রয়েছে যা সেই স্কোয়ারের রঙটি কী তা নির্ধারণ করে।
বর্গটি যদি বিনা রঙে থাকে (0), তবে আপনি কেবল এটি নিজের আইডির মতো রঙ করুন। তবে, বর্গটি যদি আগে আঁকা থাকে (শূন্য নয়) তবে স্কয়ারের ফলাফলের বর্ণটি নিম্নলিখিত জাভাস্ক্রিপ্ট কোড অনুসারে পাওয়া যাবে:
[botColour, 0, floorColour][Math.abs(botColour - floorColour)%3]
এই সূত্রটি এমনভাবে তৈরি করা হয়েছে যাতে কোনও বটটিকে পুনরায় রঙ না করেই তার নিজের রঙের উপরে চলে যেতে দেওয়া হয়।
বর্জন
যদি, রাউন্ড 5 এর পরে আপনার এক বা কম স্কোয়ার আঁকা থাকে (গ্রিডে স্কোয়ারের সংখ্যা যা আপনার মতো একই রঙের হয়) তবে আপনাকে নির্মূল করা হবে। এর অর্থ হ'ল আপনি আর খেলায় থাকবেন না এবং স্বয়ংক্রিয়ভাবে হারাবেন।
বিধি
- আপনার কোড অবশ্যই প্রকারের একটি ফাংশন আছে
function(myself, grid, bots, gameInfo) {
// Code here
return move;
}
- গ্রিডটি পাশের দৈর্ঘ্যের বর্গক্ষেত্র
- নির্দিষ্ট বটগুলিকে লক্ষ্যবস্তু হতে আটকাতে, বটের আইডিগুলি এলোমেলো করে দেওয়া হবে।
- যখন দুটি বট একই স্থান দখল করে, তখন সেই জায়গার রঙটি বিনা রঙে করা হবে।
- আন্দোলন একটি রাউন্ড সময় পালা-ভিত্তিক অর্থাত, সব বট অভিন্ন সঙ্গে সরবরাহ করা হয়
grid
,bots
এবংgameInfo
আর্গুমেন্ট
- আপনি সর্বোচ্চ তিনটি বট তৈরি করতে পারেন
- বটগুলি একসাথে কাজ করতে পারে তবে একে অপরের সাথে যোগাযোগ করতে হবে না এবং একে অপরের আইডি জানতে পারবে না। জয় দল হিসাবে নয় পৃথকভাবে পুরষ্কার দেওয়া হবে।
- আপনার অবশ্যই এমন একটি বট তৈরি করা উচিত যা ইচ্ছাকৃতভাবে একটি একক, প্রাক-বাছাই করা বটকে লক্ষ্য করে। আপনি তবে বটসের একটি সাধারণ শ্রেণির কৌশলগুলি লক্ষ্য করতে পারেন।
- আপনার বট ডেটা সঞ্চয় করতে পারে
window.localStorage
। প্রতিটি বটকে তাদের নিজস্ব ডেটা অবজেক্ট ব্যবহার করতে হবে। যদি কোনও বট অন্য কোনও বটের ডেটা (দুর্ঘটনাক্রমে বা উদ্দেশ্যমূলকভাবে) পড়তে দেখা যায় তবে সমস্যা সমাধান না হওয়া পর্যন্ত এটি অযোগ্য ঘোষণা করা হবে। - যদি আপনার বট এলোমেলো সংখ্যা ব্যবহার করে তবে দয়া করে ব্যবহার করুন
Math.random()
নিয়ামক
নিয়ামকটি এখানে পাওয়া যাবে:
https://gist.github.com/beta-decay/10f026b15c3babd63c004db1f937eb14
বা আপনি এটি এখানে চালাতে পারেন: https://beta-decay.github.io/art_attack
দ্রষ্টব্য: ওয়েবপৃষ্ঠাটি যে কোনও মুহুর্তে পরিবর্তনের সাপেক্ষে আপনি কোনও পরীক্ষার অফলাইনে (গিস্ট থেকে নিয়ামকটি ডাউনলোড করুন) পরামর্শ দিন।
সমস্ত বট যুক্ত হয়ে গেলে, আমি গ্রাফিকাল ইন্টারফেস ছাড়াই স্ট্রিপড ডাউন কন্ট্রোলার সহ 10,000 গেমগুলি চালাব। আপনি এটি এখানে চালাতে পারেন: https://beta-decay.github.io/art_attack/ ব্রেকফাস্ট
জয়লাভ
যে খেলোয়াড় বেশিরভাগ ক্যানভাসটি পূরণ করেছে সে গেমটি জয় করে (একটি গেমটি 2000 রাউন্ড)। একটি ড্র ইভেন্টে, সমস্ত টানা খেলোয়াড় জয়।
10,000 গেমের মধ্যে সর্বাধিক জয়ী প্লেয়ার চ্যালেঞ্জ জিততে পারে।
10,000 গেমগুলি আগামী সোমবারে (2018-08-27 23:00 ইউটিসি + 1 এ) চালিত হবে বলে অনুমান করা হয়।
[botColour, 0, floorColour][Math.abs(botColour - floorColour)%3]
সূত্রটি নিয়ে আরও অনেক কিছু করা উচিত , যদিও কোনও বট ভাগ্যবান হয় এবং না বড় প্রতিযোগীদের (বা আঁকিয়ে যায়) আঁকিয়ে যায়। এছাড়াও ট্রোল / শিকারিদের অ্যাকাউন্টে গ্রহণ করুন যা এককভাবে তাদের পছন্দসই একটি বট ধ্বংস করতে পারে। যেভাবেই হোক না কেন, এটি 10000 গেমগুলির গড়পড়তা হবে।
[botColour, 0, floorColour][Math.abs(botColour - floorColour)%3]
ইংরেজিতে অনুবাদ করতে পারবেন ?