>> ROB สลิง: สวัสดีครับผมร็อบและให้กระโดด เป็นรุ่นที่แฮ็กเกอร์ของมาริโอ
ดังนั้นสิ่งแรกที่เราต้องทำคือ ได้รับความสูงจากผู้ใช้
ที่นี่เรากำลังขอให้พวกเขาสำหรับ จำนวนเต็มไม่เป็นลบน้อยกว่า 24 และ
เรากำลังใช้ฟังก์ชั่น CS50 GetInt ที่จะคว้าจำนวนเต็มที่จากผู้ใช้
เราเห็นเราอยู่ด้านในของวงที่ต้องทำในขณะที่ ที่จะยังคงวนลูปตราบเท่าที่
ความสูงมากกว่า 23 หรือน้อยกว่า 0
และเพื่อให้เราจะได้ดำเนินการต่อไปจนกว่าผู้ใช้ จริงช่วยให้เรามีสิ่งที่เราต้องการ
>> เมื่อเรามีความสูงที่เราได้รับ หลักสำหรับวงของโปรแกรมของเรา
ดังนั้นเรามาดูครั้งแรกที่ยกตัวอย่างเช่น จากข้อมูลจำเพาะ pset
ที่เราเห็นในตัวอย่างนี้ว่าเมื่อเรา ป้อนความสูง 4 แถวล่าง
ครั้งแรกที่พิมพ์สี่ hashes สองช่องว่าง และอีกสี่ hashes
>> จากนั้นหนึ่งในแถวด้านบนที่พิมพ์หนึ่ง พื้นที่สาม hashes สองช่องว่าง
แยกปิรามิดและ จากนั้นอีกสาม hashes
และเหนือที่สองช่องว่างสอง hashes, สองช่องว่างสอง hashes
และในที่สุดก็สามช่องว่างหนึ่ง กัญชาสองช่องว่างหนึ่งกัญชา
ดังนั้นคุณควรเริ่มสังเกตเห็น รูปแบบที่นี่
>> ลองดูที่รหัสสำหรับวิธีการ เราจะทำอย่างนั้น
เรามาดูกันที่นี่ที่เรากำลัง iterating กว่าทุกแถวของพีระมิด
ครั้งแรกที่เราต้องการคำนวณ จำนวนช่องว่าง
และจำไว้ว่าเราจะต้องเริ่มต้นที่ ด้านบนของปิรามิดและการทำงานของเรา
ทางลงเนื่องจากเราไม่สามารถพิมพ์ ด้านล่างจากนั้นแถวที่หนึ่งขึ้นและ
จากนั้นหนึ่งแถวขึ้น
ดังนั้นที่ด้านบนของปิรามิด, แจ้งให้ทราบล่วงหน้า ว่าจำนวนของช่องว่างที่มีค่าเท่ากับ
ความสูงลบ 1
เรากำลังจะพิมพ์สามช่องว่างแล้ว กัญชาหนึ่งแล้วสองช่องว่าง
ที่แยกจากกันและอีกกัญชา
>> ดังนั้นช่องว่างที่มีค่าเท่ากับ แถวลบความสูง
ถ้าแถวคือ 1 และความสูงของเราคือ 4, ที่จะทำให้เรามี 3 ช่องว่างตามที่เราต้องการ
แล้วนี้สำหรับวงเพียงแค่พิมพ์ จำนวนช่องว่างที่
หากช่องว่างที่สามแล้วที่เรากำลังจะ สร้างพื้นที่เดียวสามครั้ง
>> อย่างต่อเนื่องในขณะนี้เราต้องการที่จะพิมพ์ hashes ของปิรามิดด้านซ้ายซึ่งเป็น
เพียงเท่ากับจำนวนแถว
มองกลับมาที่นี่ในแถว หนึ่งที่เราพิมพ์หนึ่งกัญชา
ในแถวที่สองเราพิมพ์สองใน แถวสามเราพิมพ์สาม
ครั้งแถวดังนั้นเราก็ห่วง สัญลักษณ์การพิมพ์กัญชา
แล้วสำหรับแถวทั้งหมดของปิรามิดที่เรา พิมพ์ตรงสองช่องว่างแบ่ง
ปิรามิดที่
>> และในที่สุดเราต้องการที่จะพิมพ์ที่ถูกต้อง ด้านข้างของพีระมิดซึ่งเป็น
อีกครั้งจำนวนเดียวกันของ hashes เป็นทางด้านซ้าย
และดังนั้นจึงเป็นที่แน่นอนเดียวกัน สำหรับวงดังกล่าวที่นี่
สุดท้ายเราต้องสร้างบรรทัดใหม่ใน เพื่อที่จะย้ายไปยังแถวถัดไปของ
ปิรามิดและดำเนินการต่อการพิมพ์
และที่มัน
ชื่อของฉันคือร็อบและนี่ก็เป็นมาริโอ