1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Γεια σου, είμαι Rob, και ας το άλμα στην έκδοση χάκερ του Mario. 3 00:00:18,290 --> 00:00:21,760 Έτσι, το πρώτο πράγμα που πρέπει να κάνουμε είναι πάρει το ύψος από το χρήστη. 4 00:00:21,760 --> 00:00:26,290 Εδώ είμαστε να τους ζητούν μια μη αρνητικός ακέραιος μικρότερη από 24 και 5 00:00:26,290 --> 00:00:31,710 είμαστε με τη λειτουργία CS50 GetInt για να αρπάξει ότι ακέραιος αριθμός από το χρήστη. 6 00:00:31,710 --> 00:00:35,260 Βλέπουμε ότι είμαστε μέσα σε ένα do-while loop ότι θα συνεχίσει να looping όσο 7 00:00:35,260 --> 00:00:38,400 ύψος είναι μεγαλύτερο από ό, τι 23 ή μικρότερη από 0. 8 00:00:38,400 --> 00:00:42,850 Και έτσι θα συνεχίσουμε μέχρι το χρήστη στην πραγματικότητα μας δίνει αυτό που θέλουμε. 9 00:00:42,850 --> 00:00:46,960 >> Μόλις έχουμε αυτό το ύψος, έχουμε την ευκαιρία να ο κύριος βρόχος for του προγράμματός μας. 10 00:00:46,960 --> 00:00:49,510 Έτσι, ας πρώτη ματιά σε ένα παράδειγμα από το spec το chipset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Βλέπουμε σε αυτό το παράδειγμα ότι όταν εισάγετε ένα ύψος 4, την κάτω γραμμή 13 00:00:56,940 --> 00:01:01,520 πρώτα εκτυπώνει τέσσερις hashes, δύο θέσεις, και τέσσερις hashes. 14 00:01:01,520 --> 00:01:06,280 >> Στη συνέχεια, μια σειρά ανωτέρω προκύπτει ότι εκτυπώνει ένα χώρο τρεις hashes, δύο κενά για να 15 00:01:06,280 --> 00:01:09,690 διαχωρίσει τις πυραμίδες, και Στη συνέχεια τρεις hashes. 16 00:01:09,690 --> 00:01:13,460 Και πάνω από αυτό, δύο θέσεις, δύο hashes, δύο θέσεις, δύο hashes. 17 00:01:13,460 --> 00:01:18,090 Και τέλος, τρεις θέσεις ενός χασίς, δύο χώρους ένα hash. 18 00:01:18,090 --> 00:01:20,980 Έτσι, μπορείτε να αρχίσετε να παρατηρείτε το μοτίβο εδώ. 19 00:01:20,980 --> 00:01:22,545 >> Ας δούμε τον κώδικα για το πώς θα πάμε να το κάνουμε αυτό. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Βλέπουμε εδώ ότι είμαστε επανάληψη πάνω από όλες τις σειρές της πυραμίδας. 22 00:01:28,840 --> 00:01:31,720 Πρώτα θέλουμε να υπολογίσει ο αριθμός των χώρων. 23 00:01:31,720 --> 00:01:34,690 Και να θυμάστε ότι πρέπει να ξεκινήσει η κορυφή της πυραμίδας και το έργο μας 24 00:01:34,690 --> 00:01:37,790 τρόπος κάτω από τη στιγμή που δεν μπορεί να τυπώσει το κάτω, στη συνέχεια, μία γραμμή επάνω και 25 00:01:37,790 --> 00:01:39,140 τότε μία γραμμή επάνω. 26 00:01:39,140 --> 00:01:44,030 Έτσι, στην κορυφή της πυραμίδας, ανακοίνωση ότι ο αριθμός των χώρων είναι ίση με 27 00:01:44,030 --> 00:01:45,720 ύψος μείον 1. 28 00:01:45,720 --> 00:01:50,120 Εμείς πάμε για να εκτυπώσετε τρεις χώρους, στη συνέχεια, ένα hash και, στη συνέχεια, δύο κενά για να 29 00:01:50,120 --> 00:01:53,350 ξεχωριστή και άλλο hash. 30 00:01:53,350 --> 00:01:57,320 >> Έτσι χώρων είναι ίση με ύψος μείον σειρά. 31 00:01:57,320 --> 00:02:03,180 Εάν η γραμμή είναι 1 και το ύψος μας είναι 4, που θα μας δώσει 3 θέσεις, όπως θέλουμε. 32 00:02:03,180 --> 00:02:06,900 Στη συνέχεια, αυτό για το βρόχο ακριβώς εκτυπώσεις ότι ο αριθμός των χώρων. 33 00:02:06,900 --> 00:02:12,630 Αν χώρων είναι τρεις, τότε θα πάμε να δημιουργήσετε ένα ενιαίο χώρο τρεις φορές. 34 00:02:12,630 --> 00:02:18,750 >> Συνεχίζοντας, τώρα θέλουμε να εκτυπώσετε το hashes του αριστερού πυραμίδας, το οποίο είναι 35 00:02:18,750 --> 00:02:20,630 ακριβώς ίσο με τον αριθμό σειράς. 36 00:02:20,630 --> 00:02:23,250 Κοιτάζοντας πίσω εδώ, στη σειρά ένα, μπορούμε να εκτυπώσετε ένα hash. 37 00:02:23,250 --> 00:02:25,960 Στη γραμμή δύο τυπώνουμε δύο, σε σειρά τριών τυπώνουμε τρεις. 38 00:02:25,960 --> 00:02:30,440 Γι 'αυτό και απλά περάστε φορές συνεχόμενα εκτύπωση σύμβολο hash. 39 00:02:30,440 --> 00:02:34,830 Στη συνέχεια για όλες τις γραμμές της πυραμίδας, εμείς εκτυπώσετε ακριβώς δύο κενά για να διαχωρίσετε 40 00:02:34,830 --> 00:02:36,360 αυτές οι πυραμίδες. 41 00:02:36,360 --> 00:02:39,590 >> Και τέλος, θέλουμε να εκτυπώσετε το δικαίωμα πλευρά της πυραμίδας, το οποίο είναι 42 00:02:39,590 --> 00:02:42,160 και πάλι ο ίδιος αριθμός των hashes όπως την αριστερή πλευρά. 43 00:02:42,160 --> 00:02:45,680 Και γι 'αυτό ακριβώς το ίδιο βρόχος for όπως παραπάνω εδώ. 44 00:02:45,680 --> 00:02:49,445 Τέλος, θα πρέπει να δημιουργήσετε μια νέα γραμμή Προκειμένου να προχωρήσουμε στην επόμενη σειρά των 45 00:02:49,445 --> 00:02:51,690 η πυραμίδα και να συνεχίσετε την εκτύπωση. 46 00:02:51,690 --> 00:02:53,010 Και αυτό είναι όλο. 47 00:02:53,010 --> 00:02:54,860 Το όνομά μου είναι Rob και αυτό ήταν Mario. 48 00:02:54,860 --> 00:03:01,718