﻿1
00:00:04,360 --> 00:00:05,860
‫สวัสดีและยินดีต้อนรับการบรรยายนี้

2
00:00:05,860 --> 00:00:12,940
‫เราจะเรียนรู้วิธีที่เราสามารถรันโค้ดจำนวนครั้งของตัวแปรได้ เพื่อที่เราจะสามารถพิมพ์ทุกอ็อบเจกต์ที่คาบเกี่ยวกันภายในพื้นที่นี้

3
00:00:12,940 --> 00:00:20,050
‫ซึ่งเป็นองค์ประกอบทริกเกอร์นี้

4
00:00:20,050 --> 00:00:24,400
‫คุณจะเห็นได้ว่าเมื่อเราทั้งคู่ ฉันกำลังยืนอยู่ข้างในและมีการ์กอยล์ด้วย

5
00:00:24,430 --> 00:00:29,410
‫กำลังพิมพ์ทั้งชื่อการ์กอยล์และชื่อพิมพ์เขียวของผู้เล่น

6
00:00:29,410 --> 00:00:31,360
‫มาดูวิธีการทำกัน

7
00:00:31,930 --> 00:00:39,220
‫ตอนนี้ ปัญหาเกี่ยวกับโค้ดของเราที่นี่คืออาร์เรย์นักแสดงของเราอาจมีนักแสดงมากกว่าหนึ่งคนในนั้น

8
00:00:39,220 --> 00:00:44,380
‫และถ้าเราต้องการแสดงนักแสดงทั้งหมดซ้อนทับกัน หรือเราต้องการทำอะไรกับนักแสดงเหล่านั้นทั้งหมด

9
00:00:44,380 --> 00:00:47,680
‫เราต้องสามารถเรียกใช้โค้ดได้

10
00:00:47,680 --> 00:00:58,840
‫การเขียนคำสั่ง if ในกรณีที่เรามีสองหรือสามหรือสี่หรือห้า ฯลฯ จะไม่มีประสิทธิภาพมากนัก

11
00:00:58,840 --> 00:00:58,840
‫และแน่นอนว่ามันจะไม่เกิดขึ้นทุกกรณีเพราะเรามีบรรทัดในไฟล์ที่จำกัด

12
00:01:00,580 --> 00:01:08,230
‫วิธีที่เราจัดการกับสิ่งนี้ เมื่อเราต้องการทำซ้ำโค้ดหลายๆ ครั้ง แต่หลายครั้งที่เราไม่รู้จริงๆ

13
00:01:08,230 --> 00:01:14,530
‫ว่าเรากำลังคอมไพล์โค้ด เราต้องแทนที่คำสั่ง if

14
00:01:14,770 --> 00:01:20,170
‫หากคำสั่งโดยพื้นฐานแล้วฉันควรรันโค้ดนี้หรือไม่กับสิ่งที่บอกว่าฉันควรรันโค้ดนี้หรือฉันควรรันโค้ดนี้หลายครั้ง

15
00:01:20,170 --> 00:01:25,300
‫สองครั้ง สามครั้ง สี่ครั้ง ฯลฯ

16
00:01:25,450 --> 00:01:29,440
‫วิธีที่เราทำเช่นนี้คือกับสิ่งที่เรียกว่าคำสั่งเสริม

17
00:01:29,440 --> 00:01:32,440
‫ตอนนี้มันถูกสร้างขึ้นเหมือนกับคำสั่ง if

18
00:01:32,440 --> 00:01:42,430
‫ในขณะที่คุณใส่ค่าบูลีนบางตัวในวงเล็บ แล้วเราก็มีวงเล็บปีกกา

19
00:01:42,430 --> 00:01:48,340
‫และในวงเล็บปีกกา บล็อกของโค้ดที่จะถูกดำเนินการซ้ำแล้วซ้ำเล่าจนกว่าเงื่อนไขในคำสั่ง

20
00:01:48,340 --> 00:01:54,340
‫while ของเราจะกลายเป็นเท็จ

21
00:01:54,340 --> 00:01:55,990
‫นั่นเป็นเหตุผลที่เรียกว่าในขณะที่

22
00:01:55,990 --> 00:01:59,320
‫ดังนั้นในขณะที่สิ่งนี้เป็นจริง รันโค้ดนี้

23
00:01:59,320 --> 00:02:04,630
‫ดังนั้นมันจึงคล้ายกับคำสั่ง if ซึ่งบางครั้งอาจไม่สามารถรันโค้ดได้เลย แต่ต่างจากคำสั่ง

24
00:02:04,630 --> 00:02:09,940
‫if ที่สามารถรันโค้ดได้เพียงครั้งเดียวเท่านั้น ในขณะที่คำสั่ง while นั้นสามารถรันต่อไปได้ตลอดไปหากบูลีนนี้ไม่กลายเป็น

25
00:02:09,940 --> 00:02:14,890
‫เท็จ.

26
00:02:15,460 --> 00:02:22,420
‫เหตุใดสิ่งนี้จึงมีประโยชน์เมื่อเราสร้าง int 32 และเรียกมันว่าดัชนีและเริ่มต้นที่ศูนย์

27
00:02:22,900 --> 00:02:31,750
‫และทุกครั้งที่เราผ่านส่วนเนื้อหาของวงไวด์นี้ เราจะเพิ่มค่าที่เก็บไว้ในดัชนีนั้น

28
00:02:31,750 --> 00:02:36,130
‫เราก็บอกว่าดัชนีเท่ากับดัชนีบวกหนึ่ง

29
00:02:36,640 --> 00:02:42,520
‫ตอนนี้ใน C ++ มีชวเลขในการทำเช่นนี้แทนที่จะต้องทำดัชนีบวกหนึ่งเช่นนี้

30
00:02:42,520 --> 00:02:49,480
‫คุณทำดัชนีบวกบวก และนั่นเพียงเพิ่มหนึ่งรายการกับสิ่งที่เก็บไว้ในตัวแปรดัชนี

31
00:02:50,110 --> 00:02:50,360
‫ตกลง.

32
00:02:50,470 --> 00:02:52,090
‫ดังนั้นเราจึงเริ่มต้นที่ศูนย์

33
00:02:52,120 --> 00:02:54,940
‫ทุกครั้งที่เราไป เราเพิ่มดัชนี

34
00:02:54,940 --> 00:03:05,200
‫และสิ่งที่เราทำได้คือเราสามารถทำให้มันวนลูปได้ในขณะที่ดัชนีของเราอยู่ภายในขอบเขตของอาร์เรย์ของเรา

35
00:03:05,200 --> 00:03:11,440
‫ดังนั้นเราสามารถพูดได้ว่าดัชนีต้องน้อยกว่าตัวแสดง dot num

36
00:03:11,440 --> 00:03:13,210
‫นั่นคือขนาดของอาร์เรย์

37
00:03:13,210 --> 00:03:19,570
‫จำไว้ว่าเมื่อเรามีห้ารายการในอาร์เรย์ รายการสุดท้ายในอาร์เรย์คือดัชนีสี่

38
00:03:19,870 --> 00:03:28,450
‫และเราจะเห็นว่าสิ่งนี้จะเป็นจริงเมื่อดัชนีถูกต้อง เมื่อดัชนีสี่มีค่าน้อยกว่าห้า

39
00:03:28,450 --> 00:03:37,390
‫แต่ทันทีที่ดัชนีของเราผ่านจุดสิ้นสุดของอาร์เรย์ เมื่อถึงดัชนีห้า หมายเลขนักแสดงจะไม่อยู่อีกต่อไป

40
00:03:37,390 --> 00:03:39,220
‫ห้าก็ไม่น้อยกว่าห้า

41
00:03:39,220 --> 00:03:45,220
‫ดังนั้น while loop จะหยุดทำงานและดำเนินการกับฟังก์ชันที่เหลือต่อไป

42
00:03:45,700 --> 00:03:53,110
‫นั่นหมายความว่าตอนนี้เราสามารถนำโค้ดที่เรามีอยู่ด้านบนมาเขียนใหม่ได้

43
00:03:53,290 --> 00:03:58,270
‫ลองเอาไป คัดลอก ตัดออก และติดที่นี่ในวงไวด์ของเรา

44
00:03:58,270 --> 00:04:03,520
‫แต่ก่อนที่เราจะเพิ่มดัชนี ที่สำคัญที่สุด เพราะสิ่งที่เราจะทำคือแทนที่ศูนย์นี้

45
00:04:03,520 --> 00:04:08,560
‫โดยที่เราได้รับศูนย์ของนักแสดง เราจะแทนที่มันด้วยดัชนีนักแสดง

46
00:04:08,800 --> 00:04:10,210
‫เรามาติดตามกันต่อจากนี้

47
00:04:10,240 --> 00:04:11,950
‫มันจะทำงานอย่างไร?

48
00:04:12,580 --> 00:04:15,910
‫ลองลบคำสั่ง if ของเราออกเพราะมันทำให้เกิดความสับสนเล็กน้อย

49
00:04:15,910 --> 00:04:20,230
‫ดังนั้นเราจึงเริ่มต้นค่าในดัชนีตัวแปรจะเป็นศูนย์

50
00:04:20,530 --> 00:04:23,470
‫ตอนนี้ลองนึกภาพว่าเรามีนักแสดงสองคนที่จะทำให้ทุกอย่างเรียบง่าย

51
00:04:23,680 --> 00:04:27,070
‫ศูนย์น้อยกว่าสองหรือไม่

52
00:04:27,100 --> 00:04:27,760
‫ใช่.

53
00:04:27,760 --> 00:04:28,570
‫ใช่แล้ว.

54
00:04:28,570 --> 00:04:38,680
‫เราเข้าไปข้างในแล้วได้นักแสดงศูนย์ เราได้รับชื่อแล้วเราออกจากระบบ จากนั้นเราเพิ่มค่าในดัชนีทีละรายการ

55
00:04:38,680 --> 00:04:40,840
‫จากศูนย์กลายเป็นหนึ่ง

56
00:04:41,320 --> 00:04:47,320
‫ตอนนี้เรากลับไปประเมินเงื่อนไข while loop และเราบอกว่ามีค่าน้อยกว่าสองหรือไม่

57
00:04:47,320 --> 00:04:48,190
‫ใช่แล้ว.

58
00:04:48,190 --> 00:04:55,540
‫จากนั้นเราก็เข้าไปหานักแสดงได้เลย จากนั้นเราก็จะได้ชื่อและพิมพ์ชื่อออกมา

59
00:04:55,540 --> 00:05:03,760
‫จากนั้นเราเพิ่มดัชนีอีกครั้งเป็นดัชนีที่สอง และเราถามคำถามอีกครั้งในลูปแบบไวด์ โดยบอกว่าน้อยกว่าสองค่า

60
00:05:04,240 --> 00:05:05,890
‫อืม คำตอบนั้นคือไม่

61
00:05:05,890 --> 00:05:12,070
‫ดังนั้นเราจึงข้ามส่วนเนื้อความของ while loop และดำเนินการต่อไปและรันโค้ดที่เหลือ

62
00:05:12,430 --> 00:05:15,120
‫นั่นคือสิ่งที่เราต้องการบรรลุโดยพื้นฐาน

63
00:05:15,130 --> 00:05:23,590
‫เราต้องการพิมพ์ชื่อนักแสดงแต่ละคนในอาร์เรย์ และนั่นคือสิ่งที่โค้ดนี้จะทำ

64
00:05:23,620 --> 00:05:26,370
‫ไปข้างหน้าและรวบรวมและตรวจสอบว่าฉันพูดถูก

65
00:05:26,380 --> 00:05:33,010
‫หากเราไปข้างหน้าและกดเล่นและก้าวเข้าไปในกล่อง คุณจะเห็นว่าเราซ้อนทับกันเพียงแค่ผู้เล่น

66
00:05:33,010 --> 00:05:33,610
‫BP

67
00:05:33,730 --> 00:05:36,270
‫ถ้าเราไปเอาการ์กอยล์มาล่ะ?

68
00:05:36,280 --> 00:05:41,070
‫ถ้าเราใส่มันเข้าไปในการกระดอน คุณจะเห็นว่าเราทับกอยล์อยู่

69
00:05:41,080 --> 00:05:43,250
‫แต่ถ้าฉันก้าวเข้ามาด้วยล่ะ?

70
00:05:43,270 --> 00:05:50,080
‫ตอนนี้คุณสามารถเห็นมันกำลังพิมพ์ทั้งที่เรากำลังทับกันผู้เล่นและการ์กอยล์ทั้งหมดอยู่ในเฟรมเดียวกัน

71
00:05:50,080 --> 00:05:58,520
‫ดังนั้น while loop ของเราจึงทำงาน มันรันโค้ดหลาย ๆ ครั้งเมื่อมีนักแสดงหลายคนในอาร์เรย์

72
00:05:58,540 --> 00:06:04,570
‫เนื่องจากรูปแบบนี้เป็นเรื่องธรรมดามากจนเรามีดัชนีบางประเภท และเราเพิ่มขึ้นทุกครั้งที่เราผ่านลูป

73
00:06:04,570 --> 00:06:09,340
‫จริงๆ แล้วมีการจดชวเลขสำหรับสิ่งนี้ใน C++

74
00:06:09,340 --> 00:06:18,310
‫และถ้าคุณพิมพ์สี่ในโค้ด Visual Studio ของคุณ ก็จะมีข้อมูลโค้ดสำหรับสี่ลูปที่นี่ ซึ่งคุณสามารถขยายได้

75
00:06:18,310 --> 00:06:23,890
‫และคุณจะเห็นว่านี่เป็นโครงสร้างทั่วไป

76
00:06:23,890 --> 00:06:25,420
‫มีบางอย่างที่เรียกว่าไซส์ T ตรงนี้

77
00:06:25,420 --> 00:06:29,470
‫เราสามารถแทนที่ด้วย INT 32 เพื่อจุดประสงค์ของเรา

78
00:06:29,620 --> 00:06:35,980
‫และโดยพื้นฐานแล้วสิ่งที่กำลังพูดนี้คือมีสามประโยคในวงเล็บของ for

79
00:06:35,980 --> 00:06:36,390
‫loop

80
00:06:36,400 --> 00:06:43,240
‫อันแรกเทียบเท่ากับตำแหน่งที่เราตั้งค่าตัวแปรดัชนีก่อน while loop

81
00:06:43,780 --> 00:06:49,120
‫อันที่สองคือเงื่อนไขซึ่งเทียบเท่ากับสิ่งที่เราใส่เข้าไปในไวด์ลูปของเรา

82
00:06:49,510 --> 00:06:54,670
‫และคุณจะเห็นว่าเราสามารถแทนที่การนับด้วยตัวแสดง ดอท นัม

83
00:06:54,670 --> 00:07:01,240
‫แล้วบิตสุดท้ายก็คือ บวก บวก ไม่ว่าคุณจะใส่ก่อนหรือหลัง ดัชนีก็ไม่สำคัญเกินไป

84
00:07:01,240 --> 00:07:07,240
‫แต่คุณจะเห็นว่านี่เป็นการเพิ่มค่าในดัชนี

85
00:07:07,240 --> 00:07:11,080
‫มันจึงเท่ากับเส้นที่เราใส่ที่ส่วนท้ายของไวด์ลูปของเรา

86
00:07:11,470 --> 00:07:18,910
‫ดังนั้นนี่จึงเป็นการรวมเข้าด้วยกันในบรรทัดเดียว สิ่งที่เราต้องกระจายในหลาย ๆ อันโดยใช้ไวด์ลูปของเรา

87
00:07:18,910 --> 00:07:20,380
‫นี่เป็นความท้าทายง่ายๆ สำหรับคุณ

88
00:07:20,380 --> 00:07:23,470
‫แปลงไวด์ลูปของคุณเป็นฟอร์ลูป

89
00:07:23,470 --> 00:07:30,220
‫คุณจะคัดลอกทับเนื้อหาของรหัส เปลี่ยนดัชนีจากดัชนีชื่อนั้นเป็น I

90
00:07:30,250 --> 00:07:38,020
‫เราใช้คำย่อใน for loops ของ I เพียงตัวย่อสำหรับ index really และคอมไพล์และทดสอบวิดีโอหยุดชั่วคราว

91
00:07:38,020 --> 00:07:38,800
‫ตอนนี้ได้ไป

92
00:07:41,860 --> 00:07:42,180
‫ตกลง.

93
00:07:42,190 --> 00:07:42,760
‫ยินดีต้อนรับกลับ.

94
00:07:42,760 --> 00:07:44,710
‫ดังนั้นนี่ควรจะตรงไปตรงมาทีเดียว

95
00:07:44,710 --> 00:07:47,050
‫เราไม่ต้องการดัชนีบวกบวกตรงนี้

96
00:07:47,050 --> 00:07:54,370
‫ดังนั้นเราจะตัดส่วนที่เหลือออก เปลี่ยนช่องสัญญาณในตำแหน่งที่เราจัดทำดัชนีอาร์เรย์นักแสดงด้วยตัวแปรดัชนี

97
00:07:54,370 --> 00:07:58,450
‫เราจะเปลี่ยนตัวแปรนั้นให้เป็น IE ซึ่งเป็นตัวแปรที่มีให้เฉพาะในลูปนี้เท่านั้น

98
00:07:58,450 --> 00:08:04,750
‫ข้อดีอีกประการหนึ่งของไวยากรณ์ลูปแบบเต็มคือตัวแปร IE ใช้ได้เฉพาะในลูป for

99
00:08:04,990 --> 00:08:10,210
‫ในขณะที่เมื่อเราประกาศที่นี่ในลูป Y จะพร้อมใช้งานภายนอก ซึ่งทำให้ดัชนีที่เราสามารถใช้ได้เสียหาย

100
00:08:10,210 --> 00:08:16,990
‫ในภายหลังเพื่อให้เราสามารถลบวนซ้ำนั้นได้

101
00:08:16,990 --> 00:08:25,390
‫และคุณจะเห็นว่า for loop นั้นกระชับกว่ามาก และคุณจะชินกับไวยากรณ์ที่แปลกเล็กน้อยที่มีอยู่

102
00:08:25,390 --> 00:08:30,670
‫ไปข้างหน้าและรวบรวมและตรวจสอบว่าทำงานเดียวกันหรือไม่

103
00:08:30,670 --> 00:08:42,100
‫ถ้าฉันไปหยิบการ์กอยล์ของฉันขึ้นมา แล้วขึ้นไปหานักแสดงที่ทับซ้อนกัน คุณจะเห็นว่ากำลังพิมพ์นักแสดงของเราทั้งคู่เมื่อเราทั้งคู่ทับซ้อนกันอยู่ในซุ้ม

104
00:08:42,130 --> 00:08:42,850
‫สิ่งที่ดี

105
00:08:42,850 --> 00:08:49,840
‫ดังนั้นในการบรรยายนี้ เราได้เห็นแนวคิดการเขียนโปรแกรมใหม่ แนวคิดของการวนซ้ำ และเราพบเห็นเฉพาะ

106
00:08:49,840 --> 00:08:53,230
‫while loop และ for loop

107
00:08:53,230 --> 00:08:54,910
‫เจอกันใหม่ตอนหน้าค่ะ

