Διαδρομές
/
MIPS Assembly
MIPS Assembly
/
Ασκήσεις
/
Χωράφι με Λουλούδια
Χωράφι με Λουλούδια

Χωράφι με Λουλούδια

Δύσκολο

Εισαγωγή

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 προσωρινή οποιοσδήποτε για προσωρινή αποθήκευση
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
MIPS Assembly Exercism

Έτοιμος να ξεκινήσεις την άσκηση Χωράφι με Λουλούδια;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις MIPS Assembly με 70 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.

Αναλυτική ματιά στο Χωράφι με Λουλούδια!

Εξερευνούμε τους εμφωλευμένους βρόχους `for`, την έξυπνη χρήση των min/max για την απλοποίηση του ελέγχου ορίων, τα functional pipelines και τη χρήση δισδιάστατων πινάκων.