‫สวัสดีและยินดีต้อนรับการบรรยายนี้
‫เราจะเรียนรู้วิธีที่เราสามารถรันโค้ดจำนวนครั้งของตัวแปรได้ เพื่อที่เราจะสามารถพิมพ์ทุกอ็อบเจกต์ที่คาบเกี่ยวกันภายในพื้นที่นี้
‫ซึ่งเป็นองค์ประกอบทริกเกอร์นี้
‫คุณจะเห็นได้ว่าเมื่อเราทั้งคู่ ฉันกำลังยืนอยู่ข้างในและมีการ์กอยล์ด้วย
‫กำลังพิมพ์ทั้งชื่อการ์กอยล์และชื่อพิมพ์เขียวของผู้เล่น
‫มาดูวิธีการทำกัน
‫ตอนนี้ ปัญหาเกี่ยวกับโค้ดของเราที่นี่คืออาร์เรย์นักแสดงของเราอาจมีนักแสดงมากกว่าหนึ่งคนในนั้น
‫และถ้าเราต้องการแสดงนักแสดงทั้งหมดซ้อนทับกัน หรือเราต้องการทำอะไรกับนักแสดงเหล่านั้นทั้งหมด
‫เราต้องสามารถเรียกใช้โค้ดได้
‫การเขียนคำสั่ง if ในกรณีที่เรามีสองหรือสามหรือสี่หรือห้า ฯลฯ จะไม่มีประสิทธิภาพมากนัก
‫และแน่นอนว่ามันจะไม่เกิดขึ้นทุกกรณีเพราะเรามีบรรทัดในไฟล์ที่จำกัด
‫วิธีที่เราจัดการกับสิ่งนี้ เมื่อเราต้องการทำซ้ำโค้ดหลายๆ ครั้ง แต่หลายครั้งที่เราไม่รู้จริงๆ
‫ว่าเรากำลังคอมไพล์โค้ด เราต้องแทนที่คำสั่ง if
‫หากคำสั่งโดยพื้นฐานแล้วฉันควรรันโค้ดนี้หรือไม่กับสิ่งที่บอกว่าฉันควรรันโค้ดนี้หรือฉันควรรันโค้ดนี้หลายครั้ง
‫สองครั้ง สามครั้ง สี่ครั้ง ฯลฯ
‫วิธีที่เราทำเช่นนี้คือกับสิ่งที่เรียกว่าคำสั่งเสริม
‫ตอนนี้มันถูกสร้างขึ้นเหมือนกับคำสั่ง if
‫ในขณะที่คุณใส่ค่าบูลีนบางตัวในวงเล็บ แล้วเราก็มีวงเล็บปีกกา
‫และในวงเล็บปีกกา บล็อกของโค้ดที่จะถูกดำเนินการซ้ำแล้วซ้ำเล่าจนกว่าเงื่อนไขในคำสั่ง
‫while ของเราจะกลายเป็นเท็จ
‫นั่นเป็นเหตุผลที่เรียกว่าในขณะที่
‫ดังนั้นในขณะที่สิ่งนี้เป็นจริง รันโค้ดนี้
‫ดังนั้นมันจึงคล้ายกับคำสั่ง if ซึ่งบางครั้งอาจไม่สามารถรันโค้ดได้เลย แต่ต่างจากคำสั่ง
‫if ที่สามารถรันโค้ดได้เพียงครั้งเดียวเท่านั้น ในขณะที่คำสั่ง while นั้นสามารถรันต่อไปได้ตลอดไปหากบูลีนนี้ไม่กลายเป็น
‫เท็จ.
‫เหตุใดสิ่งนี้จึงมีประโยชน์เมื่อเราสร้าง int 32 และเรียกมันว่าดัชนีและเริ่มต้นที่ศูนย์
‫และทุกครั้งที่เราผ่านส่วนเนื้อหาของวงไวด์นี้ เราจะเพิ่มค่าที่เก็บไว้ในดัชนีนั้น
‫เราก็บอกว่าดัชนีเท่ากับดัชนีบวกหนึ่ง
‫ตอนนี้ใน C ++ มีชวเลขในการทำเช่นนี้แทนที่จะต้องทำดัชนีบวกหนึ่งเช่นนี้
‫คุณทำดัชนีบวกบวก และนั่นเพียงเพิ่มหนึ่งรายการกับสิ่งที่เก็บไว้ในตัวแปรดัชนี
‫ตกลง.
‫ดังนั้นเราจึงเริ่มต้นที่ศูนย์
‫ทุกครั้งที่เราไป เราเพิ่มดัชนี
‫และสิ่งที่เราทำได้คือเราสามารถทำให้มันวนลูปได้ในขณะที่ดัชนีของเราอยู่ภายในขอบเขตของอาร์เรย์ของเรา
‫ดังนั้นเราสามารถพูดได้ว่าดัชนีต้องน้อยกว่าตัวแสดง dot num
‫นั่นคือขนาดของอาร์เรย์
‫จำไว้ว่าเมื่อเรามีห้ารายการในอาร์เรย์ รายการสุดท้ายในอาร์เรย์คือดัชนีสี่
‫และเราจะเห็นว่าสิ่งนี้จะเป็นจริงเมื่อดัชนีถูกต้อง เมื่อดัชนีสี่มีค่าน้อยกว่าห้า
‫แต่ทันทีที่ดัชนีของเราผ่านจุดสิ้นสุดของอาร์เรย์ เมื่อถึงดัชนีห้า หมายเลขนักแสดงจะไม่อยู่อีกต่อไป
‫ห้าก็ไม่น้อยกว่าห้า
‫ดังนั้น while loop จะหยุดทำงานและดำเนินการกับฟังก์ชันที่เหลือต่อไป
‫นั่นหมายความว่าตอนนี้เราสามารถนำโค้ดที่เรามีอยู่ด้านบนมาเขียนใหม่ได้
‫ลองเอาไป คัดลอก ตัดออก และติดที่นี่ในวงไวด์ของเรา
‫แต่ก่อนที่เราจะเพิ่มดัชนี ที่สำคัญที่สุด เพราะสิ่งที่เราจะทำคือแทนที่ศูนย์นี้
‫โดยที่เราได้รับศูนย์ของนักแสดง เราจะแทนที่มันด้วยดัชนีนักแสดง
‫เรามาติดตามกันต่อจากนี้
‫มันจะทำงานอย่างไร?
‫ลองลบคำสั่ง if ของเราออกเพราะมันทำให้เกิดความสับสนเล็กน้อย
‫ดังนั้นเราจึงเริ่มต้นค่าในดัชนีตัวแปรจะเป็นศูนย์
‫ตอนนี้ลองนึกภาพว่าเรามีนักแสดงสองคนที่จะทำให้ทุกอย่างเรียบง่าย
‫ศูนย์น้อยกว่าสองหรือไม่
‫ใช่.
‫ใช่แล้ว.
‫เราเข้าไปข้างในแล้วได้นักแสดงศูนย์ เราได้รับชื่อแล้วเราออกจากระบบ จากนั้นเราเพิ่มค่าในดัชนีทีละรายการ
‫จากศูนย์กลายเป็นหนึ่ง
‫ตอนนี้เรากลับไปประเมินเงื่อนไข while loop และเราบอกว่ามีค่าน้อยกว่าสองหรือไม่
‫ใช่แล้ว.
‫จากนั้นเราก็เข้าไปหานักแสดงได้เลย จากนั้นเราก็จะได้ชื่อและพิมพ์ชื่อออกมา
‫จากนั้นเราเพิ่มดัชนีอีกครั้งเป็นดัชนีที่สอง และเราถามคำถามอีกครั้งในลูปแบบไวด์ โดยบอกว่าน้อยกว่าสองค่า
‫อืม คำตอบนั้นคือไม่
‫ดังนั้นเราจึงข้ามส่วนเนื้อความของ while loop และดำเนินการต่อไปและรันโค้ดที่เหลือ
‫นั่นคือสิ่งที่เราต้องการบรรลุโดยพื้นฐาน
‫เราต้องการพิมพ์ชื่อนักแสดงแต่ละคนในอาร์เรย์ และนั่นคือสิ่งที่โค้ดนี้จะทำ
‫ไปข้างหน้าและรวบรวมและตรวจสอบว่าฉันพูดถูก
‫หากเราไปข้างหน้าและกดเล่นและก้าวเข้าไปในกล่อง คุณจะเห็นว่าเราซ้อนทับกันเพียงแค่ผู้เล่น
‫BP
‫ถ้าเราไปเอาการ์กอยล์มาล่ะ?
‫ถ้าเราใส่มันเข้าไปในการกระดอน คุณจะเห็นว่าเราทับกอยล์อยู่
‫แต่ถ้าฉันก้าวเข้ามาด้วยล่ะ?
‫ตอนนี้คุณสามารถเห็นมันกำลังพิมพ์ทั้งที่เรากำลังทับกันผู้เล่นและการ์กอยล์ทั้งหมดอยู่ในเฟรมเดียวกัน
‫ดังนั้น while loop ของเราจึงทำงาน มันรันโค้ดหลาย ๆ ครั้งเมื่อมีนักแสดงหลายคนในอาร์เรย์
‫เนื่องจากรูปแบบนี้เป็นเรื่องธรรมดามากจนเรามีดัชนีบางประเภท และเราเพิ่มขึ้นทุกครั้งที่เราผ่านลูป
‫จริงๆ แล้วมีการจดชวเลขสำหรับสิ่งนี้ใน C++
‫และถ้าคุณพิมพ์สี่ในโค้ด Visual Studio ของคุณ ก็จะมีข้อมูลโค้ดสำหรับสี่ลูปที่นี่ ซึ่งคุณสามารถขยายได้
‫และคุณจะเห็นว่านี่เป็นโครงสร้างทั่วไป
‫มีบางอย่างที่เรียกว่าไซส์ T ตรงนี้
‫เราสามารถแทนที่ด้วย INT 32 เพื่อจุดประสงค์ของเรา
‫และโดยพื้นฐานแล้วสิ่งที่กำลังพูดนี้คือมีสามประโยคในวงเล็บของ for
‫loop
‫อันแรกเทียบเท่ากับตำแหน่งที่เราตั้งค่าตัวแปรดัชนีก่อน while loop
‫อันที่สองคือเงื่อนไขซึ่งเทียบเท่ากับสิ่งที่เราใส่เข้าไปในไวด์ลูปของเรา
‫และคุณจะเห็นว่าเราสามารถแทนที่การนับด้วยตัวแสดง ดอท นัม
‫แล้วบิตสุดท้ายก็คือ บวก บวก ไม่ว่าคุณจะใส่ก่อนหรือหลัง ดัชนีก็ไม่สำคัญเกินไป
‫แต่คุณจะเห็นว่านี่เป็นการเพิ่มค่าในดัชนี
‫มันจึงเท่ากับเส้นที่เราใส่ที่ส่วนท้ายของไวด์ลูปของเรา
‫ดังนั้นนี่จึงเป็นการรวมเข้าด้วยกันในบรรทัดเดียว สิ่งที่เราต้องกระจายในหลาย ๆ อันโดยใช้ไวด์ลูปของเรา
‫นี่เป็นความท้าทายง่ายๆ สำหรับคุณ
‫แปลงไวด์ลูปของคุณเป็นฟอร์ลูป
‫คุณจะคัดลอกทับเนื้อหาของรหัส เปลี่ยนดัชนีจากดัชนีชื่อนั้นเป็น I
‫เราใช้คำย่อใน for loops ของ I เพียงตัวย่อสำหรับ index really และคอมไพล์และทดสอบวิดีโอหยุดชั่วคราว
‫ตอนนี้ได้ไป
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫ดังนั้นนี่ควรจะตรงไปตรงมาทีเดียว
‫เราไม่ต้องการดัชนีบวกบวกตรงนี้
‫ดังนั้นเราจะตัดส่วนที่เหลือออก เปลี่ยนช่องสัญญาณในตำแหน่งที่เราจัดทำดัชนีอาร์เรย์นักแสดงด้วยตัวแปรดัชนี
‫เราจะเปลี่ยนตัวแปรนั้นให้เป็น IE ซึ่งเป็นตัวแปรที่มีให้เฉพาะในลูปนี้เท่านั้น
‫ข้อดีอีกประการหนึ่งของไวยากรณ์ลูปแบบเต็มคือตัวแปร IE ใช้ได้เฉพาะในลูป for
‫ในขณะที่เมื่อเราประกาศที่นี่ในลูป Y จะพร้อมใช้งานภายนอก ซึ่งทำให้ดัชนีที่เราสามารถใช้ได้เสียหาย
‫ในภายหลังเพื่อให้เราสามารถลบวนซ้ำนั้นได้
‫และคุณจะเห็นว่า for loop นั้นกระชับกว่ามาก และคุณจะชินกับไวยากรณ์ที่แปลกเล็กน้อยที่มีอยู่
‫ไปข้างหน้าและรวบรวมและตรวจสอบว่าทำงานเดียวกันหรือไม่
‫ถ้าฉันไปหยิบการ์กอยล์ของฉันขึ้นมา แล้วขึ้นไปหานักแสดงที่ทับซ้อนกัน คุณจะเห็นว่ากำลังพิมพ์นักแสดงของเราทั้งคู่เมื่อเราทั้งคู่ทับซ้อนกันอยู่ในซุ้ม
‫สิ่งที่ดี
‫ดังนั้นในการบรรยายนี้ เราได้เห็นแนวคิดการเขียนโปรแกรมใหม่ แนวคิดของการวนซ้ำ และเราพบเห็นเฉพาะ
‫while loop และ for loop
‫เจอกันใหม่ตอนหน้าค่ะ