ইস্টার ডিম হান্ট
বট ডিম পাবার আগে ডিম পাবে। বট খুশি।
সংক্ষিপ্ত বিবরণ
এটি ইস্টার এবং ইস্টার ডিম শিকারের traditionতিহ্যের সম্মানে একটি কিং অফ দ্য হিলি চ্যালেঞ্জ!
আপনার বটটি প্রতিটি দিকের দু'টি স্পেসের দৃষ্টি রয়েছে যার মধ্যে ত্রিভুজ রয়েছে, আপনার চারপাশে একটি 5x5 বর্গ তৈরি করছে যা আপনি দেখতে পাচ্ছেন। এটি ডিমের সন্ধান করছে এবং যে সবচেয়ে বেশি ডিম খুঁজে পায় সে জিতবে!
বোর্ড
বোর্ডে o
এস থাকবে, যা ইস্টার ডিম, #
গুলি, যা দেয়াল, *
গুলি, যা অন্যান্য খেলোয়াড়, এবং গুলি, খালি স্থান রয়েছে।
- এটি প্রান্ত দৈর্ঘ্য সহ একটি বর্গক্ষেত্র হবে
(number of entries) * 3
। - এটি প্রাচীর দ্বারা বেষ্টিত করা হবে।
- দেয়ালগুলির অভ্যন্তরে এলোমেলোভাবে স্থাপন করা, সরল রেখার দেয়ালের একটি ভাণ্ডার
#
হবে, যার দৈর্ঘ্য 2 এবং 10 এর মধ্যে থাকবে। থাকবে(number of entries) * 3
তাদের। - ডিমগুলি তখন এলোমেলোভাবে স্থাপন করা হবে। তাদের মধ্যে কিছু থাকবে
(number of entries) * 4
এবং এগুলি কেবল ফাঁকা () স্কোয়ারে তৈরি করা হবে ।
- বোর্ড তৈরির প্রক্রিয়াটি সঠিকভাবে কাজ করার জন্য কমপক্ষে en জন প্রবেশাধিকারী থাকতে হবে।
এখানে একটি জেএসফিডাল যা আপনাকে পরীক্ষা করার জন্য একটি এলোমেলো বোর্ড তৈরি করবে । এখানে একটি উদাহরণ রয়েছে (number of entries) = 7
:
#####################
# o ##
# # o ##
# #o ###### ##
###### # ##
## o # # ##
## o# #o# o o##
## #o # # o # #
## # o # # # #
## ## # # o # #
## # # o # # #
## # o # ## # # #
## # # # #
# o # ## # #
# o oo ##o #
#o ####### oo ## #
# # # #
# o o o# #
# o #### o o#
# #
#####################
বোর্ড তৈরির পরে, প্রতিটি খেলোয়াড়কে এলোমেলো স্কোয়ারে (ফাঁকা জায়গা) স্থাপন করা হয় ।
ইনপুট
আপনি ছয় লাইন ইনপুট নেবেন। প্রথম পাঁচটি লাইন আপনার দৃষ্টিভঙ্গির ক্ষেত্র (বোর্ডের সীমানার বাইরে ফাঁকা স্থানগুলি প্রতিনিধিত্ব করবে X
, এবং মাঝের স্থানটি সর্বদা *
আপনিই থাকবে) এবং ষষ্ঠ লাইনটি খালি (প্রথমে) থাকবে will
আউটপুট
আপনি তিনটি লাইন আউটপুট হবে। প্রথমে আপনি যে দিকে যেতে চান:
1 2 3
8 YOU 4
7 6 5
(9 আপনি A
নড়াচড়া করতে না চাইলে একটি বিকল্প নেই), দ্বিতীয়, টেট্যাক, C
আউটার বা N
অন্য কিছু (এটি শীঘ্রই গভীরতার সাথে ব্যাখ্যা করা হবে), এবং থ্রাইড লাইনটি 1024 অবধি দৈর্ঘ্যের কোনও স্ট্রিং হবে এটি আপনার বটের স্মৃতি হবে। আপনি এটি যা চান তার জন্য এটি ব্যবহার করতে পারেন বা আপনি এটি ফাঁকা রেখে যেতে পারেন। এই মেমরিটি পরের রানে আপনার প্রোগ্রামের ইনপুটটির ষষ্ঠ লাইন হবে।
আউটপুটটির পরবর্তী সমস্ত লাইন উপেক্ষা করা হবে এবং যদি কেবল একটি লাইন থাকে তবে দ্বিতীয়টি ফাঁকা বলে ধরে নেওয়া হয়।
চলন্ত
নিম্নলিখিত স্থানটি আপনি কোথায় সরিয়ে নিয়েছেন তা নির্ধারণ করতে ব্যবহৃত হয়:
- আপনি যখন স্থানান্তরিত হন, আপনি একটি ফাঁকা জায়গায় (
) শেষ হলে, আপনার প্লেয়ারটি সেই জায়গাতে স্থাপন করা হবে।
- যদি আপনি কোনও দেয়াল (
#
) এ গিয়ে থাকেন তবে আপনার পদক্ষেপটি উপেক্ষা করা হবে এবং আপনি নিজের পালা হারাবেন। - যদি আপনি একটি ডিম (
o
) বা কোনও খেলোয়াড় (*
) এ শেষ করেন তবে এই তথ্যটি সংরক্ষণ করা হয় এবং প্রত্যেকে স্থানান্তরিত হওয়ার পরে ব্যবহার করা হবে।
সবাই সরে যাওয়ার পরে, অস্পষ্টতাগুলি সমাধান হয়ে যায়।
যদি দু'জন খেলোয়াড় একই স্থানে অবতরণ করে থাকে তবে লড়াই হয়! এখানে A
/ C
/ N
খেলতে আসে। A
টেট্যাক বিটস্ N
আউটিং (সাধারণ আক্রমণ), N
আউটিং বিটস C
আউন্টার (আপনি কিছুই প্রতিরোধ করতে পারবেন না), এবং C
আউটার বিটস A
টিট্যাক (পাল্টা আক্রমণ)) যে খেলোয়াড় এই লড়াইয়ে জিতবে তারা তাদের স্কোয়ারে থাকবে এবং যে প্লেয়ার হারাবে তারা তাদের শুরু হওয়া মূল স্কোয়ারে ফিরে যায়। টাই হওয়ার সময়ে উভয় খেলোয়াড়ই যেখানে ছিলেন সেখানে ফিরে যান।
যদি কোনও হেরে যাওয়া বা বাঁধা খেলোয়াড় তারা যেখানে ছিল সেখানে ফিরে যায় এবং সেখানে অন্য একজন খেলোয়াড় থাকে তবে লড়াই হয় না এবং অন্য খেলোয়াড়টিও তার আসল জায়গায় ফিরে আসবে। এই স্পেসে যদি অন্য খেলোয়াড় থাকে তবে তা খেলোয়াড় ফিরে যায় এবং সমস্ত খেলোয়াড় আলাদা স্পেসে না আসা পর্যন্ত এটি চলতে থাকে।
যদি এক জায়গায় তিন বা ততোধিক খেলোয়াড় থাকে তবে তারা সবাই তাদের মূল অবস্থানে ফিরে যায়।
যদি কোনও খেলোয়াড় এখনও একটি ডিমের উপর দাঁড়িয়ে থাকে ...
- খেলোয়াড়টি বেছে
A
নিলে ডিম নষ্ট হয়ে যায়। - প্লেয়ারটি চয়ন করা থাকলে
C
, কিছুই ঘটে না এবং প্লেয়ারটি তার আসল জায়গায় ফিরে যায়। - প্লেয়ার বেছে
N
নিলে খেলোয়াড় ডিম তুলে! খেলোয়াড়ের স্কোর এক দ্বারা বাড়ানো হয় এবং ডিমটি সরানো হয়।
ভাষাসমূহ
প্রতিটি প্রতিযোগীর মধ্যে ন্যায্যতা নিশ্চিত করতে আপনি উইন্ডোজ, ওএসএক্স এবং লিনাক্সে অবাধে উপলভ্য যে কোনও ভাষা ব্যবহার করতে পারেন। যদি কোডটি অবাধে চলমান না হয় তবে সংকলন বা এমন একটি ফর্ম্যাটে প্যাক করা যেতে পারে তবে দয়া করে আপনার উত্তরেও এই ফর্ম্যাটটি অন্তর্ভুক্ত করুন। আদর্শভাবে, আপনি যদি নিজের কোডটিকে আরও সাধারণ ভাষায় (যেমন কফিস্ক্রিপ্ট -> জাভাস্ক্রিপ্ট) সংকলন করতে পারেন তবে দয়া করে এটি করুন।
স্কোরিং
আপনার স্কোর দশটি রান সংগ্রহের মধ্যে আপনি সংগ্রহ করেছেন ডিমের গড় সংখ্যা। একটি রান শেষ হয় যখন সমস্ত ডিম সংগ্রহ করা হয় বা (number of entries * 25)
পালা শেষ হয়ে যায়। আমি ম্যানুয়ালি এটি নিশ্চিত করব যে প্রতিটি মানচিত্রের জন্য সমস্ত ডিম পৌঁছানো সম্ভব (ক্রমাগত মানচিত্র উত্পন্ন করে যতক্ষণ না সমস্ত ডিম পৌঁছানো যায়)।
স্কোরবোর্ড
নিম্নলিখিত সমস্ত শর্ত পূরণ হলে একটি স্কোরবোর্ড যুক্ত করা হবে:
- ধনাত্মক বা শূন্য স্কোর সহ কমপক্ষে সাতটি বৈধ এন্ট্রি জমা দেওয়া হয়েছে (নিম্নচোটিত নয়)
- এই চ্যালেঞ্জটি তৈরির পরে কমপক্ষে ৪৮ ঘন্টা কেটে গেছে (ইউটিসি ১৪:২৩)
এই প্রাক-প্রতিযোগিতার সময়কালে নিয়মগুলি পরিবর্তন হবে না, যেখানে কোনও নিয়ম অস্পষ্ট ছিল সে বিষয়ে স্পষ্টতা যোগ করা ব্যতীত। স্কোরবোর্ডটি স্থাপন করার পরে, পরীক্ষার প্রোগ্রামটি এখানেও পোস্ট করা হবে যাতে আপনি নিজের প্রবেশ পরীক্ষা করতে পারেন। এর জন্য পরীক্ষামূলক কোডটি এখনও কার্য-প্রগতিতে রয়েছে তবে এটি প্লেযোগ্য এবং এটি কার্যকর। এখানে গিটহাব রেপো।
9
তাকে কখনই অর্থবহ আক্রমণ করা যাবে না। অন্য খেলোয়াড় (বি) যদি খেলোয়াড়দের স্কোয়ারের দিকে যায় এবং জয়ী হয় তবে এটিকে তার মূল স্কোয়ারে স্থানান্তরিত করা হবে (যা একই) is তবে এখন সংঘর্ষ হয়েছে কারণ এ এবং বি উভয়ই রয়েছে, সুতরাং বিকে তার নিজের স্কোয়ারে ফিরে যেতে হবে। ফলস্বরূপ প্রকৃত লড়াইয়ের থেকে পৃথক, বি সর্বদা প্রাথমিক স্কয়ারে ফিরে যায় এবং এ সর্বদা রাখে। এটি আমাকে এমন দুটি লেখার অনুমতি দেবে যা অন্য সবার জন্য পথ অবরুদ্ধ করে অন্য জমা দিতে সহায়তা করতে পারে।