প্রোগ্রামম্যান 'প্যাক-ম্যান
বিন্যাস
আপনি প্যাক ম্যান হিসাবে খেলুন। ভূতকে এড়িয়ে গিয়ে আপনি অন্য কারওের সামনে ছোঁড়া, ফল এবং পাওয়ারের গুলি সংগ্রহ করতে চান।
বিধি
- প্রতিটি বৈধ প্যাক ম্যান একক গোলকধাঁধায় থাকবে। 10 গেমের পরে সর্বাধিক संचयी স্কোর সহ খেলোয়াড় জিতবে।
- যখন সমস্ত প্যাক-মেন মারা যায়, সমস্ত গুলি মারা যায় বা 500 টি পালা শেষ হয়ে যায় তখন একটি খেলা শেষ হয়
- যদি কোনও প্যাক ম্যান মারা যায় তবে সে ভূত হিসাবে খেলতে থাকবে
- পাওয়ার পেল্ট খাওয়া 10 টি টার্নের জন্য আপনাকে অজেয় করে তুলবে এবং আপনাকে ভূত খেতে দেবে
- একটি ঘোস্ট খাওয়া প্রেতটিকে একটি এলোমেলো স্থানে টেলিপোর্ট করবে
- ভূতরা প্যাক-মেন ছাড়া কিছু খেতে পারে না এবং কোনও পয়েন্ট পায় না
- প্যাক-ম্যান হিসাবে নিম্নলিখিত আইটেমগুলি খাওয়ার সাথে সাথে আপনাকে নিম্নলিখিত পয়েন্টগুলি পাবেন:
- পেলিট: 10
- পাওয়ার পেলিট: 50
- ফল: 100
- ভূত: 200
গোলক - ধাধা
যদি এন প্যাক-মেন থাকে তবে প্রাইমের অ্যালগরিদম ব্যবহার করে আকারের একটি গোলকধাঁধা তৈরি sqrt(n)*10
করা sqrt(n)*10
হবে (এটি নদীর তীরের কম হওয়ার কারণে), তবে ইতিমধ্যে বিদ্যমান মৃত প্রান্তগুলিকে অগ্রাধিকার দেবে এবং সম্পূর্ণরূপে ব্রেক হবে। তদতিরিক্ত, এই ব্রেডিংটি প্রান্তগুলি জুড়ে করা যেতে পারে, যাতে উপরে থেকে নীচে এবং বাম থেকে ডানে কয়েকটি পথ থাকে path
সেখানে হবে:
2n
ভুত4n
পাওয়ার পেললেটস2n
ফলn
সংযুক্ত প্রতিবেশীদের স্কোয়ারগুলি এমন জায়গাগুলিতে প্যাক-মেন।- বাকী সমস্ত খালি দাগগুলি শাঁস দিয়ে পূর্ণ হবে
অতএব, 10 জন খেলোয়াড়ের সাথে একটি প্রাথমিক মানচিত্র এর মতো দেখতে পাবেন (ভূতগুলি = সবুজ, পেললেটগুলি = জল, ফল = লাল, প্যাক-ম্যান = হলুদ):
ইনপুট আউটপুট
এ খেলার প্রারম্ভে , আপনি মানচিত্রের যে স্কোয়ারে দেয়াল প্রতিনিধিত্বমূলক অক্ষরের একটি একক লাইন দেওয়া হবে। প্রতিটি বর্গক্ষেত্রের জন্য, উপরের বাম দিক দিয়ে শুরু করে, ডানদিকে সরানো এবং পরের লাইনে মোড়ানো, আপনাকে প্রাচীরের পরিস্থিতি উপস্থাপন করে একটি হেক্স ডিজিট দেওয়া হবে:
0: No walls
1: North wall
2: East wall
3: East & North wall
4: South wall
5: South & North wall
6: South & East wall
7: Won't occur
8: West wall
9: West & North wall
A: West & East wall
B: Won't occur
C: West & South wall
D: Won't occur
E: Won't occur
F: Won't occur
সহজভাবে উত্তর, 1 = পূর্ব, 2 = দক্ষিণ = 4 এবং পশ্চিম = 8 একসাথে যুক্ত করুন।
তারপরে, প্রতিটি পালা , আপনাকে আপনার বর্তমান অবস্থান এবং আপনার দৃষ্টিকোণের আইটেমগুলি দেওয়া হবে (যদি আপনি একজন প্যাক ম্যান হন gh সমস্ত ভূতরা তাদের আপেক্ষিক অবস্থান থেকে -5 থেকে +5 পর্যন্ত সমস্ত বর্গ গ্রহণ করে)। আপনার দৃষ্টির রেখাটি আপনি শেষ বারে যে দিকে যাত্রা করেছিলেন তার উপর ভিত্তি করে তৈরি হবে। আপনি যদি উত্তর ভ্রমণ করেছেন, কোনও প্রাচীর আপনার দর্শন বন্ধ না করে যদি কোনও প্রাচীর আপনার দর্শন এবং একক বর্গ উত্তর পশ্চিম এবং উত্তর- পূর্বকে না সরিয়ে দেয় তবে আপনাকে সরাসরি উত্তর, পূর্ব এবং পশ্চিমের সমস্ত স্কোয়ার দেওয়া হবে । আপনি সরানো না বেছে নিলে, আপনাকে 8 টি দিক দিয়ে স্কোয়ার দেওয়া হবে।
ভিজ্যুয়ালটির I
অর্থ, অদৃশ্য, V
অর্থ দৃশ্যমান, P
অর্থ প্যাক-ম্যান (অনুমান করে প্যাক-ম্যান উত্তরের দিকে রয়েছে):
|I I|V|I|
|I V|V V|
|V V P|I|
|I I|I|I|
প্রতিটি বর্গ একটি স্থানাঙ্ক দ্বারা দেওয়া হবে, এবং তারপরে এটির বিষয়বস্তু। এটির বিষয়বস্তুগুলি নিম্নলিখিত অক্ষর দ্বারা প্রতিনিধিত্ব করা হয়:
P
: 1 বা আরও প্যাক ম্যানG
: 1 বা আরও বেশি ভূতo
: গুলিO
: পাওয়ার ট্যাবলেটF
: ফলের টুকরাX
: কিছুই না
কোনও স্কোয়ারে যদি ভূত এবং অন্য কিছু থাকে G
তবে তা ফিরিয়ে দেওয়া হবে।
অতএব, আপনি যদি স্কোয়ারে থাকতেন তবে আপনি 23,70
সবেমাত্র উত্তর দিকে চলে গিয়েছিলেন, আপনার উপরের বর্গটি একটি মৃত প্রান্ত এবং এতে একটি পাওয়ার পেল রয়েছে এবং আপনার উভয় পাশের দেয়াল রয়েছে, আপনার ইনপুটটি হবে:
23,70X 22,70O
আপনার বর্তমান স্কয়ার, এটি একটি দেখাবে G
আপনি একটি গোস্ট, একটি P
আছে যদি অন্য প্যাক ম্যান আপনার স্কোয়ার উপর, অন্যথায় একটিX
তারপরে আপনি STDOUT এর মাধ্যমে নিম্নলিখিত আইটেমগুলি ফিরিয়ে আনবেন:
একটি একক চরিত্র একটি দিক প্রতিনিধিত্বমূলক ( N
Orth, E
AST, S
outh, W
হল, বা X
স্টে)।
কোনও দিক দিয়ে যাওয়ার আগে, আপনি যে কোনও স্থানাঙ্ক হিসাবেও পাশ করতে পারেন এবং x,y
that বর্গাকার প্রাচীরগুলি আবার পাস হবে (উপরে বর্ণিত হিসাবে)
প্রোগ্রামটি অবশ্যই Q
এটি STDIN এর মাধ্যমে না দেওয়া পর্যন্ত অবিচ্ছিন্নভাবে চলতে থাকবে । প্রতিটি গেমের জন্য প্রোগ্রামগুলি আবার চালু করা হবে।
এসটিডিআইএন (অন্যান্য প্যাক-মেনের ডেটা বা হোস্ট প্রোগ্রামের হাতে থাকা ডেটা সহ) কে যা পাঠানো হয় তার বাইরে অন্য তথ্য অ্যাক্সেসের অনুমতি নেই।
1000 এমএসের মধ্যে কোনও পদক্ষেপ ফিরে না পেয়ে ব্যর্থতা প্রোগ্রামটি শেষ করে দেবে (আমার মোটামুটি শালীন উইন 8 মেশিনে চলছে)। প্রারম্ভিক ধাঁধা লেআউটটি দেওয়া হয়ে গেলে প্রক্রিয়া করার জন্য আপনাকে 2 সেকেন্ড দেওয়া হবে
হোস্ট পাইথনে লেখা হবে এবং আপনার বট পরীক্ষা করার কোড আসন্ন।
ব্যতিক্রমী মামলা
- যদি একাধিক প্যাক-মেন একই স্থানে শেষ হয় তবে বর্তমান বর্গের সামগ্রীগুলি না পান, যদি না তাদের মধ্যে ঠিক ১ টি অদৃশ্য হয়, তবে এই ক্ষেত্রে অদম্য প্যাক-ম্যান পেলটি গ্রহণ করবে।
- ঘোস্ট দ্বারা খাওয়া একটি প্যাক ম্যান অন্য কোথাও টেলিপোর্ট করা হবে না। দুটি প্যাক-মেন যদি একটি স্কোয়ারে থাকে এবং একটি অদৃশ্য হয়, তবে ভূতটি টেলিপোর্ট করা হবে।
- একটি ঘোস্ট হিসাবে টেলিপোর্ট করা আপনাকে 1 বারের জন্য চলতে বাধা দেয়। ঘোস্ট হিসাবে খেললে আপনি কেবল নিজের পালা এড়িয়ে যাবেন
- একটি প্রাচীর দিয়ে সরানোর চেষ্টা "স্টেপ" হিসাবে ব্যাখ্যা করা হবে
প্রাথমিক ভূতগুলির প্রত্যেকটি নিম্নলিখিত বর্ণনার সাথে এখানে বর্ণিত 4 ব্যক্তিত্বের বৈশিষ্ট্যের মধ্যে একটি প্রাপ্ত করবে :
- বর্ণিত বাগগুলি সদৃশ হবে না
- তারা সবাই শুরু থেকেই সক্রিয় থাকবে
- তারা কেবল সেই খেলোয়াড়ের জন্যই ঝুঁকির মধ্যে রয়েছে যারা গুলিটি খেয়েছিল
- তারা অনির্দিষ্টকালের জন্য ছড়িয়ে ছিটিয়ে থেকে তাড়াতে স্যুইচ করবে, প্রত্যেকের স্যুইচের আগে একটি নির্দিষ্ট সংখ্যক টার্ন থাকবে
- তাড়াতে স্যুইচ করার পরে, তারা তাড়া করতে নিকটতম প্যাক-ম্যানকে খুঁজে পাবেন এবং তাদের তাড়া করার সময়কালে সেই প্যাক-ম্যানকে তাড়াবেন। (যদি ঘনিষ্ঠতার জন্য কোনও টাই থাকে তবে প্যাক ম্যান সিউডোর্যান্ডোমে বাছাই করা হবে)
- ব্লিঙ্কি গতিবেগ হবে না
- পিছু তাড়াতে স্যুইচ করার পরে তার গণনাগুলি বন্ধ করে দেওয়ার জন্য কালি নিকটতম ভূত বেছে নেবে।
- ক্লাইড 8 টি স্কোয়ার দূরে সমস্ত খেলোয়াড়কে খুঁজে পাবে এবং তারপরে দূরবর্তী খেলোয়াড়কে অনুসরণ করবে।
- ক্লাইড বাদে সমস্ত ভূত 5 স্কোয়ারের বেশি দূরে কোনও খেলোয়াড়কে লক্ষ্য করবে না
আমি একটি প্রমিত ভাষা বা একটি .exe (সহযুক্ত কোড সহ) থেকে সংকলনযোগ্য কোড গ্রহণ করব।
প্রোগ্রামিং টিপস
আপনি আমার নিয়ামকের সাথে। আপনাকে প্রোগ্রাম হিসাবে একই ডিরেক্টরিতে একটি / বটস / আপনার_বোট_নাম / ফোল্ডার লাগাতে হবে। ফোল্ডারের মধ্যে আপনার কমান্ড.txt যুক্ত করতে হবে যা আপনার প্রোগ্রাম চালানোর জন্য একটি কমান্ড রয়েছে (উদাহরণ python my_bot.py
:) এবং আপনার বট।
কন্ট্রোলার কোডটি গিথুবটিতে রয়েছে (পাইথন কোডের জন্য পাইগামের প্রয়োজন হয় যদি আপনি গ্রাফিক্স চান তবে) উইন্ডোজ এবং লিনাক্সে পরীক্ষিত
স্কোর
ঘোস্টবাস্টার: 72,840 পয়েন্ট
প্যাথ: 54,570 পয়েন্ট
সংক্ষিপ্তসার: 50,820 পয়েন্ট
এড়িয়ে যাওয়া: 23,580 পয়েন্ট
পদার্থবিজ্ঞানী: 18,330 পয়েন্ট
র্যান্ডমওয়াক: 7,760 পয়েন্ট
ডাম্বপ্যাক: 4,880 পয়েন্ট