Ο Ναρκαλιευτής είναι ένα δημοφιλές παιχνίδι στο οποίο ο χρήστης πρέπει να βρει τις νάρκες χρησιμοποιώντας αριθμητικές ενδείξεις που δείχνουν πόσες νάρκες γειτνιάζουν άμεσα (οριζόντια, κάθετα ή διαγώνια) με ένα τετράγωνο.
Η αποστολή σου είναι να προσθέσεις τον αριθμό των ναρκών στα κενά τετράγωνα ενός ολοκληρωμένου ταμπλό Minesweeper.
Το ίδιο το ταμπλό είναι ένα ορθογώνιο που αποτελείται από τετράγωνα που είναι είτε κενά (' ') είτε νάρκες ('*').
Για κάθε κενό τετράγωνο, μέτρησε πόσες νάρκες γειτονεύουν με αυτό (οριζόντια, κάθετα, διαγώνια). Αν το κενό τετράγωνο δεν έχει γειτονικές νάρκες, άφησέ το κενό. Διαφορετικά, αντικατέστησέ το με τον αριθμό των γειτονικών ναρκών.
Για παράδειγμα, μπορεί να λάβεις ένα ταμπλό 5 x 4 σαν αυτό (εδώ τα κενά παριστάνονται με τον χαρακτήρα '·' για να φαίνονται στην οθόνη):
·*·*·
··*··
··*··
·····
Το οποίο ο κώδικάς σου θα πρέπει να μετατρέψει σε αυτό:
1*3*1
13*31
·2*2·
·111·
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Delphi Pascal με 76 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.
Εξερευνούμε τους εμφωλευμένους βρόχους `for`, την έξυπνη χρήση των min/max για την απλοποίηση του ελέγχου ορίων, τα functional pipelines και τη χρήση δισδιάστατων πινάκων.