1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Hallo, ich bin Rob, und lasst uns springen in der Hacker-Ausgabe von Mario. 3 00:00:18,290 --> 00:00:21,760 Also erste, was wir tun müssen, ist erhalten Sie die Höhe durch den Benutzer. 4 00:00:21,760 --> 00:00:26,290 Hier werden wir sie bitten um eine nicht negative ganze Zahl kleiner als 24 und 5 00:00:26,290 --> 00:00:31,710 wir sind mit dem CS50 GetInt Funktion , dass die ganze Zahl von Benutzer zu greifen. 6 00:00:31,710 --> 00:00:35,260 Wir sehen uns im Inneren eines do-while-Schleife sind das wird auch weiterhin so lange wie Looping 7 00:00:35,260 --> 00:00:38,400 Höhe größer ist 23 oder weniger als 0 ist. 8 00:00:38,400 --> 00:00:42,850 Und so werden wir, bis der Benutzer weiterhin tatsächlich gibt uns, was wir wollen. 9 00:00:42,850 --> 00:00:46,960 >> Sobald wir diese Höhe, zu bekommen, wir für die Hauptschleife unseres Programms. 10 00:00:46,960 --> 00:00:49,510 Also lassen Sie uns zunächst einen Blick auf ein Beispiel von der pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Wir sehen in diesem Beispiel, dass, wenn wir Geben Sie eine Höhe von 4, die untere Zeile 13 00:00:56,940 --> 00:01:01,520 druckt ersten vier Hashes, zwei Räume, und vier weitere Hashes. 14 00:01:01,520 --> 00:01:06,280 >> Dann eine Zeile darüber druckt ein Platz drei Hashes, zwei Räume zu 15 00:01:06,280 --> 00:01:09,690 trennen Sie die Pyramiden und dann drei weitere Hashes. 16 00:01:09,690 --> 00:01:13,460 Und darüber, zwei Räume, zwei Hashes zwei Räume, zwei Hashes. 17 00:01:13,460 --> 00:01:18,090 Und schließlich, drei Räume ein Hash, zwei Leerzeichen ein Hash. 18 00:01:18,090 --> 00:01:20,980 So sollten Sie beginnen zu bemerken, das Muster hier. 19 00:01:20,980 --> 00:01:22,545 >> Werfen wir einen Blick auf den Code für wie werden wir das tun. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Wir sehen hier, dass wir laufen über alle Zeilen der Pyramide. 22 00:01:28,840 --> 00:01:31,720 Zuerst berechnen wollen wir die Zahl der Räume. 23 00:01:31,720 --> 00:01:34,690 Und denken Sie daran, dass wir beim Start die Spitze der Pyramide und arbeiten uns 24 00:01:34,690 --> 00:01:37,790 Weg nach unten, da wir nicht drucken, kann der Boden dann eine Zeile nach oben und 25 00:01:37,790 --> 00:01:39,140 dann eine Zeile nach oben. 26 00:01:39,140 --> 00:01:44,030 Also an der Spitze der Pyramide, Kündigung daß die Anzahl der Bereiche gleich ist 27 00:01:44,030 --> 00:01:45,720 Höhe minus eins. 28 00:01:45,720 --> 00:01:50,120 Wir werden drei Räume dann drucken ein Hash und dann zwei Räume zu 29 00:01:50,120 --> 00:01:53,350 getrennt und einem anderen Hash. 30 00:01:53,350 --> 00:01:57,320 >> So Räume ist gleich Höhe minus Reihe. 31 00:01:57,320 --> 00:02:03,180 Wenn die Zeile 1 und unsere Höhe 4, dass sie uns drei Räume zu geben, wie wir wollen. 32 00:02:03,180 --> 00:02:06,900 Dann ist dieser for-Schleife nur Drucke dass Anzahl der Räume. 33 00:02:06,900 --> 00:02:12,630 Wenn Räume ist drei, dann werden wir Erstellen Sie einen einzelnen Raum drei Mal. 34 00:02:12,630 --> 00:02:18,750 >> Weiterbildung, jetzt drucken möchten wir die Hashes der linken Pyramide, die ist 35 00:02:18,750 --> 00:02:20,630 gerade gleich der Zeilennummer. 36 00:02:20,630 --> 00:02:23,250 Rückblick hier, in der Reihe ein, drucken wir ein Hash. 37 00:02:23,250 --> 00:02:25,960 In Reihe zwei drucken wir zwei, Reihe drei drucken wir drei. 38 00:02:25,960 --> 00:02:30,440 Also haben wir einfach mal Schleife Zeile Druck Hash-Symbol. 39 00:02:30,440 --> 00:02:34,830 Dann für alle Zeilen der Pyramide, die wir drucken genau zwei Bereiche zu trennen 40 00:02:34,830 --> 00:02:36,360 diese Pyramiden. 41 00:02:36,360 --> 00:02:39,590 >> Und schließlich, um die richtige drucken möchten wir Seite der Pyramide, welche ist 42 00:02:39,590 --> 00:02:42,160 wieder die gleiche Anzahl von Hashes als die linke Seite. 43 00:02:42,160 --> 00:02:45,680 Und so ist es exakt das gleiche for-Schleife wie oben hier. 44 00:02:45,680 --> 00:02:49,445 Schließlich brauchen wir eine neue Zeile in erstellen Um sich zu bewegen auf die nächste Zeile 45 00:02:49,445 --> 00:02:51,690 die Pyramide und den Druck fortzusetzen. 46 00:02:51,690 --> 00:02:53,010 Und das ist es. 47 00:02:53,010 --> 00:02:54,860 Mein Name ist Rob und das war Mario. 48 00:02:54,860 --> 00:03:01,718