Flower Field هي إعادة تخيّل عطوفة للعبة الشهيرة Minesweeper. هدف اللعبة هو العثور على كل الأزهار في الحديقة باستخدام تلميحات رقمية تشير إلى عدد الأزهار المجاورة مباشرة (أفقيًا، وعموديًا، وقطريًا) لمربع. صدرت لعبة "Flower Field" ضمن إصدارات إقليمية من Microsoft Windows في إيطاليا وألمانيا وكوريا الجنوبية واليابان وتايوان.
مهمتك هي إضافة أعداد الأزهار إلى المربعات الفارغة في حديقة "حقل الأزهار" المكتملة.
الحديقة نفسها لوحة مستطيلة تتكوّن من مربعات، إما فارغة (' ') وإما زهرة ('*').
لكل مربع فارغ، احسب عدد الأزهار المجاورة له (أفقيًا، رأسيًا، وقطريًا). إذا لم يكن للمربع الفارغ أي أزهار مجاورة، فاتركه فارغًا. وإلا فاستبدله بعدد الأزهار المجاورة.
على سبيل المثال، قد تستلم لوحة بأبعاد 5 x 4 مثل هذه (المسافات الفارغة ممثَّلة هنا بالمحرف '·' لعرضها على الشاشة):
·*·*·
··*··
··*··
·····
والتي ينبغي أن يحوّلها الكود إلى هذا:
1*3*1
13*31
·2*2·
·111·
سجّل في Exercism لتتعلّم وتتقن D عبر 92 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.
نستكشف حلقات `for` المتداخلة، والاستخدام الذكي لـ `min`/`max` لتبسيط التحقق من الحدود، وخطوط الأنابيب الوظيفية، واستخدام المصفوفات ثنائية الأبعاد.