খেলাাটি
আমরা বেশিরভাগই ফ্রোগার , 80 এর দশকের আরকেড খেলা সম্পর্কে জানি যেখানে উদ্দেশ্য ছিল ব্যস্ত মহাসড়ক জুড়ে নিরাপদে একটি ব্যাঙ এবং বাড়িতে ঝুঁকিতে ভরা পুকুরটি নিরাপদে বাড়িতে পৌঁছানো hop
ফ্রোগার ক্লোন বিকাশের জন্য কয়েক মাস আগে একটি চ্যালেঞ্জ জারি করা হয়েছিল । আপনি কেন ফ্রোগার খেলতে পারবেন তবে কেন ক্লোন ফ্রোগার? :)
নিম্নলিখিত সরলীকৃত প্লেড গ্রিড বিবেচনা করুন:
XXXXXXXXXXXXXXXXXXXXXXX North Safe Zone
-----------------------
| | <<<< Express Lane West (Lane 1)
| | > Gridlock East (Lane 2)
| | << Freeflowing Traffic West (Lane 3)
| | < Gridlock West (Lane 4)
| | >>>> Express Lane East (Lane 5)
-----------------------
XXXXXXXXXXX@XXXXXXXXXXX South Safe Zone
\__________ __________/
'
23 cells horizontally
আমাদের ট্র্যাফিকের পাঁচটি লেন রয়েছে, প্রতিটি 23 টির মতো প্রশস্ত চওড়া অঞ্চল এবং দুটি নিরাপদ অঞ্চল (যেখানে ব্যাঙটি নিরাপদে বাম এবং ডান স্থানান্তর করতে পারে), এছাড়াও 23 কোষ প্রশস্ত। আপনি ডান এবং বাম সীমানাগুলি অগ্রাহ্য করতে পারেন কারণ এটি চিত্রের স্বচ্ছতার জন্য।
আমাদের ব্যাঙটি দক্ষিণের নিরাপদ জোনে, কেন্দ্রের (দ্বাদশ) কোষে শুরু হয়, যেমন @
উপরের চিত্রটিতে একটি দ্বারা নির্দেশিত ।
গেমের সময়কে ফ্রেম বলে আলাদা পদক্ষেপে বিভক্ত করা হয়। ব্যাঙি একটি দ্রুত ব্যাঙ এবং ফ্রেম প্রতি যে কোনও দিকের (উপরে, নীচে, ডান, বাম) একটি কক্ষকে হপ করতে পারে। তিনি যে কোনও ফ্রেমের জন্য স্থির থাকতেও বেছে নিতে পারেন। পাঁচটি লেনের ট্রাফিক নিয়মিত গতিবেগে নিম্নরূপে চলে:
- এক্সপ্রেস লেনের পশ্চিমের ট্রেন (লেন 1) প্রতিটি ফ্রেম ছেড়ে 2 টি ঘর সরিয়ে নিয়ে যায়
- গ্রিডলক পূর্ব লেনের ট্রেন (লেন 2) প্রতি দ্বিতীয় ফ্রেমে ডানদিকে 1 কক্ষটি সরায়
- ফ্রিফ্লোটিং ট্র্যাফিক ওয়েস্ট লেনের ট্রেন (লেন 3) প্রতিটি ফ্রেম 1 টি সেল রেখে দেয়
- গ্রিডলক ওয়েস্ট লেনের ট্রেন (লেন 4) প্রতি দ্বিতীয় ফ্রেমে 1 সেল বামে সরানো হয়
- এক্সপ্রেস লেনের পূর্ব দিকে (লেন 5) ট্র্যাফিক প্রতিটি ফ্রেমের ডানদিকে 2 টি কক্ষ সরায়
ট্র্যাফিক নিজেই প্রায় আনুমানিক জন্য সংজ্ঞায়িত করা হয়। এই পাঠ্য ফাইলে 3,000 টাইমস্টেপ । 'ট্র্যাফিক' যানবাহন এবং যানবাহনের মধ্যে স্পেস নিয়ে গঠিত। কোনও অক্ষর যা কোনও স্থান নয় এটি একটি গাড়ির অংশ। পাঠ্য ফাইলটিতে ট্র্যাফিকের পাঁচটি লেনের (একই ক্রম সহ) অনুরূপ পাঁচটি লাইন রয়েছে।
ওয়েস্টবাউন্ড লেনগুলির জন্য, ফ্রেম 0 (খেলার শুরু) এর শুরুতে, আমরা লেনের প্রথম যানটিকে প্লেিং গ্রিডের ডান প্রান্তের বাইরে বলে মনে করি।
পূর্ব দিকের লেনগুলির জন্য, ট্র্যাফিকের স্ট্রিংটিকে "পিছনের দিকে" বিবেচনা করা উচিত যাতে বোঝা যায় যে যানগুলি স্ট্রিংয়ের শেষে শুরু হয় । ফ্রেম 0 এর শুরুতে, আমরা এই লেনের প্রথম যানটিকে খেলার মাঠের বাম প্রান্তের বাইরে বলে মনে করি।
উদাহরণ হিসাবে বিবেচনা করুন:
Traffic Lane 1: [|==| =
Traffic Lane 2: |) = o
Traffic Lane 3: (|[]-[]:
Traffic Lane 4: <| (oo|
Traffic Lane 5: |==|] :=)
তারপরে প্লেিং গ্রিডটি নীচে প্রদর্শিত হবে:
Start of Frame 0 XXXXXXXXXXXXXXXXXXXXXXX
[|==| =
|) = o
(|[]-[]:
<| (oo|
|==|] :=)
XXXXXXXXXXXXXXXXXXXXXXX
Start of Frame 1 XXXXXXXXXXXXXXXXXXXXXXX
[|==| =
|) = o
(|[]-[]:
<| (oo|
|==|] :=)
XXXXXXXXXXXXXXXXXXXXXXX
Start of Frame 2 XXXXXXXXXXXXXXXXXXXXXXX
[|==| =
|) = o
(|[]-[]:
<| (oo|
|==|] :=)
XXXXXXXXXXXXXXXXXXXXXXX
Start of Frame 3 XXXXXXXXXXXXXXXXXXXXXXX
[|==| =
|) = o
(|[]-[]:
<| (oo|
|==|] :=)
XXXXXXXXXXXXXXXXXXXXXXX
একটি গলির সমস্ত ট্র্যাফিক "অবসন্ন" হওয়ার পরে (অর্থাত্ স্ট্রিং ফুরিয়ে যায়), আমরা স্ট্রিংয়ের সমস্ত অক্ষরকে ফাঁকা স্থান হিসাবে বিবেচনা করি।
আমাদের ব্যাঙ নীচে থেকে যদি কিছু ঘটে থাকে তবে তা স্কুইচ করা হয়:
- ব্যাঙটি কোনও ফ্রেমে কোনও যানবাহনের দ্বারা দখল করা একটি ঘর দখল করে
- ব্যাঙটি একটি এক্সপ্রেস লেনে স্থির থাকে এবং 1 ফ্রেমের প্রস্থের একটি গাড়ি তার ফ্রেমে তার উপর দিয়ে যায়
- ব্যাঙটি পশ্চিমে যানবাহনটি "পেরিয়ে" পূর্ব দিকে ঝাঁপিয়ে পড়ে, বা পূর্ব দিকে যেতে কোনও যানবাহন দিয়ে পশ্চিমে লাফ দেয়
- ব্যাঙ যে কোনও ফ্রেমে 23 (সেল) গ্রিড প্লে করে 7 (লাইন) এর বাইরে লাফ দেয়
নোট করুন যে এগুলি একমাত্র শর্ত যার অধীনে একটি ব্যাঙ স্কুয়েশ। বিশেষত, ট্র্যাফিকের সাথে "পাশাপাশি" হাঁপানো ব্যাঙ জায়েজ, যেমন একটি ব্যাঙ একই ফ্রেমের প্রস্থ -১ যানবাহন দিয়ে একটি এক্সপ্রেস লেনের একটি ঘরে প্রবেশ করে বা তার বাইরে বেরিয়ে যায়।
উদ্দেশ্য এবং স্কোরিং
প্রোগ্রামিং চ্যালেঞ্জের উদ্দেশ্যটি হ'ল শেষ বাহনটি প্লেিং গ্রিড থেকে বের হওয়ার আগে রাস্তাটি যতবার সম্ভব পারাপার করা । এটি হ'ল, ফ্রেম এক্স সমাপ্তির সাথে সাথে প্রোগ্রামটি সমাপ্ত হয় , যেখানে ফ্রেম এক্স হ'ল প্রথম ফ্রেম যা গ্রিডটিকে এমন অবস্থায় নিয়ে যায় যেখানে আর কোনও যানবাহন উপস্থিত নেই।
আপনার প্রোগ্রামের আউটপুটটি একটি স্ট্রিং (বা পাঠ্য ফাইল) হওয়া উচিত যা নিম্নলিখিত এনকোডিংটি ব্যবহার করে ব্যাঙের চলার ক্রম যুক্ত থাকে:
< frog moves left
> frog moves right
^ frog moves up
v frog moves down
. frog remains stationary
উদাহরণস্বরূপ, স্ট্রিংটি <<^.^
ইঙ্গিত দেয় যে ব্যাঙটি দু'বার বাম দিকে চলে যায়, তারপরে এবং তারপরে একটি ফ্রেমের জন্য বিরতি দেয়, তারপরে আবার উপরে চলে যায়।
যখনই ব্যাঙ দক্ষিণ নিরাপদ অঞ্চল থেকে উত্তর নিরাপদ অঞ্চলে চলে যায় তখন একটি পয়েন্ট তৈরি হয় এবং যখনই ব্যাঙ উত্তর নিরাপদ অঞ্চল থেকে দক্ষিণ নিরাপদ অঞ্চলে চলে যায় তখন একটি পয়েন্ট তৈরি হয়।
কিছু গুরুত্বপূর্ণ নিয়ম:
- ব্যাঙ অবশ্যই স্কোয়েশ করা উচিত নয়।
- আপনার প্রোগ্রাম কোড সহ আপনার সমাধান (চলার ক্রম) পোস্ট করুন, হয় ইনলাইন অথবা কোনও পাঠ্য ফাইল (যেমন পেস্টবিন.কম ব্যবহার করে)।
- আমাদের ব্যাঙ প্রাকৃতিক এবং পূর্বনির্ধারিত, তাই আপনার প্রোগ্রামটি সমাধানগুলি সন্ধানের সময় যে কোনও ফ্রেমে যে কোনও এবং সমস্ত ট্র্যাফিক ডেটা ব্যবহার করতে পারে । এটি ট্র্যাফিকের জন্য ডেটা অন্তর্ভুক্ত করে যা এখনও প্লেিং গ্রিডে পৌঁছায় না।
- গ্রিড চারপাশে মোড়ানো না। গ্রিডটি থেকে বেরিয়ে আসার ফলে ব্যাঙটি বাদ যাবে এবং তাই এটি অনুমোদিত নয়।
- কোনও পর্যায়ে ট্র্যাফিক "রিসেট" বা ব্যাঙ "টেলিপোর্ট" করে না। সিমুলেশন অবিচ্ছিন্ন হয়।
- ব্যাঙটি প্রস্থান করার পরে দক্ষিণ নিরাপদ অঞ্চলে ফিরে আসতে পারে, তবে এটি বিন্দু হিসাবে গণনা করা হয় না। একইভাবে উত্তর নিরাপদ অঞ্চলের জন্য।
- প্রতিযোগিতায় বিজয়ী হ'ল এমন প্রোগ্রাম যা সর্বাধিক সংখ্যক ক্রসিংয়ের ফলন করে এমন ক্রম উত্পন্ন করে।
- যে কোনও অতিরিক্ত প্রশ্ন বা উদ্বেগের জন্য, দয়া করে মন্তব্য বিভাগে নির্দ্বিধায় জিজ্ঞাসা করুন।
কিছু যুক্ত উত্সাহের জন্য, আমি যখন এটি করতে সক্ষম হব তখন আমি বিজয়ী প্রোগ্রামে +100 প্রতিনিধিত্বের একটি অনুগ্রহ যুক্ত করব ।
বোনাসেস
প্লেিং গ্রিডের প্রতিটি কোণার জন্য বেস স্কোর + (2.5% পর্যন্ত + 10%) ব্যাঙের ছোঁয়া। গ্রিডের চারটি কোণ দুটি নিরাপদ অঞ্চলের সবচেয়ে বাম এবং ডানদিকে কোষ।
বেস স্কোরে + 25% * যদি আপনার চলার ক্রমটি পুরো সিমুলেশনের জন্য ব্যাঙকে তার প্রারম্ভিক ঘরের বাম বা ডানদিকে +/- 4 কোষের মধ্যে সীমাবদ্ধ রাখে (তিনি অবশ্যই নিখরচায় উল্লম্বভাবে চলাচল করতে পারেন)।
কোনও স্কোরিং বোনাস নয়, তবে ওপিতে বিশেষ প্রপসগুলি যে কেউ দ্রুত এন 'নোংরা সমাধান বৈধকরণকারী পোস্ট করবেন যাতে আমার কোনও প্রোগ্রাম না করতে হয়। ;) একজন বৈধ লেখক কেবল চলার ক্রমগুলি গ্রহণ করবেন, এর বৈধতা (নিয়ম এবং ট্র্যাফিক ফাইল অনুযায়ী) নিশ্চিত করবেন এবং তার স্কোরটি (অর্থাৎ ক্রসিংয়ের মোট সংখ্যা) প্রতিবেদন করবেন।
* মোট স্কোরটি বেস স্কোর প্লাস বোনাসের সমান, নিকটতম পূর্ণসংখ্যকে গোল করে।