Σπίτι Προσωπικά Οικονομικά Πώς να δημιουργήσετε κώδικα σε Ruby για να σχεδιάσετε ένα ορθογώνιο - dummies

Πώς να δημιουργήσετε κώδικα σε Ruby για να σχεδιάσετε ένα ορθογώνιο - dummies

Βίντεο: Coding Challenge #3: The Snake Game 2024

Βίντεο: Coding Challenge #3: The Snake Game 2024
Anonim

Στο Ruby, μπορείτε να δημιουργήσετε ένα ορθογώνιο στην οθόνη χρησιμοποιώντας την τεχνολογία ASCII. Εάν επρόκειτο να σχεδιάσετε ένα ορθογώνιο σε χαρτί γεμάτο με ένα μοτίβο, τι θα έπρεπε να κάνετε; Αρχικά, μπορείτε να σχεδιάσετε το περίγραμμα του ορθογωνίου και, στη συνέχεια, να χρωματίσετε στο εσωτερικό.

Αλλά για το πρόγραμμά σας στο Ruby, θα θελήσετε να αντλήσετε το σχήμα από την κορυφή στο κάτω μέρος, μία γραμμή τη φορά. Πώς θα περιγράφατε πώς να το κάνετε αυτό; Όπως και εδώ:

  1. Σχεδιάστε την κορυφή του ορθογωνίου χρησιμοποιώντας το εξωτερικό (ή άκρο) σχέδιο για την πρώτη γραμμή.

  2. Για κάθε μια από τις γραμμές που συνθέτουν τις πλευρές και το εσωτερικό του ορθογωνίου, τραβήξτε την αριστερή άκρη, όλη τη μέση και, στη συνέχεια, το δεξί άκρο.

    Επαναλάβετε αυτό το βήμα μέχρι να χρειαστεί να σχεδιάσετε το κάτω μέρος του ορθογωνίου.

  3. Σχεδιάστε το κάτω μέρος του ορθογωνίου ακριβώς όπως τραβήξατε το πάνω άκρο.

Αυτός είναι ένας αλγόριθμος για την σχεδίαση ορθογωνίων γραμμών ανά γραμμή από πάνω προς τα κάτω.

Ένας αλγόριθμος είναι απλώς μια ακολουθία βημάτων που ακολουθείτε για να ολοκληρώσετε κάποια εργασία ή υπολογισμό. Σε αυτή την περίπτωση, γράψατε την ακολουθία για να σχεδιάσετε ένα ορθογώνιο με σάρωση από πάνω προς τα κάτω, γραμμή με γραμμή.

Η έκδοση Ruby του αλγορίθμου σας μοιάζει πολύ με την αγγλική έκδοση:

  1. Ρυθμίστε δύο μεταβλητές που διευκολύνουν να δουν τι συμβαίνει. Θα χρησιμοποιήσετε την επιλογή του χρήστη για το μέγεθος του σχήματος τόσο ως προς το ύψος όσο και ως το πλάτος του σχήματος που πρόκειται να σχεδιάσετε:

    height = shape_size width = shape_size
    
  2. Θα σχεδιάσετε τη γραμμή ορθογωνίου κατά γραμμή, ρυθμίστε έναν βρόχο που θα επαναλάβει τον κωδικό σας για κάθε σειρά (αυτό σημαίνει ότι χρειάζεστε τον κώδικα σχεδίασης για την εκτέλεση ύψος φορές):

    1. upto (ύψος) να | σειρά | # Ο κώδικας σχεδίασης πηγαίνει εδώ τέλος
    

    Οι βρόχοι είναι ένας ισχυρός τρόπος να επαναληφθεί ο κώδικας αρκετές φορές (ή ακόμα και ένας άπειρος αριθμός φορές)! Ο Ruby έχει διάφορους τρόπους να προγραμματίσει έναν βρόχο. Η μέθοδος upto είναι ένας εύκολος τρόπος για να μετρήσετε από τον αρχικό αριθμό σε έναν τελικό αριθμό. Για το ορθογώνιο, θέλετε να μετρήσετε αρχίζοντας από το 1 για την πρώτη σειρά και ολοκληρώνοντας την καταμέτρηση όταν φτάσετε στον αριθμό που αντιπροσωπεύει το ύψος.

  3. Τώρα, για να λειτουργήσει ο αλγόριθμος, πρέπει να ελέγξετε για να δείτε τη σειρά που θέλετε να εκτυπώσει το πρόγραμμα. Έχετε τρεις περιπτώσεις: την πρώτη σειρά, τις μεσαίες σειρές και την τελευταία σειρά. Προσθέστε στην περίπτωση της πρώτης γραμμής στη μέση του βρόχου σας:

    αν η σειρά == 1 βάζει εξωτερικό_ολόγο * το τέλος πλάτους
    

    Αν η μεταβλητή σειρά είναι ίση με μία, το πρόγραμμα θα χρησιμοποιήσει βάζει για να εκτυπώσει την επιλογή σας για το εξωτερικό_διαλόγιο αρκετές φορές ίσο με το πλάτος.

    Χρησιμοποιείτε αν δηλώσεις όταν θέλετε να δείτε αν κάποια προϋπόθεση είναι αληθής ή ψευδής.Το σύμβολο == στον Ruby θέτει την ερώτηση: "Το πράγμα στην αριστερή πλευρά είναι ίσο με το πράγμα στη δεξιά πλευρά του συμβόλου ==; "Αν είναι, τότε ο Ruby θα τρέξει τις γραμμές του κώδικα μέχρι να υπάρξει μια άλλη συνθήκη ή μια λέξη κλειδιού.

  4. Στη συνέχεια, προσθέστε έναν έλεγχο για να δείτε αν αυτή είναι η τελευταία σειρά. Η λέξη-κλειδί elsif ξεκινά μια άλλη δοκιμή κατάστασης και το τοποθετείτε ακριβώς πριν από την προηγούμενη λέξη-κλειδί. Αυτό δεν είναι ορθό λάθος, παρεμπιπτόντως. Ο Ruby έχει απλώς έναν αστείο τρόπο να λέει "αλλιώς αν"! Ολόκληρο το πράγμα θα έχει την εξής μορφή:

    αν η σειρά == 1 βάζει το εξωτερικό_letter * το πλάτος elsif row == το ύψος βάζει το εξωτερικό_letter * το τέλος του πλάτους
    
  5. Τέλος, πρέπει να χειριστείτε την εμφάνιση όλων των γραμμών στη μέση, προσθέστε μια τελευταία προϋπόθεση χρησιμοποιώντας την άλλη λέξη-κλειδί του Ruby. Αυτός ο κώδικας πηγαίνει ακριβώς πριν από τη λέξη-κλειδί στο τέλος. Εδώ είναι ολόκληρο το μπλοκ του Ruby:

    if row == 1 θέτει εξωτερικό_letter * πλάτος elsif σειρά == ύψος βάζει έξω_letter * πλάτος άλλο middle = εσωτερικό_letter * (πλάτος -2) θέτει "# {outside_letter} # {middle} # { outside_letter} "end
    

    Η μεσαία περίπτωση φαίνεται περίπλοκη. Τι κάνει; Λοιπόν, σύμφωνα με τον αλγόριθμό σας, πρέπει να σχεδιάσετε τα αριστερά και τα δεξιά άκρα και τα πάντα στη μέση.

    Η μεσαία μεταβλητή υπολογίζει τη συμβολοσειρά που αντιπροσωπεύει το κέντρο του ορθογωνίου. Εάν αφαιρέσετε ένα για τον χαρακτήρα αριστερού άκρου και ένα για το δεξιό χαρακτήρα άκρου, το τελικό πλάτος της μέσης είναι το πλήρες πλάτος μείον δύο χαρακτήρες.

    Η τελική εντολή puts χρησιμοποιεί την επεξεργασία συμβολοσειρών για να δημιουργήσει τη συνδυασμένη σειρά.

  6. Εκτελέστε το πρόγραμμά σας και δείτε αν έχετε λάθη. Έχετε κάτι σαν αυτό που εμφανίζεται εδώ; Αν δείτε ένα σφάλμα που λέει κάτι σαν τη σύγκριση του Fixnum με το String απέτυχε, αυτό σημαίνει ότι ο Ruby είχε έναν σκληρό χρόνο χρησιμοποιώντας την τιμή inside shape_size ως αριθμό.

    Ο Ruby δεν είναι σίγουρος για τη χρήση των συμβολοσειρών για αριθμούς.

    Γιατί υπάρχει πρόβλημα όταν πληκτρολογήσατε αριθμό; Λοιπόν, παίρνει διαβάζει στην είσοδο σας, αλλά διαβάζει όλους τους χαρακτήρες που πληκτρολογείτε ως μια συμβολοσειρά. Πρέπει να βοηθήσετε τον Ruby να μετατρέψει τη σειρά σε έναν αριθμό.

  7. Αλλάξτε τις δύο γραμμές στις οποίες ρυθμίζετε τις μεταβλητές ύψους και πλάτους για να χρησιμοποιήσετε τη μέθοδο to_i, δηλαδή μετατρέψτε τα περιεχόμενα αυτής της μεταβλητής σε ακέραιο αριθμό:

    height = shape_size. to_i πλάτος = size_size. to_i
    

    Εκτελέστε ξανά τον κωδικό σας. Επιτυχία!

    Είναι αυτό το πιο συναρπαστικό ορθογώνιο του κόσμου;
Πώς να δημιουργήσετε κώδικα σε Ruby για να σχεδιάσετε ένα ορθογώνιο - dummies

Η επιλογή των συντακτών

Που συμμετέχουν στις Συνιστώμενες Ομάδες στο LinkedIn - ανδρείκελα

Που συμμετέχουν στις Συνιστώμενες Ομάδες στο LinkedIn - ανδρείκελα

Υπάρχουν περισσότερες από δύο εκατομμύρια ομάδες στο LinkedIn. Αναζήτηση στο LinkedIn για να βρείτε ομάδες που ταιριάζουν με το κοινό-στόχο και τα ενδιαφέροντά σας ή επιτρέψτε στο LinkedIn να σας συστήσει ομάδες. Το LinkedIn εξετάζει τις κοινότητες που μοιράζεστε με μέλη διαφορετικών ομάδων, όπως εταιρείες, σχολεία ή βιομηχανίες. Αυτές οι ομάδες με μέλη που έχουν τα περισσότερα χαρακτηριστικά ...

Πώς να γράψετε την περίληψη για το προφίλ σας LinkedIn - ανδρείκελα

Πώς να γράψετε την περίληψη για το προφίλ σας LinkedIn - ανδρείκελα

Το προφίλ LinkedIn εμφανίζεται στο τρίτο τρίτο του προφίλ σας, θα πρέπει να δώσει στον αναγνώστη μια γρήγορη ιδέα για το ποιος είστε, τι έχετε επιτύχει και, το σημαντικότερο, τι ψάχνετε στο LinkedIn. Μερικοί άνθρωποι σκέφτονται την περίληψή τους ως "γήπεδο ανελκυστήρα", ή την εισαγωγή τους 30 δευτερολέπτων οι ίδιοι ότι ...

LinkedInIn Group Κατηγορίες - ανδρείκελα

LinkedInIn Group Κατηγορίες - ανδρείκελα

Επειδή υπάρχουν πολλοί λόγοι για να δημιουργήσετε μια ομάδα LinkedIn σας δίνει επιλογές για κατηγοριοποίηση της ομάδας σας για να σας δώσει την μεγαλύτερη έκθεση. Το LinkedIn έχει δημιουργήσει τις ακόλουθες έξι βασικές κατηγορίες ομάδων: Αποφοίτων: Αυτές οι ομάδες είναι ενώσεις αποφοίτων που δημιουργούνται από σχολεία ή εκπαιδευτικά ιδρύματα ως μέσο για να διατηρούν επαφή με το παρελθόν ...

Η επιλογή των συντακτών

Πώς να εφαρμόσετε τις εντολές στις μηχανές Minecraft Redstone - dummies

Πώς να εφαρμόσετε τις εντολές στις μηχανές Minecraft Redstone - dummies

Αντικατάσταση κυκλωμάτων. Στο Minecraft, τα μπλοκ εντολών ενεργοποιούνται κάθε φορά που τροφοδοτούνται από το ρεύμα redstone - έτσι, όταν συνδέονται σε ένα κύκλωμα redstone, μπορούν να λειτουργήσουν με ενδιαφέροντα τρόπους. Υπάρχουν διάφοροι τρόποι ενσωμάτωσης των μπλοκ εντολών και των κυκλωμάτων. Δημιουργία αδύνατων μηχανών με κυκλώματα εντολών Μερικές φορές, κυκλώματα redstone ...

Πώς να οικοδομήσουμε κύκλους και σφαίρες στο Minecraft - dummies

Πώς να οικοδομήσουμε κύκλους και σφαίρες στο Minecraft - dummies

Σε έναν κόσμο όπου όλα αποτελούνται από τετράγωνα και κύβους , δημιουργώντας οτιδήποτε είναι τελείως στρογγυλό στον κόσμο του Minecraft είναι αδύνατο. Αλλά αν έχετε την καρδιά σας σε κύκλους ή σφαίρες, υπάρχει ένα τέχνασμα: Μπορείτε να έρθετε κοντά τοποθετώντας στοίβα μπλοκ. Δημιουργώντας έναν κύκλο Η οικοδόμηση ενός κύκλου βασίζεται σε τεχνικές παρόμοιες με εκείνες ...

Πώς να οικοδομήσουμε ένα καταφύγιο και μια πόρτα στο Minecraft - dummy

Πώς να οικοδομήσουμε ένα καταφύγιο και μια πόρτα στο Minecraft - dummy

Στο Minecraft, περιπλάνηση στο ύπαιθρο συνήθως δεν είναι πρόβλημα κατά τη διάρκεια της ημέρας, αλλά το περιβάλλον γίνεται πιο επικίνδυνο τη νύχτα. Εάν τα λεπτά της ημέρας πέφτουν και δεν αισθάνεστε έτοιμοι να πολεμήσετε (που πιθανώς είναι αλήθεια την πρώτη ημέρα σας), χρειάζεστε καταφύγιο. Τοποθετώντας πολλά από τα μπλοκ που έχετε συγκεντρώσει, ...

Η επιλογή των συντακτών

Δικτύου Παρέχονται υπηρεσίες Cloud computing - dummies

Δικτύου Παρέχονται υπηρεσίες Cloud computing - dummies

, πλατφόρμες και υπηρεσίες (υποδομή). Οι παρακάτω παράγραφοι περιγράφουν λεπτομερέστερα αυτούς τους τρεις τύπους υπηρεσιών Cloud. Εφαρμογές στο σύννεφο Συχνά αναφέρεται ως λογισμικό ως υπηρεσία (SaaS), πλήρως λειτουργικές εφαρμογές μπορούν να παραδοθούν μέσω του cloud. Ένα από τα ...

IOS Cloud Development Για Ανδρείκελα Cheat Sheet - dummies

IOS Cloud Development Για Ανδρείκελα Cheat Sheet - dummies

Όταν μιλάτε για προγραμματισμό Cloud iOS, μιλάμε για δύο πράγματα: το iCloud (το οποίο υλοποιείται για εσάς από την Apple και σας επιτρέπει να συγχρονίζετε δεδομένα μεταξύ των συσκευών) και τις υπηρεσίες ιστού (οι οποίες σας επιτρέπουν να κάνετε κάποια επεξεργασία της εφαρμογής σας από έναν απομακρυσμένο υπολογιστή κάπου στη μέση του που γνωρίζει πού). ...

Κατανόηση Συνεργασία ως υπηρεσία στο Cloud Computing - dummies

Κατανόηση Συνεργασία ως υπηρεσία στο Cloud Computing - dummies

Στο μέλλον, οι εταιρείες είναι πιθανό να προσφέρουν ενοποιημένη επικοινωνιών (ενσωμάτωση τηλεφωνίας, άμεσων μηνυμάτων και ηλεκτρονικού ταχυδρομείου) ως υπηρεσία για Cloud computing. Η συνεργασία είναι μία από τις φυσικές αγορές για το cloud computing και το λογισμικό ως υπηρεσία (SaaS). Υπάρχει αρκετό εύρος ζώνης και όλες οι εταιρείες συνδέονται με το Διαδίκτυο. Τι εταιρείες επικεντρώνουν ...