এই চ্যালেঞ্জ শেষ হয়েছে। প্রতিযোগীদের চূড়ান্ত স্কোর দেখতে, এখানে ক্লিক করুন
এই চ্যালেঞ্জে, প্রতিটি জমা দেওয়া একটি বট। প্রতিটি বট জাভাস্ক্রিপ্ট ফাংশন হওয়া উচিত। বটস সর্বাধিক মোট সোনার মূল্য অর্জনের জন্য লড়াই করবে। সোনার চাষ করা যায়, বা অন্যান্য বট মারা থেকে আয় করা যায় এবং নিরাময়, আক্রমণ, ঝালাই এবং কৃষিকাজ উন্নীত করতে ব্যবহৃত হয়।
উদ্দেশ্য:
একাধিক রাউন্ডে 1000 টি পর্যন্ত টার্ন রয়েছে (যখন কেবলমাত্র একটি বট বাকী থাকে তখন শেষ হয়), সর্বোচ্চ মোট মূল্যযুক্ত বট (প্রাপ্ত সমস্ত সোনার যোগফল) বিজয়ী।
পালা:
প্রতিটি ঘুরে, জীবিত প্রতিটি বট (> 0 এইচপি) একবার চালানো হবে। এটি কোনও পদক্ষেপ ফিরিয়ে দিতে পারে, যা নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
- নিরাময়: পুনরায় এইচপি
- আক্রমণ: অন্য বট থেকে এইচপি সরিয়ে দেয়
- ঝাল: পরবর্তী আক্রমণগুলির বিরুদ্ধে রক্ষা করে
- স্টান: অন্য বটের পরবর্তী পালাটি এড়িয়ে যায়
- ফার্ম: এইচপি দামে সোনার আয় হয়
- আপগ্রেড: নির্দিষ্ট পদক্ষেপগুলি আরও ভাল করুন
সমস্ত বটগুলি কার্যকর হওয়ার আগে তাদের চলন ফিরিয়ে দেবে, সুতরাং কোনও স্তম্ভ, নিরাময়, আক্রমণ, ,াল ইত্যাদির পরে সেই মোড়ের পরে চলমান কোনও বটকে প্রভাবিত করবে না। উদাহরণস্বরূপ, বট এ যদি বট বিটিকে স্টান করে এবং বট বি টার্ন ক্রমে বট এ এর পরে হয় তবে বট বি একই পরে আবার পরে যাবে এবং পরের বারে স্টানটি ঘটবে।
যুদ্ধ, কৃষিকাজ এবং আপগ্রেডিং:
প্রতিটি বটের সর্বোচ্চ 100 টি এইচপি থাকে এবং 0 এবং 99 এর মধ্যে একটি নির্ধারিত ইউআইডি থাকে This এই ইউআইডি প্রতিটি রাউন্ডের পরে পরিবর্তিত হয় এবং বটগুলি কীভাবে একে অপরকে ট্র্যাক রাখে।
নিরাময় হ'ল অন্যতম সরল পদক্ষেপ যা এর স্তর দ্বারা নির্ধারিত পরিমাণে এইচপি যুক্ত করে (5 এইচপি থেকে শুরু হয়)। একটি বট 100 টি এইচপি অতীতে নিরাময় করতে পারে না।
তার ইউআইডি দ্বারা বট আক্রমণ করা আরও একটি সম্ভাব্য পদক্ষেপ, স্তরটিতে 5 এইচপি এর বেস ক্ষতি সহ। বটগুলি স্তম্ভিত হয়ে যেতে পারে, তাদের পরবর্তী পালাও এড়িয়ে যায়, যা ইউআইডিও ব্যবহার করে।
বটের অতিরিক্ত ঝাল এইচপি থাকে, যার কোনও সীমা নেই। এই ঝাল এইচপি অন্যান্য বট থেকে সরাসরি আক্রমণ থেকে ক্ষতি শোষণ করবে এবং shাল দিয়ে যুক্ত করা হবে। 0 স্তরে, শিল্ডিং 5 টি শিল্ড এইচপি যুক্ত করে।
কৃষিতে 2 এইচপি ব্যয়ে 0 স্তরে 5 স্বর্ণ উপার্জন হবে। এই 2 এইচপি রক্ষা করা যাবে না। সোনার জন্য একমাত্র ব্যবহার (জয়ের বাইরে) চালগুলি আপগ্রেড করা। নিরাময়, আক্রমণ এবং ঝালাইয়ের মূল মূল্য 5 এইচপি হয় এবং 5 টি স্বর্ণ থেকে কৃষিকাজ শুরু হয়। এই পদক্ষেপগুলির প্রত্যেকের স্বতন্ত্র স্তর রয়েছে, যা 0 থেকে শুরু হয় formula
- হিলিং:
L + 5
- অ্যাটাকিং:
1.25L + 5
- সুরক্ষা কবচ:
1.5L + 5
- কৃষিকাজ:
2L + 5
যে কোনও পদক্ষেপের আপগ্রেড করার ব্যয় একটি নির্দিষ্ট স্তরের জন্য সমান এবং এটি নির্ধারিত হয় 2.5L² + 2.5L + 10
, যেখানে এল বর্তমান স্তর। এটি cost(currentLevel)
নির্ধারণ করতে একটি বট শর্টকাট হিসাবে ফাংশনটি ব্যবহার করতে পারে ।
বুটগুলি 25 টি স্বর্ণ দিয়ে শুরু হয়, যার ফলে তারা দুটি পদক্ষেপকে দ্রুত স্তরের 1 এ উন্নীত করতে পারে বা একটি স্তরকে 2 স্তরে উন্নতি করতে পারে This এই শুরুর সোনার বটগুলি মোট মূল্য হিসাবে গণনা করা হয় না। একটি বট হত্যা আপনি গোল্ড আপ এর মোট মূল্য অর্ধেক দেয়, এবং যদি দুটি বট একই পালা অন্য হত্যা, তারা উভয় পুরষ্কার পাবেন।
ইনপুট আউটপুট:
নিয়ামকের সাথে যোগাযোগের জন্য, ফাংশনের রিটার্ন মানটি সরানো তথ্য প্রেরণে ব্যবহৃত হয়। এর মধ্যে একটি ফেরত দেওয়া উচিত:
- সুস্থ
heal()
- আক্রমণ:
attack(uid)
- রক্ষা করুন
shield()
- অচেতন:
stun(uid)
- কৃষি:
farm()
- আপগ্রেড করুন:
upgrade("heal" / "attack" / "shield" / "farm")
কোনও পালা (কিছু করবেন না) এড়ানোর জন্য, কিছুই ফিরিয়ে দিন না, বা মিথ্যা মানটি ফিরিয়ে দিন।
বর্তমান টার্ন নম্বর পেতে (1 এ শুরু), ব্যবহার করুন turn()
।
আপনার ফাংশনটির যুক্তিগুলির মধ্যে আপনার বট, অন্যান্য বটের ইউআইডি এবং টার্ন-স্টোর স্টোরেজ সম্পর্কিত তথ্য অন্তর্ভুক্ত থাকবে। প্রথম আর্গুমেন্ট নিম্নলিখিত বৈশিষ্ট্য সঙ্গে একটি বস্তু হল: uid
, hp
, gold
এবং shield
। এগুলি আপনার বটের বর্তমান তথ্যের অনুলিপি। এছাড়া একটি নেস্টেড বস্তুর levels
মাত্রা সংখ্যার সঙ্গে, heal
, attack
, shield
, এবং farm
।
দ্বিতীয় যুক্তি সব জীবিত পুলিশের ছাড়া অন্য বট একটি এলোমেলো অ্যারে, একটি অবজেক্ট বৈশিষ্ট্যাবলী ধারণকারী হিসাবে ফরম্যাট করা uid
, hp
(প্লাস ঢাল), worth
এবং attack
(হামলা স্তর)। তৃতীয় আর্গুমেন্ট একটি খালি বস্তু যা টার্ন-স্টোরেজ স্টোরেজের জন্য ব্যবহার করা যেতে পারে।
উদাহরণস্বরূপ:
এই বটটি আক্রমণ চালিয়ে যাবে যতক্ষণ না এটি আক্রমণ আক্রমণ 5 স্তরে উন্নীত করতে পারে, তারপরে প্রতিটি মোড় মারা না যাওয়া (বা জিত) না হওয়া পর্যন্ত এলোমেলো বট আক্রমণ করবে। নিরাময় / শেল্ডিংয়ের অভাবে খুব কার্যকর নয়।
function freeTestBotA(me, others, storage) {
if (me.levels.attack < 5) {
if (me.gold < cost(me.levels.attack))
return farm();
return upgrade("attack");
}
return attack(others[0].uid);
}
এই বোটটির দুটি মোড রয়েছে: আপত্তিকর এবং প্রতিরক্ষামূলক। এটি হয় একটি এলোমেলো বট স্তম্ভিত করবে বা প্রতিরক্ষামূলক মোডে থাকাকালীন নিরাময় করবে এবং আক্রমণাত্মক মোডে আসার পরে এটি আক্রমণ বা ঝাল করবে। এটি যখনই সম্ভব এটির আক্রমণগুলিকে আপগ্রেড করার চেষ্টা করবে।
function freeTestBotB(me, others, storage) {
if (me.gold >= cost(me.levels.attack))
return upgrade("attack");
if (me.hp < 50)
if (Math.random() < 0.5)
return stun(others[0].uid);
else
return heal();
else
if (Math.random() < 0.5)
return attack(others[0].uid);
else
return shield();
}
নিয়মাবলী:
- স্ট্যান্ডার্ড লুফোলস নিষিদ্ধ
- বটগুলি তাদের ক্ষেত্রের বাইরে কোনও ভেরিয়েবল না পড়তে, সংশোধন করতে বা যুক্ত করতে না পারে, প্রতারণার চেষ্টা করতে পারে না এবং কোনও নিয়ামক-সংজ্ঞায়িত বা ডিওএম ফাংশনকে কল নাও করতে পারে
- রিটার্ন মান অবশ্যই মিথ্যা বা উপরের ফাংশনগুলির একটি হতে হবে of
- বটগুলি নির্দিষ্ট বটকে লক্ষ্য করার জন্য নকশাকৃত করা উচিত নয়, তবে সাধারণ কৌশলগুলির সুযোগ নিতে ডিজাইন করা যেতে পারে
- বটগুলি নিজেরাই আক্রমণ করতে পারে না (@ নেসের মন্তব্যের কারণে এটি আবিষ্কার করা হয়েছে)
- বটগুলি অবশ্যই অন্য যে কোনও বট থেকে আলাদা হতে হবে যা তারা যুক্তিসঙ্গতভাবে পৃথক এন্ট্রি হিসাবে বিবেচিত হতে পারে
- দলবদ্ধকরণের অনুমতি এখন নেই
- নিয়ামক এখানে পাওয়া যাবে
- আড্ডাখানা
নতুন নিয়ামক ডিবাগিং:
ফাইলটি ব্যবহার করে gold-battle-log.js
, আপনি debug
একটি বটের সম্পত্তির মান botData
0 (লগিং নেই), 1 (লগ চালনা), বা 2 (লগ মুভ, এইচপি, সোনার, স্তর ইত্যাদি) এ সেট করতে পারেন
চ্যালেঞ্জটি 9 ই আগস্ট শুক্রবার 1700 ইউটিসি-তে শেষ হবে
[closed]
শেষের দিকে নৈমিত্তিক দর্শকদের আমার চ্যালেঞ্জটি পড়ার কারণে এড়িয়ে যেতে পারে যেহেতু তারা কম মানের বা অফ-টপিক বলে ধরে নিচ্ছে ।