স্ক্রিপ্টবট ওয়ার্জ!
ফলাফলগুলি রয়েছে এবং আসসিন আমাদের চ্যাম্পিয়ন, 3 ম্যাচের 2 টি জিতেছে! যারা তাদের স্ক্রিপ্টবট জমা দিয়েছেন তাদের সবাইকে ধন্যবাদ! BestOpportunityBot এর জন্য শিংগুলির জন্য বিশেষ ধন্যবাদ যা চমৎকার পথ প্রদর্শন করেছে এবং সমস্ত ক্রিয়াকলাপের বিকল্প ব্যবহার করে।
মানচিত্র 1
প্রথম দিকে বেস্টঅপার্টিউটিবোটকে বের করে দিয়েছিল আসসিন, এবং ম্যাচের বাকি অংশটি বেশ বিরক্তিকর ছিল। এখানে প্লে-বাই-প্লে বিস্তারিত।
- অ্যাসাসিন: 10 এইচপি, 10 ড্যামেজ ডিল্ট, 3 ক্ষয়ক্ষতি নেওয়া হয়েছে
- অ্যাভয়েডার ভি 3: 10 এইচপি, 0 ক্ষতির ডিল্ট, 0 ক্ষতি নেওয়া হয়েছে
- সমাপ্ত খাবার খাওয়াতে হবে: 10 এইচপি, 0 ক্ষতির ডিল্ট, 0 ক্ষতি নেওয়া হয়েছে
- বেস্টঅরপোর্টনিউবট: 0 এইচপি, 3 ড্যামেজ ডিল্ট, 10 ড্যামেজ নেওয়া হয়েছে
মানচিত্র 2
এই ম্যাচের সেরা কাজ বেস্টঅপার্পটিটিউবট করেছেন তবে শেষ পর্যন্ত তাকে বের করে নিতে সক্ষম হন আসসিন। এখানে প্লে-বাই-প্লে বিস্তারিত।
- হত্যাকারী: 2 এইচপি, 10 ক্ষতির ডিল্ট, 9 টি ক্ষতি হয়েছে
- বেস্টঅরপোর্টনিউবট: 0 এইচপি, 32 ড্যামেজ ডিল্ট, 10 ড্যামেজ নেওয়া হয়েছে
- অ্যাভয়েডার ভি 3: 0 এইচপি, 0 ড্যামেজ ডিল্ট, 12 ড্যামেজ নেওয়া হয়েছে
- সমাপ্ত খাবার খাওয়াতে হবে: 0 এইচপি, 0 ড্যামেজ ডিল্ট, 11 ড্যামেজ নেওয়া হয়েছে
মানচিত্র 3
সেরা ম্যাচটি এই ম্যাচে সবাইকে ফাঁদে ফেলে দিয়েছে Best খুব ঠান্ডা. এখানে প্লে-বাই-প্লে বিস্তারিত।
- বেস্টঅরপোর্টনিউবট: 10 এইচপি, 30 ড্যামেজ ডিল্ট, 0 ক্ষয়ক্ষতি নেওয়া হয়েছে
- হত্যাকারী: 0 এইচপি, 0 ক্ষতির ডিল্ট, 0 ক্ষতি নেওয়া হয়েছে
- সমাপ্ত খাবার খাওয়াতে হবে: 0 এইচপি, 0 ক্ষতির ডিল্ট, 0 ক্ষতি নেওয়া হয়েছে
- অ্যাভয়েডার ভি 3: 0 এইচপি, 0 ক্ষতির ডিল্ট, 0 ক্ষতি নেওয়া হয়েছে
আপনার উত্তরের জন্য ধন্যবাদ! যেহেতু এখানে মাত্র 4 স্ক্রিপ্টবট রয়েছে, তাই আমরা তিনটি ফ্রি-ফর ম্যাচের জন্য টুর্নামেন্টের পরিকল্পনাগুলি ত্যাগ করছি, নীচের প্রতিটি মানচিত্রে একটি করে। সর্বাধিক জয়ের রেকর্ডের সাথে স্ক্রিপ্টবট জিতেছে। টাই হওয়ার সময়, আমরা হঠাৎ মৃত্যুতে প্রবেশ করব যেখানে স্ক্রিপ্টবট যিনি টাইকে প্রথমে বিরতি দেয়।
আপনার কাজটি, যদি আপনি এটি গ্রহণ করা পছন্দ করেন তবে হ'ল একটি স্ক্রিপ্টবোট কোড করা যা একটি ASCII মানচিত্রটি অতিক্রম করতে এবং এর বিরোধীদের ধ্বংস করতে পারে। প্রতিটি যুদ্ধ একটি র্যান্ডম-স্টার্টিং-অর্ডার টার্ন-বেসড গেমের রূপ নেবে যেখানে প্রতিটি স্ক্রিপ্টবটকে পদক্ষেপ নিতে তাদের শক্তি পয়েন্টগুলি (ইপি) ব্যয় করার সুযোগ রয়েছে has গেমমাস্টার স্ক্রিপ্ট প্রতিটি স্ক্রিপ্টবট থেকে ইনপুট ফিড করবে এবং ব্যাখ্যা করবে।
পরিবেশ
প্রতিটি Scriptbot নিজস্ব ডিরেক্টরির মধ্যে অন্তর্ভুক্ত করা হয় যেখানে এটি থেকে পড়তে পারেন map
এবং stats
/ ফাইল এবং লেখার পড়া data
ফাইল। data
ফাইলটি কোন ক্রমাগত তথ্য আপনি পক্ষে উপযোগী হতে পারে সঞ্চয় করতে ব্যবহার করা যাবে।
পরিসংখ্যান ফাইল
stats
ফাইল আপনার বিরোধীদের সম্পর্কে তথ্য রয়েছে এবং নিম্নরূপ ফর্ম্যাট করা হয়েছে। প্রতিটি খেলোয়াড় একটি পৃথক সারিতে প্রতিনিধিত্ব করা হয়। প্রথম কলামটি প্লেয়ার আইডি ( @
মানে আপনি)। দ্বিতীয় কলামটি সেই খেলোয়াড়ের স্বাস্থ্য।
1,9HP
@,10HP
3,9HP
4,2HP
মানচিত্র ফাইল
map
ফাইল ভালো কিছু চেহারা হতে পারে ...
####################
# # # #
# 1 # # 2 #
# #
### ###
# #
# # #
# # ! #
# # #
# !#### #
# ####! #
# # #
# ! # #
# # #
# #
### ###
# #
# 3 # # @ #
# # # #
####################
... অথবা এটা...
######################################
# # 1 # @ #
# # # #! #
# # # #### #
# # # # # !#! #
# # # # # ##### #
# ### # #### # # #
# # #! ### # #
# ###### # # # ##### #
# #! # ###### # !# #
# ### # # # #
# # 2 # # 4 # #
######################################
... অথবা এটা...
###################
###!!!!!!#!!!!!!###
##! !##
#! 1 ! 2 !#
#! ! !#
#! !#
#! !#
#! !!! !#
## !! !!! !! ##
#! !!! !#
#! !#
#! !#
#! ! !#
#! 3 ! @ !#
##! !##
###!!!!!!#!!!!!!###
###################
... অথবা এটি সম্পূর্ণ আলাদা দেখায়। যেভাবেই হোক না কেন, ব্যবহৃত অক্ষরগুলি এবং তাদের অর্থ একই থাকবে:
#
একটি প্রাচীর, দুর্গম এবং দুর্ভেদ্য।1
,2
,3
... একটি নম্বর শত্রু খেলোয়াড় উপস্থাপন করে। এই সংখ্যাগুলিstats
ফাইলের প্লেয়ার আইডির সাথে মিলে যায় ।!
একটি ফাঁদ. স্ক্রিপ্টবটগুলি যারা এই অবস্থানগুলিতে চলে যায় অবিলম্বে মারা যাবে।@
আপনার স্ক্রিপ্টবটের অবস্থান।উন্মুক্ত স্থান যা আপনি চলাচল করতে মুক্ত।
গেমপ্লের
গেমমাস্টার স্ক্রিপ্ট স্ক্রিপ্টবটগুলিতে এলোমেলোভাবে অর্ডার দেবে। স্ক্রিপ্টবটগুলি তখনও জীবিত থাকাকালীন এই ক্রমে অনুরোধ করা হয়। স্ক্রিপ্টবটগুলিতে 10 টি হেলথ পয়েন্টস (এইচপি) রয়েছে এবং প্রতিটি পালা 10 এনার্জি পয়েন্টস (ইপি) দিয়ে শুরু হয়, যা তারা স্থানান্তর বা আক্রমণ করতে ব্যবহার করতে পারে। প্রতিটি পালা শুরু করার সময়, একটি স্ক্রিপ্টবট একটি এইচপির জন্য নিরাময় করবে, বা যদি ইতিমধ্যে 10 এইচপি-তে থাকে তবে একটি অতিরিক্ত ইসি দেওয়া হবে (এইভাবে চলমান সময়ে কার্যকর व्यवहार হতে পারে)।
যুদ্ধের শেষ হয় যখন কেবলমাত্র একটি স্ক্রিপ্টবট বেঁচে থাকে বা যখন 100 টি টার্নস পেরিয়ে যায়। যুদ্ধের শেষে যদি একাধিক স্ক্রিপ্টবট বেঁচে থাকে তবে নিম্নলিখিত স্থানের ভিত্তিতে তাদের স্থান নির্ধারণ করা হবে:
- বেশিরভাগ স্বাস্থ্য।
- সর্বাধিক ক্ষয়ক্ষতি
- সর্বাধিক ক্ষতি নেওয়া হয়েছে।
স্ক্রিপ্টবট ইনপুট
গেমমাস্টার যুদ্ধের মানচিত্রটি এমন কোনও ফাইলটিতে মুদ্রণ করবে map
যা স্ক্রিপ্টবোট থেকে পড়ার অ্যাক্সেস থাকবে। মানচিত্রটি যে কোনও রূপ নিতে পারে, তাই স্ক্রিপ্টবট এটি ব্যাখ্যা করতে সক্ষম হওয়া গুরুত্বপূর্ণ। আপনার স্ক্রিপ্টবট ইপি ইঙ্গিত করে এমন একটি পরামিতি সহ আহ্বান করা হবে। উদাহরণ স্বরূপ...
:> example_scriptbot.py 3
স্ক্রিপ্টবটটি তার সমস্ত ইপি বা সর্বোচ্চ 10 বার ব্যয় না করা পর্যন্ত ডাকা হবে । প্রতিটি অনুরোধের আগে মানচিত্র এবং পরিসংখ্যান ফাইল আপডেট করা হয়।
স্ক্রিপ্টবট আউটপুট
স্ক্রিপ্টবটগুলি তাদের ক্রিয়াগুলিকে স্টাউটে আউটপুট করে। সম্ভাব্য ক্রিয়াগুলির একটি তালিকা নিম্নরূপ:
MOVE <DIRECTION> <DISTANCE>
প্রতি 1 ইসি খরচ হয়
DISTANCE
।MOVE
কমান্ড মানচিত্র চারপাশে আপনার Scriptbot চলে আসে। যদি কোনও প্রাচীর বা অন্য স্ক্রিপ্টবোটের মতো কিছু থাকে তবে গেমমাস্টার আপনার স্ক্রিপ্টবটকে যথাসম্ভব সরিয়ে ফেলবে। যদিDISTANCE
স্ক্রিপ্টবোটের অবশিষ্ট ইপি বেশি দেওয়া হয়, গেমমাস্টার এর ইপি শেষ না হওয়া অবধি স্ক্রিপ্টবট সরিয়ে ফেলবে।DIRECTION
কোন কম্পাস দিক হতে পারেN
,E
,S
, অথবাW
।PUSH <DIRECTION> <DISTANCE>
প্রতি 1 ইসি খরচ হয়
DISTANCE
।PUSH
কমান্ড অন্য Scriptbot সরাতে একটি Scriptbot দেয়। কমান্ড জারি করা স্ক্রিপ্টবটটি সরাসরি স্ক্রিপ্টবটকে ধাক্কা দেওয়ার সাথে পাশেই থাকতে হবে। উভয় স্ক্রিপ্টবটগুলি নির্দেশিত দিকটিতে সরে যাবে যদি স্ক্রিপ্টবটকে ধাক্কা দিয়ে কোনও জিনিস আটকাচ্ছে না।DIRECTION
এবং কমান্ডDISTANCE
হিসাবে একইMOVE
।ATTACK <DIRECTION>
একটি ইপি খরচ করে।
ATTACK
কমান্ডের Scriptbot প্রয়োজন এবং দিক নিদিষ্ট কোনো Scriptbot 1 ক্ষতি পুলিশ সরাসরি পরবর্তী। কমান্ডDIRECTION
হিসাবে একইMOVE
।PASS
আপনার পালা শেষ।
সমর্থিত ভাষা
এটি আমার পক্ষে যুক্তিযুক্ত রাখার জন্য, আমি নিম্নলিখিত ভাষাগুলি গ্রহণ করব:
- জাভা
- node.js
- পাইথন
- পিএইচপি
আপনি সাধারণত লাইব্রেরিগুলিতে সীমাবদ্ধ যা আপনার ভাষাগুলির বাইরে সাধারণত বাক্সের বাইরে প্যাক করা হয়। আপনার কোডটি কাজ করতে আমাকে অস্পষ্ট লাইব্রেরিগুলি সনাক্ত করতে দয়া করে না।
জমা দেওয়া এবং বিচারক
নীচে আপনার স্ক্রিপ্টবোট উত্স কোড পোস্ট করুন এবং এটি একটি দুর্দান্ত নাম দিন! আপনার ব্যবহৃত ভাষার সংস্করণটিও তালিকাভুক্ত করুন। সমস্ত স্ক্রিপ্টবটগুলি টমফুলারির জন্য পর্যালোচনা করা হবে তাই দয়া করে ভাল মন্তব্য করুন এবং আপনার কোডটি অবলম্বন করবেন না।
আপনি একাধিক এন্ট্রি জমা দিতে পারেন, তবে দয়া করে এগুলিকে সম্পূর্ণ অনন্য এন্ট্রি করুন এবং একই প্রবেশের সংস্করণ নয়। উদাহরণস্বরূপ, আপনি একটি জের্গ রাশ বট এবং একটি গরিলা ওয়ারফেয়ার বট কোড করতে পারেন। সেটা ঠিক আছে. জের্গ রাশ ভি 1, জের্গ রাশ ভি 2 ইত্যাদি পোস্ট করবেন না
7th ই নভেম্বর আমি সমস্ত উত্তর সংগ্রহ করব এবং যা প্রাথমিক পর্যালোচনা পাস করেছে তাদের একটি টুর্নামেন্ট বন্ধনীতে যুক্ত করা হবে। চ্যাম্পিয়ন গৃহীত উত্তর পায়। আদর্শ বন্ধনী নীচে দেখানো হয়েছে। যেহেতু সম্ভবত সঠিকভাবে 16 টি এন্ট্রি থাকবে না, কিছু বন্ধনী কেবল তিন বা এমনকি দুটি বট হতে পারে। আমি যতটা সম্ভব বন্ধনী বন্ধ করার চেষ্টা করব। যে কোনও প্রয়োজনীয় পক্ষপাতিত্ব (উদাহরণস্বরূপ, একটি বাই সপ্তাহের প্রয়োজন হলে ইভেন্ট) প্রথমে জমা দেওয়া বটগুলিতে দেওয়া হবে।
BOT01_
BOT02_|
BOT03_|____
BOT04_| |
|
BOT05_ |
BOT06_|___ |
BOT07_| | |
BOT08_| | |_BOT ?_
|___BOT ?_|
BOT09_ ___BOT ?_|___CHAMPION!
BOT10_| | _BOT ?_|
BOT11_|__| |
BOT12_| |
|
BOT13_ |
BOT14_|____|
BOT15_|
BOT16_|
Q & A-
আমি নিশ্চিত যে আমি কিছু বিবরণ মিস করেছি, তাই নির্দ্বিধায় প্রশ্ন জিজ্ঞাসা করুন!
আমরা কি বিশ্বাস করতে পারি যে কোনও মানচিত্রের ফাইল সর্বদা # চিহ্ন দ্বারা বেষ্টিত থাকে? যদি তা না হয় তবে ঘটনাটি কী ঘটে যখন বট মানচিত্রটি চালিয়ে যাওয়ার চেষ্টা করে? - ব্রেইন স্টিল
হ্যাঁ মানচিত্রটি সর্বদা # দ্বারা সীমাবদ্ধ থাকবে এবং আপনার স্ক্রিপ্টবট এই সীমার অভ্যন্তরে শুরু হবে।
যদি পুশ কমান্ডে উল্লিখিত দিকটিতে কোনও বট উপস্থিত না থাকে, কমান্ডটি কীভাবে কাজ করবে? - ব্রেইন স্টিল
গেমমাস্টার কিছুই করবে না, শূন্য ইপি ব্যয় করবে এবং স্ক্রিপ্টবট আবার কল হবে।
অব্যবহৃত ইপি জমে? - মলমূত্র
নং। প্রতিটি স্ক্রিপ্টবট 10 ইপি দিয়ে গোল / পালা শুরু করবে। যে কোনও ইপি ব্যয় করা হয়নি তা নষ্ট হয়ে যাবে।
আমি মনে করি এটি পেয়েছি, তবে কেবল স্পষ্ট করে বলার জন্য: বট A এবং B সহ, ইভেন্টগুলির ক্রম হ'ল A @ 10EP-> MOVE MAP_UPDATE B @ 10EP-> পুশ এমএপ_আপডিকে একটি @ 9EP-> আক্রমণ ম্যাপ_আপডেট বি @ 9EP-> আক্রমণ ... অন্য কথায়, সমস্ত ক্রিয়াকলাপ কি একটি নিয়ামক-বট ক্যোয়ারী লুপ পারমাণবিক? যদি তাই হয় তবে লুপ কেন? সমস্ত ক্রিয়া সম্পন্ন করার সাথে একটি ফাইল কেন ফেরত দেবে না? অন্যথায় বটগুলি মাল্টি-অ্যাকশন সিকোয়েন্সগুলি ট্র্যাক রাখতে তাদের নিজস্ব রাষ্ট্র ফাইলগুলি লিখতে হবে। মানচিত্র / পরিসংখ্যান ফাইলটি প্রথম ক্রিয়া করার আগে কেবল বৈধ হবে। - কোটো
আপনার দ্বিতীয় উদাহরণটি নিকটে, তবে একেবারেই সঠিক নয়। একটি পালা চলাকালীন, স্ক্রিটবটটি বার বার তাদের ইপি ব্যয় না করা বা সর্বোচ্চ 11 বার বার বার ডাকা হবে। প্রতিটি অনুরোধের আগে মানচিত্র এবং পরিসংখ্যান ফাইল আপডেট করা হয়। কোনও বটটি অবৈধ আউটপুট দেয় ইভেন্টে লুপটি কার্যকর। গেমমাস্টার অবৈধ আউটপুট নিয়ে কাজ করবে এবং বটকে আবার যুক্ত করবে, বটকে তার ভুলটির জন্য সংশোধন করার সুযোগ দেবে।
আপনি পরীক্ষার জন্য গেমমাস্টার স্ক্রিপ্টটি প্রকাশ করবেন? - আইচবিনকিনবাউম
গেমমাস্টার স্ক্রিপ্টটি প্রকাশিত হবে না। আমি আপনার বটের আচরণ পরীক্ষা করার জন্য একটি মানচিত্র এবং পরিসংখ্যান ফাইল তৈরি করতে উত্সাহিত করব।
রোবটা যদি রোবটবিকে ফাঁদে ফেলে, তবে রোবোটাকে কি "ড্যামেজ ডিল" পয়েন্ট দেওয়া হয় তা রোবটবির বর্তমান স্বাস্থ্যের সমান? - মাইক সুইনি
হ্যাঁ, এটি একটি ভাল ধারণা। কোনও বট যে ফাঁদে ফেলে দেয় তার স্বাস্থ্যের সমান ক্ষতি পয়েন্ট দেওয়া হবে।
#
থাকবে এবং আপনার স্ক্রিপ্টবট এই সীমার অভ্যন্তরে শুরু হবে।
map
ফাইল সর্বদা#
প্রতীক দ্বারা বেষ্টিত থাকে ? যদি তা না হয় তবে ঘটনাটি কী ঘটে যখন বট মানচিত্রটি চালিয়ে যাওয়ার চেষ্টা করে?