1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB Bowden: Xin chào, tôi Rob, và chúng ta hãy nhảy vào phiên bản của hacker của Mario. 3 00:00:18,290 --> 00:00:21,760 Vì vậy, điều đầu tiên chúng ta cần làm là có được chiều cao từ người sử dụng. 4 00:00:21,760 --> 00:00:26,290 Ở đây chúng tôi đang yêu cầu họ cho một số nguyên không âm nhỏ hơn 24 và 5 00:00:26,290 --> 00:00:31,710 chúng ta đang sử dụng các chức năng CS50 getInt để lấy số nguyên từ người sử dụng. 6 00:00:31,710 --> 00:00:35,260 Chúng ta thấy chúng ta đang ở trong một vòng lặp do-while sẽ tiếp tục lặp miễn là 7 00:00:35,260 --> 00:00:38,400 chiều cao lớn hơn 23 hoặc nhỏ hơn 0. 8 00:00:38,400 --> 00:00:42,850 Và vì vậy chúng tôi sẽ tiếp tục cho đến khi người sử dụng thực sự cho chúng ta những gì chúng ta muốn. 9 00:00:42,850 --> 00:00:46,960 >> Một khi chúng ta có chiều cao đó, chúng tôi nhận được chính cho vòng lặp của chương trình của chúng tôi. 10 00:00:46,960 --> 00:00:49,510 Vì vậy, trước tiên hãy xem xét một ví dụ từ các spec pset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Chúng ta thấy trong ví dụ này là khi chúng ta nhập chiều cao là 4, hàng dưới cùng 13 00:00:56,940 --> 00:01:01,520 đầu tiên in bốn băm, hai không gian, và thêm bốn băm. 14 00:01:01,520 --> 00:01:06,280 >> Sau đó, một hàng trên đó in một không gian ba băm, hai không gian để 15 00:01:06,280 --> 00:01:09,690 tách các kim tự tháp, và sau đó thêm ba băm. 16 00:01:09,690 --> 00:01:13,460 Và ở trên đó, hai không gian, hai băm, hai không gian, hai băm. 17 00:01:13,460 --> 00:01:18,090 Và cuối cùng, ba không gian một băm, hai không gian một băm. 18 00:01:18,090 --> 00:01:20,980 Vì vậy, bạn nên bắt đầu chú ý mô hình ở đây. 19 00:01:20,980 --> 00:01:22,545 >> Chúng ta hãy nhìn vào các mã trong bao chúng ta sẽ làm điều đó. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Chúng ta thấy ở đây là chúng ta đang lặp lại trên tất cả các hàng của kim tự tháp. 22 00:01:28,840 --> 00:01:31,720 Trước tiên chúng ta muốn tính toán số lượng không gian. 23 00:01:31,720 --> 00:01:34,690 Và hãy nhớ rằng chúng ta phải bắt đầu từ đỉnh của kim tự tháp và làm việc của chúng tôi 24 00:01:34,690 --> 00:01:37,790 đường xuống kể từ khi chúng tôi không thể in phía dưới sau đó một hàng và 25 00:01:37,790 --> 00:01:39,140 sau đó một hàng lên. 26 00:01:39,140 --> 00:01:44,030 Vì vậy, ở trên cùng của kim tự tháp, thông báo rằng số lượng không gian bằng 27 00:01:44,030 --> 00:01:45,720 chiều cao trừ đi 1. 28 00:01:45,720 --> 00:01:50,120 Chúng sẽ in ba gian sau đó một băm và sau đó hai không gian để 29 00:01:50,120 --> 00:01:53,350 riêng biệt và băm khác. 30 00:01:53,350 --> 00:01:57,320 >> Vì vậy, không gian bằng chiều cao hàng trừ. 31 00:01:57,320 --> 00:02:03,180 Nếu đó là dòng 1 và chiều cao của chúng tôi là 4, mà sẽ cung cấp cho chúng tôi 3 không gian, như chúng ta muốn. 32 00:02:03,180 --> 00:02:06,900 Sau đó điều này cho vòng lặp chỉ in mà số lượng không gian. 33 00:02:06,900 --> 00:02:12,630 Nếu không gian là ba, sau đó chúng ta sẽ tạo ra một không gian duy nhất ba lần. 34 00:02:12,630 --> 00:02:18,750 >> Tiếp tục, bây giờ chúng tôi muốn in băm của kim tự tháp bên trái, đó là 35 00:02:18,750 --> 00:02:20,630 chỉ bằng số lượng hàng. 36 00:02:20,630 --> 00:02:23,250 Nhìn lại đây, trong hàng một, chúng tôi in một băm. 37 00:02:23,250 --> 00:02:25,960 Trong hàng hai chúng tôi in hai, trong hàng ba chúng tôi in ba. 38 00:02:25,960 --> 00:02:30,440 Lần liên tiếp vì vậy chúng tôi chỉ đơn giản lặp in biểu tượng băm. 39 00:02:30,440 --> 00:02:34,830 Sau đó cho tất cả các hàng của kim tự tháp, chúng tôi in chính xác hai không gian tách biệt 40 00:02:34,830 --> 00:02:36,360 những kim tự tháp. 41 00:02:36,360 --> 00:02:39,590 >> Và cuối cùng, chúng tôi muốn in bên phải bên của kim tự tháp, đó là 42 00:02:39,590 --> 00:02:42,160 một lần nữa cùng một số băm như phía bên trái. 43 00:02:42,160 --> 00:02:45,680 Và do đó, nó cùng chính xác cho vòng lặp như trên đây. 44 00:02:45,680 --> 00:02:49,445 Cuối cùng, chúng ta cần phải tạo ra một dòng mới trong để chuyển sang hàng tiếp theo của 45 00:02:49,445 --> 00:02:51,690 kim tự tháp và tiếp tục in. 46 00:02:51,690 --> 00:02:53,010 Và đó là nó. 47 00:02:53,010 --> 00:02:54,860 Tên tôi là Rob và điều này là Mario. 48 00:02:54,860 --> 00:03:01,718