Flower Field είναι μια τρυφερή επανεπινόηση του δημοφιλούς παιχνιδιού Ναρκαλιευτής. Σκοπός του παιχνιδιού είναι να βρεις όλα τα λουλούδια στον κήπο χρησιμοποιώντας αριθμητικές υποδείξεις που δείχνουν πόσα λουλούδια βρίσκονται ακριβώς δίπλα (οριζόντια, κάθετα, διαγώνια) σε ένα τετράγωνο. Το "Flower Field" κυκλοφόρησε σε περιφερειακές εκδόσεις των Microsoft Windows στην Ιταλία, τη Γερμανία, τη Νότια Κορέα, την Ιαπωνία και την Ταϊβάν.
Η αποστολή σου είναι να προσθέσεις πλήθη λουλουδιών στα κενά τετράγωνα ενός ολοκληρωμένου κήπου Flower Field.
Ο ίδιος ο κήπος είναι ένα ορθογώνιο ταμπλό που αποτελείται από τετράγωνα, τα οποία είναι είτε κενά (' ') είτε ένα λουλούδι ('*').
Για κάθε κενό τετράγωνο, μέτρησε τον αριθμό των λουλουδιών που βρίσκονται δίπλα του (οριζόντια, κάθετα, διαγώνια). Αν το κενό τετράγωνο δεν έχει γειτονικά λουλούδια, άφησέ το κενό. Διαφορετικά, αντικατέστησέ το με το πλήθος των γειτονικών λουλουδιών.
Για παράδειγμα, μπορεί να λάβεις ένα ταμπλό 5 x 4 σαν αυτό (εδώ τα κενά αναπαρίστανται με τον χαρακτήρα '·' για να φαίνονται στην οθόνη):
·*·*·
··*··
··*··
·····
Το οποίο ο κώδικάς σου πρέπει να μετατρέψει σε αυτό:
1*3*1
13*31
·2*2·
·111·
Ο κήπος αναπαρίσταται ως μια συμβολοσειρά με τερματισμό μηδενικού, με έναν χαρακτήρα νέας γραμμής στο τέλος κάθε σειράς.
Ένα παράδειγμα θα ήταν " \n * \n \n"
| Καταχωρητής | Χρήση | Τύπος | Περιγραφή |
|---|---|---|---|
$a0 |
είσοδος | διεύθυνση | συμβολοσειρά εισόδου με τερματισμό μηδενικού |
$a1 |
είσοδος/έξοδος | διεύθυνση | συμβολοσειρά εξόδου με τερματισμό μηδενικού |
$t0-9 |
προσωρινή | οποιοσδήποτε | για προσωρινή αποθήκευση |
Γράψου στο Exercism για να μάθεις και να κατακτήσεις MIPS Assembly με 70 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.
Εξερευνούμε τους εμφωλευμένους βρόχους `for`, την έξυπνη χρήση των min/max για την απλοποίηση του ελέγχου ορίων, τα functional pipelines και τη χρήση δισδιάστατων πινάκων.