مین‌یاب

مین‌یاب

متوسط

مقدمه

مین‌یاب یک بازی محبوب است که در آن کاربر باید مین‌ها را با کمک نشانه‌های عددی پیدا کند. این نشانه‌ها نشان می‌دهند که چند مین به‌طور مستقیم (به‌صورت افقی، عمودی یا قطری) با یک خانه مجاور است.

دستورالعمل‌ها

وظیفه‌ی شما این است که در یک صفحه‌ی مینیاب که کامل شده است، تعداد مین‌های مجاور را به خانه‌های خالی اضافه کنید. خود صفحه یک مستطیل است که از خانه‌هایی تشکیل شده است که یا خالی‌اند (' ') یا مین ('*').

برای هر خانه‌ی خالی، تعداد مین‌های مجاور آن را بشمارید (به‌صورت افقی، عمودی و قطری). اگر خانه‌ی خالی هیچ مین مجاوری نداشته باشد، آن را خالی بگذارید. در غیر این صورت، آن را با تعداد مین‌های مجاور جایگزین کنید.

برای مثال، ممکن است صفحه‌ای ۵ در ۴ مانند این دریافت کنید (جاهای خالی در اینجا برای نمایش روی صفحه با نویسه‌ی «·» نشان داده شده‌اند):

·*·*·
··*··
··*··
·····

که کد شما باید آن را به این تبدیل کند:

1*3*1
13*31
·2*2·
·111·
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Crystal Exercism

آماده‌اید مین‌یاب را شروع کنید؟

در Exercism ثبت‌نام کنید تا Crystal را همراه با 26 مفهوم142 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.

بررسی عمیق مین‌یاب!

حلقه‌های For تودرتو، استفاده‌ی هوشمندانه از `min` و `max` برای ساده کردن بررسی محدوده‌ها، پایپ‌لاین‌های تابعی و استفاده از ماتریس‌های دوبعدی را بررسی می‌کنیم.