دشت گل

دشت گل

متوسط

مقدمه

Flower Field بازآفرینیِ مهربانانه‌ای از بازی محبوب Minesweeper است. هدف بازی این است که با کمک سرنخ‌های عددی، همه‌ی گل‌های باغ را پیدا کنید. این سرنخ‌ها نشان می‌دهند که چند گل به‌طور مستقیم (افقی، عمودی یا قطری) مجاور یک خانه قرار دارد. «Flower Field» در نسخه‌های منطقه‌ای Microsoft Windows در ایتالیا، آلمان، کره‌ی جنوبی، ژاپن و تایوان عرضه شد.

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

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

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

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

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

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

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

آماده‌اید دشت گل را شروع کنید؟

در Exercism ثبت‌نام کنید تا Go را همراه با 34 مفهوم165 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.

بررسی عمیق دشت گل!

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