﻿1
00:00:00,000 --> 00:00:04,000
(อาจารย์) มืด

2
00:00:04,003 --> 00:00:08,003
ได้ยินไหมคะ

3
00:00:08,006 --> 00:00:12,006
ได้ยินนะคะ โอ.เค. ค่ะ

4
00:00:12,007 --> 00:00:16,007
เด็ก ๆ เข้ามาแล้ว ให้เปิด sublime Text

5
00:00:16,008 --> 00:00:20,008
ไปเปิด Sublime text ของเรา

6
00:00:20,009 --> 00:00:24,009
Dice : C ของเราะ

7
00:00:24,009 --> 00:00:28,009
ไป เข้ามาปุ๊บนี่

8
00:00:28,010 --> 00:00:32,010
เราจะ Coding เราต้องไปเปิด

9
00:00:32,011 --> 00:00:36,011
ตัวช่วยของเราก่อนก็คือ Sublime text

10
00:00:36,012 --> 00:00:40,012
นะคะ เปิดขึ้นมา

11
00:00:40,013 --> 00:00:44,013

12
00:00:44,014 --> 00:00:48,014
เราต้องเขียนต่อจากสัปดาห์ที่แล้ว เราจะโค้ดต่อ

13
00:00:48,017 --> 00:00:52,017
ในสัปดาห์ที่แล้ว ที่เราทำเราเพิ่งได้อะไรคะ

14
00:00:52,018 --> 00:00:56,018
ได้ตารางเกมของเราใช่หรือเปล่า

15
00:00:56,019 --> 00:01:00,019
นะคะ เราเพิ่งทำตารางได้

16
00:01:00,020 --> 00:01:04,020
วันนี้เราจะต้องทำต่อให้เสร็จนะคะ

17
00:01:04,022 --> 00:01:08,022
เพราะฉะนั้นตามให้ทัน

18
00:01:08,022 --> 00:01:12,022
หายไปไหน 2 คน

19
00:01:12,024 --> 00:01:16,024
เพราะไม่อย่างนั้น ถ้าข้ามแล้วจะหลุดไปเลย

20
00:01:16,025 --> 00:01:20,025

21
00:01:20,026 --> 00:01:24,026
ใบเตย ใบเตยได้หรือยัง

22
00:01:24,027 --> 00:01:28,027

23
00:01:28,027 --> 00:01:32,027

24
00:01:32,030 --> 00:01:36,030

25
00:01:36,031 --> 00:01:40,031

26
00:01:40,032 --> 00:01:44,032

27
00:01:44,034 --> 00:01:48,034

28
00:01:48,035 --> 00:01:52,035

29
00:01:52,037 --> 00:01:56,037

30
00:01:56,039 --> 00:02:00,039

31
00:02:00,041 --> 00:02:04,041

32
00:02:04,042 --> 00:02:08,042
จะโค้ด เดี๋ยวจะอธิบาย

33
00:02:08,043 --> 00:02:12,043
จากสไลด์เราไปก่อนนะคะ

34
00:02:12,044 --> 00:02:16,044
นะคะ เราจำทำ

35
00:02:16,046 --> 00:02:20,046
ต่อจาก ก็คือ

36
00:02:20,050 --> 00:02:24,050
จากหนที่แล้วนี่เราสร้างตัว markers

37
00:02:24,051 --> 00:02:28,051
ยังไม่เสร็จนะคะ เพราะว่าทีนี้

38
00:02:28,052 --> 00:02:32,052
มากำหนดเหตุการณ์เมื่อเวลาที่

39
00:02:32,053 --> 00:02:36,053
เราจะ Mark X หรือ ฯO

40
00:02:36,055 --> 00:02:40,055
นะคะ ก็คือเราจะสั่งให้เมาส์นี่

41
00:02:40,055 --> 00:02:44,055
มันจะเป็นฟังก์ชัน สำหรับใช้งานเมาส์

42
00:02:44,056 --> 00:02:48,056
นั่นเองนะคะ ซึ่งถ้าเราคีย์ไปนี่มัน

43
00:02:48,057 --> 00:02:52,057
จะมีขึ้นมานะคะ เดี๋ยวจะอธิบายความหมาย

44
00:02:52,058 --> 00:02:56,058
ก่อนว่า ตัวคำสั่ง

45
00:02:56,059 --> 00:03:00,059
ของการใช้เมาส์นี่ มีความหมายอย่างไร มันจะมีอยู่ 4

46
00:03:00,060 --> 00:03:04,060
ตัว 4 คำสั่งนะคะ

47
00:03:04,062 --> 00:03:08,062
สำหรับการใช้ Mouse นะคะ ถ้าเราใช้

48
00:03:08,063 --> 00:03:12,063
ใช้เมาส์ moUSEBUTTONDOWN

49
00:03:12,065 --> 00:03:16,065
เมาส์ Button down หมายถึง

50
00:03:16,066 --> 00:03:20,066
ปกตินี่ เวลาเรา

51
00:03:20,067 --> 00:03:24,067
จะให้ Mouse ทำงาน ก็คือ

52
00:03:24,068 --> 00:03:28,068
คลิกใช่ไหม คลิกเมาส์ใช่ไหมคะ แต่

53
00:03:28,069 --> 00:03:32,069
หมายถึงไม่คลิกน่ะ พอคลิก

54
00:03:32,071 --> 00:03:36,071
ไปแล้วแล้วเลิกการคลิก ก็คือปล่อย แล้ว

55
00:03:36,073 --> 00:03:40,073
ถ้าปล่อยนี่คือ MOUSEBUTTONDOWN แต่ถ้า

56
00:03:40,074 --> 00:03:44,074
กดลง คือ ตัวที่ 2

57
00:03:44,076 --> 00:03:48,076
เมาส์ Button Up

58
00:03:48,076 --> 00:03:52,076
MOUSEBUTTONUP จะเป็นคำสั่งนี้ ก็คือ

59
00:03:52,077 --> 00:03:56,077
ต้องการให้กดปุ่ม Mouse หรือ คลิก Mouse

60
00:03:56,079 --> 00:04:00,079
ก็คือเราต้องใช้ moUSEBUTTONUP

61
00:04:00,081 --> 00:04:04,081
แต่ถ้าเราต้องการให้นี่

62
00:04:04,080 --> 00:04:08,080
ขยับเมาส์ของเรานี่

63
00:04:08,082 --> 00:04:12,082
ก็คือเลื่อน Mouse ไปปมาน่ะ ก็คือ

64
00:04:12,084 --> 00:04:16,084
คำสั่ง mousemotion

65
00:04:16,085 --> 00:04:20,085
แต่ถ้า MOUSEWHEEL

66
00:04:20,086 --> 00:04:24,086
อันที่ 4 มันจะมีลูกกลิ้งใช่ไหมบนเมาส์

67
00:04:24,087 --> 00:04:28,087
นั่น ก็คือถ้าเมื่อไรที่เราต้องการใช้

68
00:04:28,088 --> 00:04:32,088
ไอ้ตัวที่หมุน ๆ บกลูกกลิ้งน่ะ เราต้องใช้คำสั่ง

69
00:04:32,089 --> 00:04:36,089
MOUSEWHEEL ตัวที่ 4 นี้

70
00:04:36,092 --> 00:04:40,092
ทีนี้ในวันนี้ที่สอนนี้มันจะใช้อยู่ 2 อัน ก็คือ

71
00:04:40,093 --> 00:04:44,093
Up กับ Down

72
00:04:44,095 --> 00:04:48,095
ให้นึกถึงพอเราจะวาง X ในกระดานใช่ไหม

73
00:04:48,096 --> 00:04:52,096
ก็คือกฎก็กดแล้วก็ปล่อย

74
00:04:52,096 --> 00:04:56,096
ใช่ไหมคะ วางในตำแหน่งชองตารางน่ะใช่ไหมคะ

75
00:04:56,096 --> 00:05:00,096
สำหรับคำสั่ง Mouse จะมี

76
00:05:00,097 --> 00:05:04,097
2 อันที่ใช้ แต่ตัวอื่นนี่บอกมาเพิ่ม

77
00:05:04,098 --> 00:05:08,098
ก็คือนั่นหมายความว่า ถ้าให้เขียนโปรแกรมเอง

78
00:05:08,099 --> 00:05:12,099
รู้ใช่ไหมถ้าจะควบคุม Mouse จะมี

79
00:05:12,100 --> 00:05:16,100
ใดบ้างใน 4 ตัวนี้นะคะ แล้วก็มัน

80
00:05:16,101 --> 00:05:20,101
ใช้งานอย่างไร เรียกใช้เพื่อทำอะไรนะคะ

81
00:05:20,102 --> 00:05:24,102
เพราะฉะนั้นเมื่อเรากำหนดเมาส์แล้ว

82
00:05:24,103 --> 00:05:28,103
สิ่งต่อไปที่เราจะทำ ยังไม่ Close

83
00:05:28,104 --> 00:05:32,104
ก็คือมันก็ต้องมาเช็กค่า

84
00:05:32,105 --> 00:05:36,105
เช็กว่าพอคลิกแล้วนี่ เห็นไหมคะ

85
00:05:36,107 --> 00:05:40,107
เป็นจริงหรือเป็นเท็จ เราก็ไปทำงานตามคำ

86
00:05:40,108 --> 00:05:44,108
สั่งน่ะนึกออกนะ มันต้องเช็กก่อนว่าเป็นจริง

87
00:05:44,110 --> 00:05:48,110
หรือเป็นเท็จนี่ เช็กเสียก่อน เช็กข้อมูลเสียก่อน

88
00:05:48,110 --> 00:05:52,110

89
00:05:52,112 --> 00:05:56,112
เพราะฉะนั้นเราก็ต้องมีการประกาศตัวแปร

90
00:05:56,113 --> 00:06:00,113
ที่ชื่อว่า "Click"

91
00:06:00,114 --> 00:06:04,114
จะได้เช็กได้ว่า พอเราคลิก Mouse

92
00:06:04,115 --> 00:06:08,115

93
00:06:08,116 --> 00:06:12,116
เพื่อ Mark ตัว X หรือตัว O ลง

94
00:06:12,117 --> 00:06:16,117
กระดานของ XO เกมนี่

95
00:06:16,118 --> 00:06:20,118
มันก็จะรับค่านี่ จากการคลิกเข้าไปนะคะ

96
00:06:20,119 --> 00:06:24,119

97
00:06:24,120 --> 00:06:28,120
สิ่งต่อมาที่เราจะทำคือ เราจะมาระบุ

98
00:06:28,123 --> 00:06:32,123
ตำแหน่งให้เมื่อคลิกนี่มัน

99
00:06:32,124 --> 00:06:36,124
ต้องเช็กได้ไงว่าตำแหน่งนี้คือตรงไหน

100
00:06:36,125 --> 00:06:40,125
นะคะ ประกาศตัวแปรที่ชื่อว่า... ข้ามไปนี่

101
00:06:40,126 --> 00:06:44,126
เห็นไหมคะ การกำหนดตำแหน่งเมื่อคลิก

102
00:06:44,127 --> 00:06:48,127
เมาส์เราจะมีการกำหนดตำแหน่งของการคลิกเมาส์

103
00:06:48,127 --> 00:06:52,127
โดยใช้ตัวแปรที่ชื่อว่า post

104
00:06:52,129 --> 00:06:56,129
ซึ่งมาจากคำว่า Position

105
00:06:56,130 --> 00:07:00,130
เพราะอยู่ดี ๆ จะคลิกลงไปเลย ก็

106
00:07:00,131 --> 00:07:04,131
ไม่รู้ใช่ไหมว่าคลิปถูกช่องหรือไม่ถูกช่อง

107
00:07:04,132 --> 00:07:08,132
อยู่ช่องไหน ตัว O อยู่ช่องไหน

108
00:07:08,132 --> 00:07:12,132
เดี๋ยวลอง Run ให้ดูว่า

109
00:07:12,133 --> 00:07:16,133
เมื่อเวลาเราสั่งให้ดู

110
00:07:16,134 --> 00:07:20,134
หน้าตาเกมไปด้วย

111
00:07:20,138 --> 00:07:24,138

112
00:07:24,139 --> 00:07:28,139

113
00:07:28,140 --> 00:07:32,140
Run ผิดตัว อันนี้เฉพาะที่มีใน

114
00:07:32,142 --> 00:07:36,142
ตาราง เเอาตัวที่เสร็จสมบูรณ์แล้ว

115
00:07:36,143 --> 00:07:40,143
เดี๋ยว Run ให้ดู ก็คือให้นึกถึงนี่

116
00:07:40,144 --> 00:07:44,144
เห็นไหมคะ เลื่อนเมาส์ไปบนตาราง

117
00:07:44,145 --> 00:07:48,145
ที่เราสร้างใช่ไหม ถ้าสมมติ

118
00:07:48,146 --> 00:07:52,146
เราไม่กำหนดว่าเราจะคลิก X ตรงนี้ อันนี้

119
00:07:52,147 --> 00:07:56,147
โปรแกรมมันสำเร็จแล้ว X มันจะไม่ขึ้นเหมือน

120
00:07:56,148 --> 00:08:00,148
ตอนที่... ตอนที่เราทำ

121
00:08:00,149 --> 00:08:04,149
ใน First Game นี่ ที่เรามีแต่ตัว

122
00:08:04,150 --> 00:08:08,150
ที่เรา

123
00:08:08,151 --> 00:08:12,151
มีแต่ตัวบอร์ดเห็นไหม ใช่ไหมอะไรก็ไม่ขึ้น

124
00:08:12,153 --> 00:08:16,153
คลิกไปก็จะไม่รู้ตำแหน่งใช่ไหมคะ

125
00:08:16,154 --> 00:08:20,154
แต่ถ้าเมื่อใดที่เรากำหนดค่าให้มันแล้วนี่

126
00:08:20,155 --> 00:08:24,155
เหมือนพอคลิก X ลงตรงวงน่ะ มันก็จะรู้ว่า X ลงช่องไหน

127
00:08:24,155 --> 00:08:28,155
ก็คือคำสั่ง

128
00:08:28,156 --> 00:08:32,156
ตัวแปร Position จะเป็นการระบุตำแหน่งที่เราจะวาง

129
00:08:32,157 --> 00:08:36,157
ตัว X ลงไปนั่นเอง ให้มันเช็ก เช็กตำแหน่งให้

130
00:08:36,159 --> 00:08:40,159
นั่นเองนะคะ ก็คือตัวนี้คำสั่งนี้

131
00:08:40,160 --> 00:08:44,160
ตัวแปรนี้นะคะ

132
00:08:44,161 --> 00:08:48,161
ทีนี้

133
00:08:48,162 --> 00:08:52,162
ทำไมถึงต้องมาบอก Shelf X Shelf Y ด้วย

134
00:08:52,163 --> 00:08:56,163
ด้วยตำแหน่งของ position

135
00:08:56,166 --> 00:09:00,166
เพราะดูกระดานเรานะคะ มันก็ไปตามแนว

136
00:09:00,167 --> 00:09:04,167
ใช่ไหมคะ แนวของแกน X แกน Y

137
00:09:04,168 --> 00:09:08,168
เวลาเราสร้าง เพราะฉะนั้นเวลามันเช็ก มันก็เช็ก

138
00:09:08,169 --> 00:09:12,169
ไปตามแนวขึ้นลงอย่างนี้นึกออกนะ

139
00:09:12,169 --> 00:09:16,169
เช็กไปตามแนวที่เรา ที่ได้

140
00:09:16,169 --> 00:09:20,169
อธิบายในสัปดาห์ก่อนว่าพื้นที่ พื้นที่หน้าจอนะ

141
00:09:20,171 --> 00:09:24,171
ก็คือ X คือแนวนอน ฃ

142
00:09:24,172 --> 00:09:28,172
หรือแถว Y คือ แนวตั้งหรือคอลั่ม

143
00:09:28,172 --> 00:09:32,172
นี่อันนี้ ถ้าอย่างนี้คือแนวนอน

144
00:09:32,173 --> 00:09:36,173
ถ้าอย่างนี้คือแนวตั้งหรือคอลัมน์

145
00:09:36,174 --> 00:09:40,174
มันก็จะเช็กไปทีละแถวก่อน

146
00:09:40,176 --> 00:09:44,176
หรือจะเช็กไปตามคอลั่มก่อนขึ้นอยู่ว่าเรา

147
00:09:44,177 --> 00:09:48,177
กำหนดการเช็กนั่นเองนะคะ

148
00:09:48,178 --> 00:09:52,178
เห็นไหมคะ

149
00:09:52,179 --> 00:09:56,179
พอ พอเมาส์

150
00:09:56,181 --> 00:10:00,181
คลิกไปแล้วเห็นไหม มันจะให้ทำอะไรต่อ

151
00:10:00,182 --> 00:10:04,182
พอเช็กตำแหน่งเสร็จ เมื่อมีการคลิก Mouse

152
00:10:04,183 --> 00:10:08,183
นะคะ คำสั่งนี้จะบอกว่า

153
00:10:08,184 --> 00:10:12,184
เมื่อมาร์กลงไปที่ตำแหน่งนี้ ตำแหน่งนี้

154
00:10:12,185 --> 00:10:16,185
ที่ Mark ลงไปมันจะมีอะไรเกิดขึ้น มันจะมี Code

155
00:10:16,186 --> 00:10:20,186
ต่อมานะคะ จะมีการ

156
00:10:20,187 --> 00:10:24,187
ประกาศตัวแปรเพิ่มมากอีก 1 ตัว ที่ชื่อว่า "player"

157
00:10:24,188 --> 00:10:28,188
เพราะเวลาเล่น มันก็จะ

158
00:10:28,189 --> 00:10:32,189
เท่ากับมี 2 คน อีกคนเป็น X อีกคนเป็น

159
00:10:32,190 --> 00:10:36,190
O ใช่ไหมคะ เห็นไหม

160
00:10:36,191 --> 00:10:40,191
ก็คืออันนี้ถ้า X หมายถึงผู้เล่นคนที่ 1 O ก็จะหมายถึงผู้เล่น

161
00:10:40,192 --> 00:10:44,192
คนที่ 2 นั่นเองนะคะ เพราะฉะนั้น

162
00:10:44,193 --> 00:10:48,193
เพราะฉะนั้น Player ประกาศตัวแปรเริ่

163
00:10:48,194 --> 00:10:52,194
มันก็เริ่มจากคนแรกเสมอนะคะ

164
00:10:52,196 --> 00:10:56,196

165
00:10:56,197 --> 00:11:00,197
นะคะ

166
00:11:00,199 --> 00:11:04,199
พอคลิกไปนี่ พอแสดงว่า Mark ลงไปแล้วนี่

167
00:11:04,200 --> 00:11:08,200
คนแรก ก็คือ

168
00:11:08,201 --> 00:11:12,201
คนที่ 1 นะคะ คนต่อไป ก็คือจะเป็นตำแหน่งคนที่ 2

169
00:11:12,202 --> 00:11:16,202
ที่เขาคลิก เขาจะสามารถคลิกได้นะคะ

170
00:11:16,207 --> 00:11:20,207
ทีนี้ในคลั้งก่อนที่เราใช้

171
00:11:20,208 --> 00:11:24,208
คำสั่ง printmark ไว้ เรา

172
00:11:24,209 --> 00:11:28,209
ลบมันออกได้ เพราะว่าเดี๋ยวเราจะมาทำตัวมาร์ก

173
00:11:28,210 --> 00:11:32,210
ก็คือในครั้งก่อน จะไม่มีตัว X กับตัว O

174
00:11:32,211 --> 00:11:36,211
ขึ้นมาครั้งนี้เราจะเริ่มทำตัว X กับ O นี่

175
00:11:36,212 --> 00:11:40,212
นะคะ เพื่อจะให้มันพอเวลา

176
00:11:40,213 --> 00:11:44,213
เรามาร์กลงไปว่าคนที่ 1 เป็น X นี่ คลิกลงไปตรงนี้

177
00:11:44,214 --> 00:11:48,214
X ก็จะต้องขึ้นมา O ก็จะ

178
00:11:48,214 --> 00:11:52,214
ไปตรงนี้ O ก็จะขึ้นมาตรงนี้นะคะ

179
00:11:52,215 --> 00:11:56,215

180
00:11:56,217 --> 00:12:00,217
เพราะฉะนั้น เราก็จะลบมาร์กครั้งเก่าออกไป เพราะไม่ได้ใช้

181
00:12:00,218 --> 00:12:04,218
นะคะ จะทำการลบออก

182
00:12:04,219 --> 00:12:08,219
ทีนี้สิ่งที่เราจะทำในขั้นตอนต่อมา คือ

183
00:12:08,220 --> 00:12:12,220
กำหนด Function กำหนด Function ก็

184
00:12:12,220 --> 00:12:16,220
เพื่อสร้างอะไร เพื่อสร้างเห็นไหม สร้างตัว X

185
00:12:16,221 --> 00:12:20,221
สีเขียวเป็น X

186
00:12:20,222 --> 00:12:24,222
สีแดงจะเป็นตัว O ให้สีแดงเป็นตัว O

187
00:12:24,224 --> 00:12:28,224
ก็จะมีการกำหนดค่าสี

188
00:12:28,225 --> 00:12:32,225
ลืมแก้ ความจริงต้องเป็น green กับ red

189
00:12:32,226 --> 00:12:36,226
นะคะ

190
00:12:36,227 --> 00:12:40,227
สีเขียวกับสีแดงนะคะ

191
00:12:40,229 --> 00:12:44,229
นี่ ให้ดู

192
00:12:44,229 --> 00:12:48,229
ว่าพอเวลาเราวาด เพราะเมื่อเรากำหนดนี่

193
00:12:48,230 --> 00:12:52,230
มันก็จะไปเช็กค่าเห็นไหมคะ โดยมีเงื่อนไข

194
00:12:52,231 --> 00:12:56,231
ว่าตำแหน่งที่ X post เริ่มที่

195
00:12:56,232 --> 00:13:00,232
0 นี่นะคะ เมื่อเราเห็นไหมคะ

196
00:13:00,233 --> 00:13:04,233
ถ้าวาด X ก็คือใช้คำสั่ง

197
00:13:04,234 --> 00:13:08,234
draw line

198
00:13:08,235 --> 00:13:12,235
เห็นไหมคะ ก็เลยต้องวาด 2 เส้นเพื่อให้มัน

199
00:13:12,235 --> 00:13:16,235
ทแยงนึกออกนะ ตำแหน่งที่วาดก็จะอยู่

200
00:13:16,237 --> 00:13:20,237
ตามตัวอย่างนะคะ เดี๋ยวจะบอก

201
00:13:20,238 --> 00:13:24,238
ในตอน Coding

202
00:13:24,240 --> 00:13:28,240
การใช้วิธีวาดตัว X ของเรา ก็คือใช้วิธีการ

203
00:13:28,241 --> 00:13:32,241
วาดเส้นนะคะ ส่วนตัว O ของเรา

204
00:13:32,242 --> 00:13:36,242
เราจะใช้คำสั่ง d

205
00:13:36,244 --> 00:13:40,244
ฟังก์ชัน Draw Circle

206
00:13:40,245 --> 00:13:44,245
วางวงกลมนั่นเองนะคะ มันจะมีรูปแบบของมันเดี๋ยว

207
00:13:44,246 --> 00:13:48,246
อธิบายตอน Coding อีกทีหนึ่ง ให้เราดู

208
00:13:48,247 --> 00:13:52,247
คร่าว ๆ ก่อนว่าจะทำอะไรในช่องตารางนี่

209
00:13:52,248 --> 00:13:56,248
จะทำอะไรลงไปในนี้ได้บ้าง

210
00:13:56,249 --> 00:14:00,249
แล้วทีนี้เมื่อทำแล้ว

211
00:14:00,250 --> 00:14:04,250
ก็คือถ้า

212
00:14:04,250 --> 00:14:08,250
แค่นี้ ถ้าถึงแค่ตัวนี้มันจะวาดแค่ 1 อันใช่ไหม

213
00:14:08,252 --> 00:14:12,252
เพราะฉะนั้นในช่องตารางเรามีทั้งหมด

214
00:14:12,253 --> 00:14:16,253
นี่ 9 ช่องนี้ ทำอย่างไรให้มันวาด

215
00:14:16,254 --> 00:14:20,254
ได้ครบทั้ง 9 ใช่ไหมคะ เรา

216
00:14:20,255 --> 00:14:24,255
ก็จะต้องทำ Loop ให้มันใช่ไหม ให้มันทำซ้ำ

217
00:14:24,256 --> 00:14:28,256
คลิกซ้ำได้ คลิกซ้ำได้

218
00:14:28,257 --> 00:14:32,257
การวาง ก็คือคนที่ 1 กลับมาเล่นได้อีกครั้งหนึ่ง

219
00:14:32,258 --> 00:14:36,258
แต่เล่นได้ไม่เกินเท่าไรครั้ง

220
00:14:36,259 --> 00:14:40,259
เดี๋ยวมันจะมีตัวเช็กให้ และพอเรา

221
00:14:40,260 --> 00:14:44,260
เขียนฟังก์ชันนี้เสร็จ คราวนี้

222
00:14:44,261 --> 00:14:48,261
เราจะไม่ลืมแล้ว ครั้งที่แล้วเรา Draw

223
00:14:48,263 --> 00:14:52,263
ทุกครั้งที่เราสร้างฟังก์ชันเสร็จนี่ เรา

224
00:14:52,264 --> 00:14:56,264
จะเรียกมันมาใช้งาน เพราะถ้าไม่เรียกมาใช้งาน

225
00:14:56,266 --> 00:15:00,266
ก็เท่ากับไม่มีอะไรเกิดขึ้นนะคะ

226
00:15:00,267 --> 00:15:04,267
เราก็จะเรียกมันมาใช้งานนะคะ

227
00:15:04,269 --> 00:15:08,269
ตอนนี้สมาชิกครบแล้วรอเปิดเครื่อง

228
00:15:08,269 --> 00:15:12,269
นะคะ เดี๋ยวอธิบายต่อไปก่อน

229
00:15:12,270 --> 00:15:16,270
ใบเตยเสร็จหรือยัง ของใบเตย

230
00:15:16,271 --> 00:15:20,271
ใบเตย Code เสร็จหรือยัง

231
00:15:20,272 --> 00:15:24,272
นะคะ

232
00:15:24,273 --> 00:15:28,273
เห็นไหมคะ พอวาดได้แล้ว เราก็ต้อง

233
00:15:28,275 --> 00:15:32,275
เช็กให้ได้ด้วยว่า ใครจะเป็นคนชนะ

234
00:15:32,276 --> 00:15:36,276
ก็จะสร้าง Funsion

235
00:15:36,277 --> 00:15:40,277
นะคะ หรือชื่อฟังก์ชันว่า

236
00:15:40,279 --> 00:15:44,279
check_winner วิธีการเช็กจะเช็กตามแถวก่อน

237
00:15:44,280 --> 00:15:48,280
เช็กตามนี้นะคะ

238
00:15:48,281 --> 00:15:52,281
แกนแถวนี่ไป ว่า X

239
00:15:52,282 --> 00:15:56,282
วางครบตามหลักของ XO ก็คือ

240
00:15:56,283 --> 00:16:00,283
ใครที่วางตัว X หรือตัว O

241
00:16:00,284 --> 00:16:04,284
ครบ 3 ตัว ใช่ปะ

242
00:16:04,285 --> 00:16:08,285
ถึงจะเป็นคนชนะใช่ไหมคะ เหมือนอย่างนี้

243
00:16:08,287 --> 00:16:12,287
ยังไม่มีใครชนะเดี๋ยวดูนะคะ สมมติ

244
00:16:12,288 --> 00:16:16,288

245
00:16:16,289 --> 00:16:20,289

246
00:16:20,290 --> 00:16:24,290
นี่เห็นไหม สีแดง

247
00:16:24,291 --> 00:16:28,291
ถึงก่อน ก็คือสีแดง O ครบ

248
00:16:28,292 --> 00:16:32,292
มันก็ขึ้นว่า player 2 win ขึ้นข้อความ

249
00:16:32,294 --> 00:16:36,294
ว่า ผู้ชนะคือคนที่ 2 ผู้เล่น

250
00:16:36,296 --> 00:16:40,296
คนเล่นคนที่ 2 นะคะ แล้วทีนี้

251
00:16:40,297 --> 00:16:44,297
ถ้าต้องการเล่นซ้ำ กดที่ Play Again

252
00:16:44,298 --> 00:16:48,298
ก็จะเคลียร์หน้าจอทั้งหมดแล้วให้เล่นซ้ำได้

253
00:16:48,299 --> 00:16:52,299
วิธีการเช็ก เขาจะเช็ก

254
00:16:52,300 --> 00:16:56,300
ตามแถว แถวที่ 1 ครบไหม มีครบ 3

255
00:16:56,300 --> 00:17:00,300
ตัวไหม แถวที่ 2 มีครบไหมนะคะ เห็นไหม

256
00:17:00,301 --> 00:17:04,301
ตรง sum น่ะ ผลรวมมันจะอยู่ที่ 3

257
00:17:04,302 --> 00:17:08,302
เพราะช่อง ช่องของตาราง XO เรามี

258
00:17:08,303 --> 00:17:12,303
ตามแถวก็มี 3 ช่อง ตาม

259
00:17:12,304 --> 00:17:16,304
คอลัมน์ก็มี 3 ช่อง มันก็เช็กไปทั้ง 3 แถว

260
00:17:16,305 --> 00:17:20,305
แล้วนอกจากเช็กตามแถวแล้ว เราต้องเช็กตาม

261
00:17:20,306 --> 00:17:24,306
แนวทะแยงได้ด้วย หรือ คอส

262
00:17:24,306 --> 00:17:28,306
ใช่ไหมคะ ตามหลักของ XO ก็สามารถ

263
00:17:28,308 --> 00:17:32,308
เรียงตามแนวทแยงอย่างนี้ได้

264
00:17:32,308 --> 00:17:36,308
นึกออกนะ ลืม

265
00:17:36,309 --> 00:17:40,309
อันนี้เอาใหม่ ๆ เรียง

266
00:17:40,310 --> 00:17:44,310
ตามแนวทแยง เช่น

267
00:17:44,311 --> 00:17:48,311
นี่ เห็นไหมคะ

268
00:17:48,312 --> 00:17:52,312
อันนี้ คือ ตอนนี้

269
00:17:52,314 --> 00:17:56,314
ให้ตัวเองเล่นเองคนเดียว เลยดักทางตัวเองได้

270
00:17:56,316 --> 00:18:00,316
แต่ถ้าเราไปกำหนดเงื่อนไขว่าให้คนเล่น

271
00:18:00,317 --> 00:18:04,317
เข้ามาเล่นได้ 2 คนอย่างนี้นะคะ มันต้อง

272
00:18:04,317 --> 00:18:08,317
ใช้วิธีการอย่างไร อะไรอย่างไรนี่

273
00:18:08,318 --> 00:18:12,318
จะเป็นขั้นตอนต่อไป สกิล

274
00:18:12,319 --> 00:18:16,319
อันนี้เอาให้รู้ Basic มันก่อนว่า

275
00:18:16,320 --> 00:18:20,320
สิ่งพวกนี้ขึ้นมาได้ เราทำอะไรบ้าง

276
00:18:20,321 --> 00:18:24,321
มีเช็กตามแถวนะคะ

277
00:18:24,322 --> 00:18:28,322
แล้วต้องมาประกาศตัวแปรให้ผู้ชนะ

278
00:18:28,323 --> 00:18:32,323
กับประกาศตัวแปรให้เวลาจบเกมหรือ Gameover ไว้ด้วย

279
00:18:32,324 --> 00:18:36,324
นะคะ ด้วยเพราะจะได้

280
00:18:36,324 --> 00:18:40,324
เก็บค่าข้อมูลไว้ว่าใครคือผู้ใชนะ

281
00:18:40,325 --> 00:18:44,325
คนแพ้ จบเกมเป็นอะไร

282
00:18:44,326 --> 00:18:48,326
เห็นนะคะ เช็กยังไม่เสร็จนะคะ เช็กตาม

283
00:18:48,327 --> 00:18:52,327
คอลัมน์ เช็กตามคอลัมน์

284
00:18:52,328 --> 00:18:56,328
เห็นไหม แกน Y เห็นไหมคะ แล้วสุดท้ายก็จะเช็ก

285
00:18:56,328 --> 00:19:00,328
ตามแนวทะแยง หรือ Cross เพราะว่าโค้ดมันยาว

286
00:19:00,329 --> 00:19:04,329
Code มันยาวแต่ถามเราคีย์

287
00:19:04,331 --> 00:19:08,331
ตามไอ้นี่อยู่แล้วก็จะเห็นอยู่นะคะ

288
00:19:08,333 --> 00:19:12,333
แล้วมีสิ่งหนึ่งที่เราจะต้องมาเรียกใช้งาน

289
00:19:12,333 --> 00:19:16,333
มันชื่อคีย์เวิร์ดที่ว่า Global

290
00:19:16,336 --> 00:19:20,336
มันจะเป็นคีย์เวิลด์ที่เรียก

291
00:19:20,337 --> 00:19:24,337
ตัวแปรที่อยู่ข้างนอกน่ะมาใช้งาน

292
00:19:24,340 --> 00:19:28,340
นะคะ

293
00:19:28,340 --> 00:19:32,340
เมื่อเราสร้างฟังก์ชันนี้เสร็จ เราก็ต้องเรียกใช้มัน

294
00:19:32,341 --> 00:19:36,341
ฟังก์ชันนี้เสร็จมันก็จะ

295
00:19:36,342 --> 00:19:40,342
ไม่ได้เรียกใช้อยู่ตำแหน่งปกติ แต่จะมาเรียกใช้

296
00:19:40,343 --> 00:19:44,343
เมื่อมีการคลิกเมาส์หรืออะไรแล้ว ตำแหน่งที่เรียกใช้

297
00:19:44,344 --> 00:19:48,344
ต้องเช็กตำแหน่งด้วยนะคะ

298
00:19:48,346 --> 00:19:52,346
ใส่ตรงที่หนึ่ง บางที่ก็ใส่ตรงที่หนึ่งไมเหมือนกัน

299
00:19:52,347 --> 00:19:56,347
สิ่งที่เราจะทำต่อไป

300
00:19:56,348 --> 00:20:00,348
ก็คือให้มันเช็กเวลาเกมจบเกมน่ะ

301
00:20:00,350 --> 00:20:04,350
เกม Over หรือจบสิ้นสุดเกม

302
00:20:04,352 --> 00:20:08,352
ก็คือเล่นครบ 9 ช่องแล้วนะคะ ต้อง

303
00:20:08,353 --> 00:20:12,353
มากำหนดเงื่อนไขให้นะคะ

304
00:20:12,355 --> 00:20:16,355
กำหนด

305
00:20:16,356 --> 00:20:20,356
เพื่ออะไร กำหนดเพื่อสมมติว่า

306
00:20:20,359 --> 00:20:24,359

307
00:20:24,361 --> 00:20:28,361
แสดงว่าเมื่อกี้ปิดไปแล้ว

308
00:20:28,362 --> 00:20:32,362

309
00:20:32,364 --> 00:20:36,364
ไม่สมมติแล้ว เปิดให้ดูเลย

310
00:20:36,365 --> 00:20:40,365
คือ เช็ก 9 ช่องแล้ว

311
00:20:40,365 --> 00:20:44,365
นะคะ ตอนคำสั่งที่กำหนดรูปแบบฟอนต์นี่

312
00:20:44,367 --> 00:20:48,367
มีมาเพื่ออะไร ให้ดูนะคะ ก็คืออยู่ดี ๆ

313
00:20:48,368 --> 00:20:52,368
ถ้ากดไปอย่างนี้

314
00:20:52,369 --> 00:20:56,369
จะครบไหม ไม่ครบ เราจะแสดง

315
00:20:56,370 --> 00:21:00,370
ฟอนต์จะใช้เพื่อแสดงข้อความ

316
00:21:00,371 --> 00:21:04,371
ให้ปรากฏพวกนี้ขึ้นมา เห็นไหมคะ

317
00:21:04,371 --> 00:21:08,371
ประกาศตัวแปรชื่อว่าฟอนต์ แล้ว

318
00:21:08,372 --> 00:21:12,372
ให้เรียกฟังก์ชันของฟอร์น

319
00:21:12,373 --> 00:21:16,373
ให้มันขึ้นอยู่ตรงไหน มีค่าเป็นค่าว่าง

320
00:21:16,374 --> 00:21:20,374
นะคะ ก็คือคำสั่งนี้ font นี่

321
00:21:20,375 --> 00:21:24,375
จะเปลี่ยนไปตามที่เราเงื่อนไข

322
00:21:24,375 --> 00:21:28,375
ของเรานั่นเองนะคะ นี่เห็นไหม

323
00:21:28,376 --> 00:21:32,376
winner นี่ให้วาด

324
00:21:32,377 --> 00:21:36,377
หรือแสดงข้อความน่ะ บอกเมื่อผู้เล่นชนะ เห็นไหมคะ

325
00:21:36,377 --> 00:21:40,377
ก็คือเรากำหนดฟอนต์ เพื่อให้แสดง

326
00:21:40,379 --> 00:21:44,379
ส่วนนั่นขึ้นมาอย่างนี้นะคะ

327
00:21:44,380 --> 00:21:48,380
มีการทำกรอบให้มันด้วยนี่

328
00:21:48,381 --> 00:21:52,381
มีแต่ข้อความเดี๋ยวจะดูยาก ใส่กรอบเข้าไปอย่างนี้นะคะ

329
00:21:52,383 --> 00:21:56,383

330
00:21:56,385 --> 00:22:00,385
นี่นะคะ แล้วก็มากำหนด

331
00:22:00,387 --> 00:22:04,387
สีน้ำเงิน เพื่อเป็นสีของข้อความ

332
00:22:04,389 --> 00:22:08,389

333
00:22:08,390 --> 00:22:12,390
นะคะ นี่คือ

334
00:22:12,391 --> 00:22:16,391
คือ ตรงฟังก์ชันนี้แสดง

335
00:22:16,392 --> 00:22:20,392
ข้อความเมื่อเวลาเราเล่นเสร็จ

336
00:22:20,393 --> 00:22:24,393
เล่นจบเกมนี่ เล่นครบนี่

337
00:22:24,394 --> 00:22:28,394

338
00:22:28,395 --> 00:22:32,395

339
00:22:32,397 --> 00:22:36,397
พอบอกแล้วทุกครั้งเมื่อ

340
00:22:36,399 --> 00:22:40,399
สร้างฟังก์ชันใดเสร็จอย่าลืมเรียกใช้มันนะคะ

341
00:22:40,400 --> 00:22:44,400
ก่อนจะเรียกใช้

342
00:22:44,401 --> 00:22:48,401
มันต้องเช็กก่อนว่ามัน ถ้า Game Over จริง

343
00:22:48,402 --> 00:22:52,402
เห็นไหมคะ Tools มันจะไปใช้ฟังกชัน

344
00:22:52,403 --> 00:22:56,403
ขึ้นมานะคะ ก็คือโปรแกรมมันจะเช็กก่อนว่า

345
00:22:56,404 --> 00:23:00,404
เราเล่นไปจนครบ 9 ช่องแล้ว มันก็จะ

346
00:23:00,405 --> 00:23:04,405
ขึ้นตัวนี้ขึ้นมานะคะ

347
00:23:04,405 --> 00:23:08,405

348
00:23:08,406 --> 00:23:12,406
แล้วก็สร้าง play agian

349
00:23:12,408 --> 00:23:16,408
แล้วก็สร้าง Play again

350
00:23:16,409 --> 00:23:20,409
สังเกตมันจะมีปุ่ม 2 กรอบ

351
00:23:20,411 --> 00:23:24,411
ข้อความ กรอบข้อความแรกแสดงผู้ชนะ

352
00:23:24,412 --> 00:23:28,412
กรอบข้อความที่ 2 คือ เมื่อเล่นจบแล้ว

353
00:23:28,413 --> 00:23:32,413
ถ้าไม่มี Play Again มันจะปิด

354
00:23:32,414 --> 00:23:36,414
ไปเลยเล่นซ้ำไม่ได้แต่บางทีอยากเล่นต่อ

355
00:23:36,414 --> 00:23:40,414
ต้องมี Play Again ให้

356
00:23:40,415 --> 00:23:44,415
เล่นอีก เล่นอีกรอบหนึ่ง เล่นไหมอย่างนี้

357
00:23:44,416 --> 00:23:48,416
นะคะ

358
00:23:48,417 --> 00:23:52,417
ก็จะสร้างแบบเดียวกันนะคะ แต่รูปแบบ

359
00:23:52,419 --> 00:23:56,419
เห็นไหม มีการสร้างรู

360
00:23:56,420 --> 00:24:00,420
สี่เหลี่ยมขึ้นมาด้วย กรอบสี่เหลี่ยม

361
00:24:00,423 --> 00:24:04,423
Guard ตัวแปร

362
00:24:04,424 --> 00:24:08,424
เท่ากับสี่เหลี่ยมผืนผ้า

363
00:24:08,425 --> 00:24:12,425
นั่นเองนะคะ แล้วก็ตามด้วยขนาดของมันนะคะ

364
00:24:12,426 --> 00:24:16,426

365
00:24:16,426 --> 00:24:20,426
เดี๋ยวพอสร้างเสร็จในแต่ละส่วนจะ

366
00:24:20,428 --> 00:24:24,428
ให้ลอง Run ดู Run Coding

367
00:24:24,428 --> 00:24:28,428
เพราะฉะนั้น

368
00:24:28,429 --> 00:24:32,429
พอเมื่อใดที่มีการคลิก Play agian นี่

369
00:24:32,430 --> 00:24:36,430
นะคะ ก็หมายถึงให้เล่นใหม่

370
00:24:36,430 --> 00:24:40,430
มันจะต้องทำการ

371
00:24:40,432 --> 00:24:44,432
Reset ค่าทั้งหมดทั้งปวงที่จะเกิดขึ้น ก็คือ

372
00:24:44,433 --> 00:24:48,433
ค่าของตัวมาร์ก ค่าของตำแหน่ง ค่าของ winner

373
00:24:48,434 --> 00:24:52,434
เพราะอะไร เพราะ Mark ตัว XO ใช่ไหมคะ

374
00:24:52,435 --> 00:24:56,435
Pluse มันก็จะเริ่ม

375
00:24:56,436 --> 00:25:00,436
Mark จุดลงไป แล้วก็ player คือ

376
00:25:00,437 --> 00:25:04,437
ผู้เล่นคนแรก เริ่มที่ผู้เล่นคนแรกเสมอนี่

377
00:25:04,438 --> 00:25:08,438
มันจะต้องรีเซ็ตเพื่อให้ พอกดปุ๊บเห็นไหมคะ

378
00:25:08,439 --> 00:25:12,439
กระดาน XO เราก็จะเคลียออกเพื่อให้

379
00:25:12,440 --> 00:25:16,440
เป็นกระดานเปล่า ๆ อีกครั้งหนึ่งเพื่อเริ่มเล่นใหม่ได้

380
00:25:16,440 --> 00:25:20,440

381
00:25:20,443 --> 00:25:24,443
อย่างนี้นะคะ

382
00:25:24,444 --> 00:25:28,444
นะคะ ก็จะมีการเคลียค่าด้วย

383
00:25:28,445 --> 00:25:32,445
นะคะ Reset ค่านั่นเอง คืนค่ากลับไป

384
00:25:32,446 --> 00:25:36,446
ให้มันกลับไปเริ่มใหม่ แล้วค่าใหม่นะคะ

385
00:25:36,447 --> 00:25:40,447
และสุดท้าย

386
00:25:40,448 --> 00:25:44,448
ท้ายที่สุด

387
00:25:44,449 --> 00:25:48,449
มันจะเช็กกระทั่ง

388
00:25:48,451 --> 00:25:52,451
ตำแหน่งในการมาร์กที่มาร์กปรากฏนะคะ เห็นไหมคะ

389
00:25:52,451 --> 00:25:56,451
เคลียร์ออก อันนี้ให้ดูเป็นทีละท่อน

390
00:25:56,452 --> 00:26:00,452
นะคะ เห็นไหมนี่ ก็คือสุดท้าย

391
00:26:00,453 --> 00:26:04,453
เคลียร์ค่าทั้งหมดทั้งปวง ก็จะสามารถ

392
00:26:04,454 --> 00:26:08,454
Run ได้นะคะ ทดสอบครั้งสุดท้ายจะเป็นตัวนี้

393
00:26:08,455 --> 00:26:12,455
พร้อมจะ Code หรือยัง

394
00:26:12,456 --> 00:26:16,441
รอใครอยู่

395
00:26:16,457 --> 00:26:20,457
เสือน้อยยังไม่เปิดหรือ

396
00:26:20,458 --> 00:26:24,458

397
00:26:24,459 --> 00:26:28,459

398
00:26:28,462 --> 00:26:32,462

399
00:26:32,464 --> 00:26:36,464

400
00:26:36,466 --> 00:26:40,466
ตอนนี้ถ้าเปิด sublime Text นะคะ

401
00:26:40,467 --> 00:26:44,467
ให้เราไปยังตำแหน่งในครั้งก่อน

402
00:26:44,468 --> 00:26:48,468
พิมพ์ไว้ ก็คืออยู่ที่

403
00:26:48,469 --> 00:26:52,469
Event Event ที่

404
00:26:52,470 --> 00:26:56,470
จบเกมนั่นเอง

405
00:26:56,471 --> 00:27:00,471
Play Game . quit()

406
00:27:00,472 --> 00:27:04,472
เรานะคะ first game แล้ว

407
00:27:04,473 --> 00:27:08,473
ให้ไปที่ตำแหน่งที่บอก

408
00:27:08,475 --> 00:27:12,475
อยู่ไหนเอ่ย นี่ ๆ ๆ เห็นไหมคะ

409
00:27:12,477 --> 00:27:16,477

410
00:27:16,478 --> 00:27:20,478
อะไรของ

411
00:27:20,484 --> 00:27:24,484
ข้าพเจ้าหายไป

412
00:27:24,487 --> 00:27:28,487
หายไป 1 บรรทัด Update หาย มิน่า...

413
00:27:28,490 --> 00:27:32,490

414
00:27:32,491 --> 00:27:36,491
หาเจอหรือยัง หาตรง Event pygame

415
00:27:36,494 --> 00:27:40,494
บรรทัดนี้เจอหรือยังคะ เกือบสุดท้าย

416
00:27:40,495 --> 00:27:44,495
ก่อนจบ Update หายไปไหน

417
00:27:44,496 --> 00:27:48,496

418
00:27:48,497 --> 00:27:52,388

419
00:27:52,498 --> 00:27:56,498

420
00:27:56,499 --> 00:28:00,499

421
00:28:00,500 --> 00:28:04,500

422
00:28:04,504 --> 00:28:08,504

423
00:28:08,506 --> 00:28:12,506

424
00:28:12,507 --> 00:28:16,507
เราอย่าลืม

425
00:28:16,508 --> 00:28:20,508
ฟังก์ชัน update นะคะ

426
00:28:20,509 --> 00:28:24,509
ยังอยู่สงสัยน่าจะไปลบตอนที่ Run

427
00:28:24,511 --> 00:28:28,511

428
00:28:28,512 --> 00:28:32,512

429
00:28:32,513 --> 00:28:36,513

430
00:28:36,513 --> 00:28:40,513

431
00:28:40,515 --> 00:28:44,515

432
00:28:44,516 --> 00:28:48,516

433
00:28:48,520 --> 00:28:52,520

434
00:28:52,522 --> 00:28:56,522

435
00:28:56,523 --> 00:29:00,523

436
00:29:00,526 --> 00:29:04,526
เดี๋ยวทีนี้

437
00:29:04,528 --> 00:29:08,528
จะ Run ของครั้งก่อนของเรานะคะ

438
00:29:08,529 --> 00:29:12,529
ครั้งก่อนของเรานี่

439
00:29:12,531 --> 00:29:16,531
มันจะเป็นอย่างนี้ใช่ไหม อะไรหายไป

440
00:29:16,531 --> 00:29:20,531
print markers

441
00:29:20,532 --> 00:29:24,532
เราบอกว่าต้องเรียกใช้งาน

442
00:29:24,534 --> 00:29:28,534
มันจะมี...

443
00:29:28,535 --> 00:29:32,535

444
00:29:32,536 --> 00:29:36,536

445
00:29:36,538 --> 00:29:40,538
ในสัปดาห์ที่แล้ว ที่

446
00:29:40,539 --> 00:29:44,539
เราลืมไป ก็คือเราสร้างมันมาแล้วแต่ไม่ได้เรียก

447
00:29:44,540 --> 00:29:48,540
ใช้มันนะคะ

448
00:29:48,541 --> 00:29:52,541
พอเรียกใช้ปุ๊บ เห็นหรือเปล่าขึ้นมาแล้ว

449
00:29:52,542 --> 00:29:56,542
เราจะมีช่องตารางขึ้นมาแบบนี้

450
00:29:56,542 --> 00:30:00,542
เรามีถึงตอนนี้นะคะ คือ เรา

451
00:30:00,543 --> 00:30:04,543
สร้างฟังก์ชัน Draw_grid ไปแล้ว

452
00:30:04,544 --> 00:30:08,544
แต่ไม่เรียกใช้มันก็เลยไม่ขึ้นในครั้งแรก

453
00:30:08,545 --> 00:30:12,545
ที่สัปดาห์แล้ว Error ไป

454
00:30:12,546 --> 00:30:16,546
ทีนี้สัปดาห์นี้ไม่ลืมแล้ว สร้าง Function เสร็จเรี

455
00:30:16,547 --> 00:30:20,547
ห้ามลืม ๆ

456
00:30:20,548 --> 00:30:24,548
ก่อนอื่นนะคะ ก่อนอื่นบอกแล้วว่า

457
00:30:24,549 --> 00:30:28,549
ทุกครั้งก่อนจะเขียนนี่

458
00:30:28,550 --> 00:30:32,550
ควรจะ Hastag ว่า

459
00:30:32,551 --> 00:30:36,551
ทำอะไรในขั้นตอนนี้นะคะ

460
00:30:36,552 --> 00:30:40,552
ในสไลด์บอกว่าเราจะกำหนดเหตุการณ์ก็ต่อเมื่อ

461
00:30:40,553 --> 00:30:44,553
คลิกเมาส์

462
00:30:44,554 --> 00:30:48,554
เพราะฉะนั้น Comment ของเราก็จะมีว่า

463
00:30:48,555 --> 00:30:52,555
ใส่แฮ็กแท็ช

464
00:30:52,555 --> 00:30:56,555
นะคะ พิมพ์ Hashtag (#) แล้วก็

465
00:30:56,556 --> 00:31:00,556

466
00:31:00,557 --> 00:31:04,557

467
00:31:04,558 --> 00:31:08,558
กำหนด event ก็ได้

468
00:31:08,558 --> 00:31:12,558

469
00:31:12,560 --> 00:31:16,560

470
00:31:16,561 --> 00:31:20,561

471
00:31:20,563 --> 00:31:24,563

472
00:31:24,566 --> 00:31:28,566
กำหนด event ก็คือกำหนดเหตุการณ์ให้เมื่อมีการคลิก

473
00:31:28,570 --> 00:31:32,570
นะคะ จะเอาเป็น

474
00:31:32,571 --> 00:31:36,571
ภาษาไทยไหม เดี๋ยวจะงงอีก

475
00:31:36,572 --> 00:31:40,572

476
00:31:40,572 --> 00:31:44,572

477
00:31:44,573 --> 00:31:48,573

478
00:31:48,575 --> 00:31:52,575
ก็คือในส่วนนี้เราจะกำหนด

479
00:31:52,575 --> 00:31:56,575
เหตุการณ์เมื่อเราทำการคลิก Mouse

480
00:31:56,576 --> 00:32:00,576

481
00:32:00,577 --> 00:32:04,577
เงื่อนไขตัวแรกนี่

482
00:32:04,578 --> 00:32:08,578
ตัวแรกนี่ If ตัวแรกอยู่ตำแหน่งนี้

483
00:32:08,579 --> 00:32:12,579
เสร็จสิ้นประโยคมัน

484
00:32:12,579 --> 00:32:16,579
Stetment ที่ 2 ของเราเห็นไหมคะ

485
00:32:16,581 --> 00:32:20,581
เพราะว่าเป็นเงื่อนไขคนละตัวแล้ว

486
00:32:20,582 --> 00:32:24,582
If จะเริ่มตรงกับตำแหน่ง

487
00:32:24,583 --> 00:32:28,583
if แรกนะคะ 2 ตัวนี้ตำแหน่งจะอยู่ตรง

488
00:32:28,584 --> 00:32:32,584
ตำแหน่ง if จะอยู่ตรง เพราะฉะนั้น เช็กเวลา Tab

489
00:32:32,585 --> 00:32:36,585
Tap ไป 1

490
00:32:36,586 --> 00:32:40,586
ครั้งเห็นไหมคะ จะตรงกับ for มันจะ

491
00:32:40,587 --> 00:32:44,587
ตรงกับ if ต้อง Tab อีกครั้งหนึ

492
00:32:44,588 --> 00:32:48,588
ให้ตำแหน่งมันตรง เห็นไหมคะ

493
00:32:48,589 --> 00:32:52,589
เห็นไหมตรงกัน เพราะไม่อย่างนั้น Run

494
00:32:52,590 --> 00:32:56,590
แล้วจะขึ้น iden eorror

495
00:32:56,591 --> 00:33:00,591
อย่าไปกด Spacebar

496
00:33:00,591 --> 00:33:04,591
คือ กด Tab รู้จัก Tab ไหม ปุ่ม Tab น่ะ

497
00:33:04,592 --> 00:33:08,592

498
00:33:08,593 --> 00:33:12,593
ต่างกันนะคะ ระหว่างกด spacebar ก

499
00:33:12,594 --> 00:33:16,594
เพราะคอมพิวเตอร์มันรู้นะคะ มันอ่าน

500
00:33:16,595 --> 00:33:20,595
คีย์บอร์ดได้ เพราะฉะนั้น ถ้าบอกให้กด Tab

501
00:33:20,597 --> 00:33:24,597
ต้องกด Tab

502
00:33:24,597 --> 00:33:28,597
กด spacebar ก็กด spacebar นะคะ

503
00:33:28,599 --> 00:33:32,599
เริ่มด้วยฟังก์ชัน if เสมอ

504
00:33:32,600 --> 00:33:36,600
เมื่อกำหนดเหตุการณ์ จะต้องใช้ if เป็นตัวกำหนดใช่ไหมคะ

505
00:33:36,602 --> 00:33:40,602
พิมพ์

506
00:33:40,603 --> 00:33:44,603
พิมพ์ i ปุ๊บ

507
00:33:44,604 --> 00:33:48,604
เปลี่ยนก่อน i ปุ๊บเห็น

508
00:33:48,605 --> 00:33:52,605
if ที่เราเลือกก็คือ if condition

509
00:33:52,606 --> 00:33:56,606
ไม่ใช่ If คีย์เวิร์ด คลิก if

510
00:33:56,607 --> 00:34:00,607
if condition

511
00:34:00,608 --> 00:34:04,608
เห็นไหม ระยะเยื้องมันจะขึ้นมาให้

512
00:34:04,609 --> 00:34:08,609
เราจะได้ไม่เกิดปัญหา identition อีก

513
00:34:08,610 --> 00:34:12,610
เวลา Error Tab Error หรือ

514
00:34:12,612 --> 00:34:16,612
จะไม่เกิดขึ้น if เสร้จแล้วตามด้วยอะไรเหมือนเดิม

515
00:34:16,613 --> 00:34:20,613
เพราะเราบอกว่า event เราจะกำหนด event นะคะ

516
00:34:20,614 --> 00:34:24,614
ดูในสไลด์นี่เห็นไหม

517
00:34:24,614 --> 00:34:28,614
Event type เสมอเลย

518
00:34:28,615 --> 00:34:32,615
พิมพ์ใช่ไหมคะ == แต่

519
00:34:32,616 --> 00:34:36,616
ตัวที่ฟังก์ชันที่เราจะเรียกมาตรวจสอบ ก็คือ

520
00:34:36,617 --> 00:34:40,617
ฟังก์ชันเมาส์ เดี๋ยวมาดูจะเรียกอย่างไรนะคะ

521
00:34:40,619 --> 00:34:44,619
if event

522
00:34:44,620 --> 00:34:48,620
ก็เลือก stagement

523
00:34:48,621 --> 00:34:52,621
พิมพ์แค่ตัว e แล้วก็คลิก

524
00:34:52,622 --> 00:34:56,622
เสร็แล้วพิมพ์อะไร dot (.) tpye

525
00:34:56,623 --> 00:35:00,623
ก็คือ ก็คือถ้ามันขึ้นตรงตัวไหน

526
00:35:00,625 --> 00:35:04,625
ไหนที่เป็นสีเทา ๆ ก็กด Enter ได้เลย

527
00:35:04,626 --> 00:35:08,626
แล้วตามด้วยอะไรคะ

528
00:35:08,643 --> 00:35:12,643
กด spacebar 1 ครั้ง

529
00:35:12,645 --> 00:35:16,645
เท่ากับใน pygame หรือใน Python

530
00:35:16,647 --> 00:35:20,647
python จะต้อง

531
00:35:20,648 --> 00:35:24,648
กด 2 ครั้งนะคะ แล้วก็

532
00:35:24,648 --> 00:35:28,648
ตามด้วย spacebar 1 ครั้ง แล้วก็พิมพ์

533
00:35:28,649 --> 00:35:32,649
P P แล้วเลือก

534
00:35:32,651 --> 00:35:36,651
pygame

535
00:35:36,652 --> 00:35:40,652
pygame module แล้วนะคะ ใน

536
00:35:40,653 --> 00:35:44,653
หน้าต่างที่มันขึ้นมานี่ หน้าต่าง Pop-up

537
00:35:44,654 --> 00:35:48,654
นะคะ ถ้าไม่อยู่ใน pygame module

538
00:35:48,655 --> 00:35:52,655
ไปแล้วกด Enter

539
00:35:52,657 --> 00:35:56,657

540
00:35:56,658 --> 00:36:00,658
ทันไหมจ๊าบ

541
00:36:00,663 --> 00:36:04,663
. ทีนี้

542
00:36:04,664 --> 00:36:08,664
M ต้องเป็นตัวใหญ่นะคะ เวลาที่

543
00:36:08,666 --> 00:36:12,666
เราจะใช้ pygame.

544
00:36:12,668 --> 00:36:16,668
ในตำแหน่งนี้ เวลาพิมพ์นี่ข้อความนี่จะต้อง

545
00:36:16,669 --> 00:36:20,669
กด shift เสมอ MO

546
00:36:20,671 --> 00:36:24,671
Mo เพื่อหา MOUSE

547
00:36:24,672 --> 00:36:28,672
เงื่อนไขแรกหรือ

548
00:36:28,673 --> 00:36:32,673
เหตุการณ์แรกนะคะ เราจะกำหนดค่า MOUSE

549
00:36:32,674 --> 00:36:36,674
เป็นอะไร ไปดูกัน Button

550
00:36:36,675 --> 00:36:40,675
Down Bott

551
00:36:40,676 --> 00:36:44,676

552
00:36:44,676 --> 00:36:48,676
M

553
00:36:48,677 --> 00:36:52,677
เห็นไหมคะ เลือก

554
00:36:52,691 --> 00:36:56,691
ไวไปไหม ช้า ๆ นะ ช้า ๆ

555
00:36:56,692 --> 00:37:00,692
M ให่ญ่ พิมพ์ M ใหญ่

556
00:37:00,693 --> 00:37:04,693
เลือกตัวนี้นะคะ เลือก... นี่ ๆ ๆ

557
00:37:04,694 --> 00:37:08,694
เลือก MOUSEBUTTONDOWN

558
00:37:08,695 --> 00:37:12,695
m-o-u

559
00:37:12,696 --> 00:37:16,696
u-t-t-o-n

560
00:37:16,697 --> 00:37:20,697
ยาว ๆ หน่อย สังเกต MOUSE แล้วก็จะมี

561
00:37:20,698 --> 00:37:24,698
ไอ้ข้างหลังยาวกว่าเพื่อนเลย

562
00:37:24,698 --> 00:37:28,698
ค่ะ กด Enter

563
00:37:28,699 --> 00:37:32,699

564
00:37:32,700 --> 00:37:36,700
โอ.เค. นะ

565
00:37:36,702 --> 00:37:40,702
ก็คือตอนนี้บอก ถ้า

566
00:37:40,703 --> 00:37:44,703
ถ้าปล่อย เมาส์อะไรจะเกิดขึ้น

567
00:37:44,704 --> 00:37:48,704
หลังจากตรง Statement นี้

568
00:37:48,705 --> 00:37:52,705
ไปมันจะไปบอกว่าถ้าปล่อยเมาส์

569
00:37:52,706 --> 00:37:56,706
ก็คือคลิก

570
00:37:56,706 --> 00:38:00,706
คลิก = tool

571
00:38:00,707 --> 00:38:04,707
ก็คือ

572
00:38:04,709 --> 00:38:08,709
การตรวจสอบ ก็คือเมื่อมีการคลิกปุ๊บนี่นะคะ

573
00:38:08,710 --> 00:38:12,710
ตรงตำแหน่ง Pass นี่

574
00:38:12,711 --> 00:38:16,711
เด็ก ๆ มาที่ตำแหน่ง pas

575
00:38:16,713 --> 00:38:20,713
แล้วว่าถ้า

576
00:38:20,715 --> 00:38:24,715
ถ้าเลือกใช้ไอ้ BUTTONDOWN นี่

577
00:38:24,716 --> 00:38:28,716
เพราะฉะนั้นเมื่อตรง Pass นี่

578
00:38:28,717 --> 00:38:32,717
ถ้าแล้วหรือนี่ ตรง pas

579
00:38:32,718 --> 00:38:36,718
เราทำแถบที่ past เหมือนเดิม

580
00:38:36,719 --> 00:38:40,719
แล้วพิมพ์คลิกลงไปเลย C

581
00:38:40,720 --> 00:38:44,720
พิมพ์นะคะ LI

582
00:38:44,721 --> 00:38:48,721
อันนี้ต้องพิมพ์ก่อน เราจะไม่...

583
00:38:48,722 --> 00:38:52,722
มันเป็นตัวแรปนี่ะมันยังไม่ได้ประกาศมัน

584
00:38:52,723 --> 00:38:56,723
นะคะ คลิก clicked ด้วย

585
00:38:56,724 --> 00:39:00,724

586
00:39:00,725 --> 00:39:04,725
อันนี้ต้องพิมพ์เอานะคะ c-l-i-c-k

587
00:39:04,727 --> 00:39:08,727
cked clicked

588
00:39:08,728 --> 00:39:12,728
ก็คือถ้าคลิก...

589
00:39:12,729 --> 00:39:16,729
ถ้าเลือก ถ้าเมาส์ ปล่อยเมาส์ปุ๊บนี่

590
00:39:16,730 --> 00:39:20,730
มันจะเช็กที่เมื่อมีการคลิกเกิดขึ้น

591
00:39:20,731 --> 00:39:24,731
นะคะ กำหนดค่า

592
00:39:24,732 --> 00:39:28,732
ให้คลิกเท่ากับ

593
00:39:28,732 --> 00:39:32,732
True True ใช่ไหม

594
00:39:32,734 --> 00:39:36,734
= tool เป็นจริง ก็คือมีการ

595
00:39:36,736 --> 00:39:40,736
คลิกนี่นะคะ

596
00:39:40,737 --> 00:39:44,737

597
00:39:44,738 --> 00:39:48,738
เลือก

598
00:39:48,738 --> 00:39:52,738
เลือก true ที่เป็

599
00:39:52,740 --> 00:39:56,740
ตัวใหญ่ตัวนี้นะคะ true นี่

600
00:39:56,741 --> 00:40:00,741
เท่ากับ True ตัวนี้

601
00:40:00,742 --> 00:40:04,742
กด Enter

602
00:40:04,743 --> 00:40:08,743
มันจะเปลี่ยนให้เองเลยเห็นไหม

603
00:40:08,744 --> 00:40:12,744

604
00:40:12,745 --> 00:40:16,745
อันนี้ปล่อยเมาส์ มีปล่อยก็ต้องมีกดใช่ไหมคะ

605
00:40:16,747 --> 00:40:20,747
เพราะฉะนั้น

606
00:40:20,749 --> 00:40:24,749
ไม่อยากให้พิมพ์

607
00:40:24,750 --> 00:40:28,750
ไม่อยากให้ copy

608
00:40:28,751 --> 00:40:32,751
เราก็จะเพิ่มเหตุการณ์อีก 1 ครั้งนะคะ

609
00:40:32,753 --> 00:40:36,753
ตำแหน่งของ if จะอยู่

610
00:40:36,755 --> 00:40:40,755
ตรงกับตำแหน่งนี้เห็นไหม

611
00:40:40,756 --> 00:40:44,756
ตรงกันนะคะ เหมือนเดิม

612
00:40:44,757 --> 00:40:48,757
เพิ่ม if condition กด i แล้วเลือก condition

613
00:40:48,758 --> 00:40:52,758
Enter ได้เลย

614
00:40:52,759 --> 00:40:56,759
เลือก if condition ได้เลย

615
00:40:56,760 --> 00:41:00,760
เหมือเดิม event type

616
00:41:00,761 --> 00:41:04,761
ไปเรื่อย ๆ นี่ จนถึง MOUSE นี่ เปลี่ยนจาก

617
00:41:04,762 --> 00:41:08,762
MOUSEBUTTONDOWN เป็น MOUSEBUTTONE

618
00:41:08,763 --> 00:41:12,763
พิมพ์ Event Event ที่ Stage

619
00:41:12,764 --> 00:41:16,764
กด Enter เลือก event statement

620
00:41:16,765 --> 00:41:20,765

621
00:41:20,765 --> 00:41:24,765
.type

622
00:41:24,766 --> 00:41:28,766
กด Enter แล้วก็ == 2 ครั้ง

623
00:41:28,767 --> 00:41:32,767
กดผิด ๆ  ขอโทษ กดเครื่องหมาย

624
00:41:32,767 --> 00:41:36,767
เครื่องหมายเท่ากับ (=) 2 ครั้ง แล้วก็ตามด้วย

625
00:41:36,768 --> 00:41:40,768
pygame module เหมือนเดิม

626
00:41:40,769 --> 00:41:44,769
ก็คือ Mouse เหมือนเดิม M

627
00:41:44,770 --> 00:41:48,770
เห็นไหม ถ้า Mouse ตัวเล็กมันจะไม่ค่อยขึ้น

628
00:41:48,771 --> 00:41:52,771
คำสั่ง MOUSE จะเป็นตัวใหญ่ M

629
00:41:52,773 --> 00:41:56,773
แต่เลือกเป็นอะไรคะ BUTTONUP

630
00:41:56,773 --> 00:42:00,773
ตัวที่ 2 แทนเห็นไหม Down ตัว

631
00:42:00,774 --> 00:42:04,774
กดปล่อยกดปล่อยนั่นเอง

632
00:42:04,775 --> 00:42:08,775
ปล่อยเลือกปล่อยแล้วมาเลือกกด เหตุการณ์

633
00:42:08,776 --> 00:42:12,776
ในการใช้เมาส์ จะมี 2 เหตุการณ์

634
00:42:12,777 --> 00:42:16,777
กดแล้วก็ปล่อยใช่ไหม กดเพื่อวางแล้วก็ปล่อย

635
00:42:16,778 --> 00:42:20,778

636
00:42:20,779 --> 00:42:24,779
เพราะฉะนั้น ในส่วนของ

637
00:42:24,781 --> 00:42:28,781
ตรงนี้นะคะ ถ้าแล้ว

638
00:42:28,782 --> 00:42:32,782
แล้วถ้าแล้วก็คลิกเหมือนเดิม พิมพ์คลิก

639
00:42:32,784 --> 00:42:36,784

640
00:42:36,785 --> 00:42:40,785
clicked

641
00:42:40,786 --> 00:42:44,786
เราพิมพ์ครั้งแรกไม่ขึ้น

642
00:42:44,787 --> 00:42:48,787
เราประกาศมันไปแล้ว ประกาศใช้ไปแล้วครั้งหนึ่ง

643
00:42:48,788 --> 00:42:52,788
clicked statement ได้เลย กด Enter ไปได้เลย

644
00:42:52,789 --> 00:42:56,789
แล้วก็กด =

645
00:42:56,790 --> 00:43:00,790
กำหนดค่าให้ Clicked

646
00:43:00,791 --> 00:43:04,791
ตัวนี้ต้องเป็นอะไรคะ ตรงข้ามกับตัวแรก

647
00:43:04,792 --> 00:43:08,792
มี true แล้วก็ต้องมี false

648
00:43:08,793 --> 00:43:12,793
ตัวแรกเป็นจริง

649
00:43:12,795 --> 00:43:16,795
ตัวนี้ก็ต้องเป็น False

650
00:43:16,796 --> 00:43:20,796
พิมพ์ F ตัวใหญ่เลย เพราะเรารู้ว่าคีย์เว

651
00:43:20,797 --> 00:43:24,797
ต้องพิมพ์ด้วยตัวใหญ่

652
00:43:24,798 --> 00:43:28,798
โอ.เค. ไหม

653
00:43:28,799 --> 00:43:32,799
เราจะยังไม่ Run ตอนนี้

654
00:43:32,800 --> 00:43:36,800
มันแค่เช็กเฉย ๆ ว่าเรากด Mouse ห

655
00:43:36,800 --> 00:43:40,800
หรือปล่อย Mouse แค่นั้นเองนะคะ

656
00:43:40,801 --> 00:43:44,801

657
00:43:44,802 --> 00:43:48,802

658
00:43:48,803 --> 00:43:52,803
ตอนนี้เราได้ 2 บรรทัดนี้แล้ว

659
00:43:52,805 --> 00:43:56,805
เห็นไหมนี่ Mouse จะมี

660
00:43:56,805 --> 00:44:00,805
2 ตัวนี้ BUTTONUP กับ BUTTONDOWN 2 ตัวบน

661
00:44:00,806 --> 00:44:04,806
อันนี้อธิบายไปแล้ว

662
00:44:04,807 --> 00:44:08,807

663
00:44:08,809 --> 00:44:12,809
สิ่งที่จะทำต่อมา กค็คือ

664
00:44:12,810 --> 00:44:16,810

665
00:44:16,811 --> 00:44:20,811

666
00:44:20,811 --> 00:44:24,811
ข้ามอะไรไป

667
00:44:24,814 --> 00:44:28,814
อ๋อ

668
00:44:28,815 --> 00:44:32,815
ความจริงแล้วเราต้องไปประกาศตัวแปร clicked ก่อนนะคะ

669
00:44:32,816 --> 00:44:36,816
ให้ค่าเริ่มต้นมันเป็น False สิ่งที่เราจะทำต่อไป

670
00:44:36,817 --> 00:44:40,817
ก็คือไปที่ตำแหน่งที่เรา

671
00:44:40,818 --> 00:44:44,818
ประกาศตัวแปรทั้งหลายทั้งแหล่ไว้ไห็นไหม

672
00:44:44,819 --> 00:44:48,819
ไม่แน่ใจเด็ก ๆ

673
00:44:48,820 --> 00:44:52,820
ทำ Remark คอมเมนต์ไว้ด้วยหรือเปล่า

674
00:44:52,821 --> 00:44:56,821
ที่ไปตำแหน่งที่เราประกาศตัวแปรไว้นะคะ

675
00:44:56,822 --> 00:45:00,822
ไปหามันเลยแล้วตัว

676
00:45:00,823 --> 00:45:04,823
ใช้ ก็คืออะไรคะ

677
00:45:04,824 --> 00:45:08,824
Clicked คลิก

678
00:45:08,824 --> 00:45:12,824
ลงไป กำหนดค่า ก็คือ =

679
00:45:12,824 --> 00:45:16,824
ค่าเริ่มต้น เริ่มที่ false นะคะ

680
00:45:16,827 --> 00:45:20,827
เป็นเท็จก่อน เป็นเท็จเสมอ

681
00:45:20,828 --> 00:45:24,828
จะทำงานเมื่อ

682
00:45:24,829 --> 00:45:28,829
เป็นจริง พอเข้ามาในนี้เห็นไหมคะ ทำงานเมื่อ

683
00:45:28,830 --> 00:45:32,830
เป็นจริง เมื่อประกาศตัวแปรไปแล้วสิ่งที่เรา

684
00:45:32,832 --> 00:45:36,832
สิ่งที่เราจะต้องมาเช็กต่อ ก็คือถ้า

685
00:45:36,834 --> 00:45:40,834
ปล่อยเมาส์นะคะ มันก็จะเป็น

686
00:45:40,835 --> 00:45:44,835
ประโยคต่อมาตรงนี้

687
00:45:44,836 --> 00:45:48,836
เห็นไหมคะ ปล่อย Mouse แล้ว

688
00:45:48,837 --> 00:45:52,837
ค่า clicked เมื่อปล่อยเมาส์

689
00:45:52,838 --> 00:45:56,838
และค่าในการคลิกนี่ เป็น False

690
00:45:56,839 --> 00:46:00,839
ตรง Button Up

691
00:46:00,840 --> 00:46:04,840
MOUSEBUTTONUP นี่ ค่า

692
00:46:04,841 --> 00:46:08,841
ในการคลิกจะเป็น True เห็นไหมคะ สลับกัน

693
00:46:08,841 --> 00:46:12,841
ก็คือมีเงื่อนไข

694
00:46:12,842 --> 00:46:16,842
ที่ผูกผันต่อกันมาให้มันเช็กด้วย

695
00:46:16,843 --> 00:46:20,843
ตรงนี้เราเพิ่มประโยคตต่อไป ใช้ an

696
00:46:20,844 --> 00:46:24,844
and คือคีย์เวิลด์ กด Enter ได้เลย

697
00:46:24,845 --> 00:46:28,845
and

698
00:46:28,846 --> 00:46:32,846
clicket แล้วเลือก

699
00:46:32,847 --> 00:46:36,847
พิมพ์แล้วเลือก

700
00:46:36,848 --> 00:46:40,848

701
00:46:40,850 --> 00:46:44,850
เท่ากับให้ค่ามัน เป็นอะไร False

702
00:46:44,851 --> 00:46:48,851
เห็นไหมคะ

703
00:46:48,852 --> 00:46:52,852
ตรงตำแหน่ง MOUSEBUTTONUP

704
00:46:52,853 --> 00:46:56,853
ก็ and and keyword Enter

705
00:46:56,854 --> 00:47:00,854
Space bar ตามด้วย Clicked

706
00:47:00,855 --> 00:47:04,855
Clicked stagement ค่าจะตรงกันข้าม

707
00:47:04,856 --> 00:47:08,856
เท่ากับ

708
00:47:08,857 --> 00:47:12,857
เห็นไหม

709
00:47:12,859 --> 00:47:16,859
จะตรงข้ามกัน True

710
00:47:16,860 --> 00:47:20,860
true เลือก true คีย์เวิลด์

711
00:47:20,861 --> 00:47:24,861
โอ.เค. แล้วเช็กค่า มันจะ

712
00:47:24,862 --> 00:47:28,862
ทำการเช็กแล้ว เช็กเมื่อมีการคลิกนี่

713
00:47:28,863 --> 00:47:32,863
ถ้าไม่ได้ Click ไม่ได้

714
00:47:32,864 --> 00:47:36,864
ก็คือเห็นไหมคะ ก็คือเป็นการปล่อยเมาส์

715
00:47:36,865 --> 00:47:40,865
แต่ถ้าคลิกนี่เป็นการกด Mouse เ

716
00:47:40,866 --> 00:47:44,866
เห็นไหมคะ

717
00:47:44,867 --> 00:47:48,867
โอ.เค. ไหม

718
00:47:48,868 --> 00:47:52,868
ดูตำแหน่ง

719
00:47:52,869 --> 00:47:56,869
ค่าดี ๆ นะคะ ครั้งแรกนี่ เพราะค่าแรก

720
00:47:56,870 --> 00:48:00,870
ของคลิกนี่ คือ เป็น False

721
00:48:00,871 --> 00:48:04,871
ก็คือหมายความว่า ก็คือถ้าปล่อยปุ่มกด

722
00:48:04,872 --> 00:48:08,872
ก็คือไม่ได้คลิกใช่ไหม ก็คือไม่ได้คลิก

723
00:48:08,873 --> 00:48:12,873
เป็นเท็จ ถ้ากด

724
00:48:12,874 --> 00:48:16,874
นะคะ ถ้าตัวนี้เห็นไหมคะ

725
00:48:16,875 --> 00:48:20,875
ถ้า BUTTONUP ก็คือ เป็นจริง มีการกด

726
00:48:20,876 --> 00:48:24,876
เห็นไหม

727
00:48:24,876 --> 00:48:28,876
ถ้า แล้ว หรือ นั่นล่ะ

728
00:48:28,877 --> 00:48:32,877
แล้ว ถ้าปล่อยเมาส์

729
00:48:32,878 --> 00:48:36,878
และไม่ได้คลิกอะไรนี่

730
00:48:36,880 --> 00:48:40,880
ถ้าคลิกก็จะเป็นจริง ถ้าคลิก Mouse

731
00:48:40,881 --> 00:48:44,881
ด้วยนี่ ก็จะเป็น

732
00:48:44,882 --> 00:48:48,882
จะไม่ทำงานเมื่อเป็น False

733
00:48:48,883 --> 00:48:52,883
ก็คือการใช้ IF เงื่อนไขการทำงานก็ต่อ

734
00:48:52,884 --> 00:48:56,884
เมื่อ

735
00:48:56,885 --> 00:49:00,885
ไอ้คำสั่ง

736
00:49:00,886 --> 00:49:04,886
คำสั่งหรืออะไรที่อยู่ในนั้นก่อน มันจะไปทำในนั้นก่อน

737
00:49:04,887 --> 00:49:08,887

738
00:49:08,889 --> 00:49:12,889
ตอนนี้เรากำหนด Mouse ไปแล้วสิ่งที่เราจะทำต่อไป

739
00:49:12,889 --> 00:49:16,889
นะคะ

740
00:49:16,889 --> 00:49:20,889
คือ แค่คลิกปล่อยเมาส์นี่

741
00:49:20,891 --> 00:49:24,891
ไปแล้ว มันก็ต้องไปรู้ตำแหน่ง

742
00:49:24,892 --> 00:49:28,892
Mouse ที่จะคลิกลงไปนะคะ เราจะใช้

743
00:49:28,893 --> 00:49:32,893
การสร้างตัวแปรที่ชื่อว่า

744
00:49:32,894 --> 00:49:36,894
pos หรือ position ให้มันรับค่า

745
00:49:36,895 --> 00:49:40,895
เห็นไหมคะ Get Post

746
00:49:40,896 --> 00:49:44,896
รับตำแหน่ง ค่าตำแหน่งที่เราคลิก Mouse ลงไป

747
00:49:44,896 --> 00:49:48,896
นั่นเอง คลิก Mouse หรือปล่อย

748
00:49:48,896 --> 00:49:52,896
เพราะฉะนั้น

749
00:49:52,898 --> 00:49:56,898
มันจะต่อจากบรรทัดคลิกนี้

750
00:49:56,898 --> 00:50:00,898
พิมพ์ Pos

751
00:50:00,899 --> 00:50:04,899
p อันนี้ต้องพิมพ์เอานะคะ

752
00:50:04,900 --> 00:50:08,900
p-o-s นี่ พิมพ์ เพราะเป็นตัวแปรที่เรายังไม่ได้ประกาศ

753
00:50:08,901 --> 00:50:12,901
ตามด้วยเท่ากับ

754
00:50:12,903 --> 00:50:16,903
เครื่องหมายเท่ากับเห็นไหมคะ

755
00:50:16,904 --> 00:50:20,904
pygame.mouse

756
00:50:20,905 --> 00:50:24,905
จะเรียกใช้ MOUSE แล้ว จะเรียกใช้ MOUSE

757
00:50:24,906 --> 00:50:28,906

758
00:50:28,908 --> 00:50:32,908
Modune

759
00:50:32,910 --> 00:50:36,910
.mouse mouse เล็กนะคะ m

760
00:50:36,913 --> 00:50:40,913
Modul mouse มาใช้งาน เห็นไหมคะ

761
00:50:40,914 --> 00:50:44,914
เลือก Module Mouse mo

762
00:50:44,916 --> 00:50:48,904
แล้วกด Enter

763
00:50:48,916 --> 00:50:52,916

764
00:50:52,918 --> 00:50:56,918
ตามด้วยฟังก์ชัน get_pos()

765
00:50:56,919 --> 00:51:00,919
นะคะ dot

766
00:51:00,921 --> 00:51:04,921
get เลือก getpos

767
00:51:04,922 --> 00:51:08,922
เห็นไหมคะ

768
00:51:08,923 --> 00:51:12,923
เลือกฟังก์ชัน get_pos()

769
00:51:12,924 --> 00:51:16,924
หมายถึง ฟังก์ชันนี้หมายถึง รับค่า

770
00:51:16,925 --> 00:51:20,925
ของตำแหน่งมันสร้างไว้แล้ว เห็นไหม

771
00:51:20,925 --> 00:51:24,925
มันจะสร้างไว้ให้ แต่บางฟังก์ชัน

772
00:51:24,927 --> 00:51:28,927
นะคะ ใน pygame เขาจะมีที่บอกเป็น Library

773
00:51:28,928 --> 00:51:32,928
สร้างไว้แล้ว กับยังไม่สร้าง ถ้าเมื่อใด

774
00:51:32,929 --> 00:51:36,929
ถ้าเมื่อใดที่สร้างเองเราก็จะรู้สิธีสร้างไปแล้วเห็นไหม

775
00:51:36,930 --> 00:51:40,930
เลือก get pos กด Enter

776
00:51:40,931 --> 00:51:44,931
กด Enter อย่าลืมบอกว่าเป็นฟังก์ชัน เด็ก ๆ ต้องใส่

777
00:51:44,932 --> 00:51:48,932
อะไรคะ เครื่องหมายวงเล็บ

778
00:51:48,933 --> 00:51:52,933
เสมอเห็นไหมนะคะ ต้องใส่เครื่องหมาย

779
00:51:52,933 --> 00:51:56,933
วงเล็บเสมอ แค่คลิกที่วงเล็บ

780
00:51:56,934 --> 00:52:00,934
วงเล็บน่ะ แค่คลิกที่วงเล็บเปิดวงเล็บปิดจะตามมา

781
00:52:00,935 --> 00:52:04,935
เพื่อระบุว่า Get Pos เป็นฟังก์ชัน

782
00:52:04,936 --> 00:52:08,936
ที่เราจะใช้งานนะคะ

783
00:52:08,937 --> 00:52:12,937
เห็นไหมคะ จบประโยคที่ get pos

784
00:52:12,938 --> 00:52:16,938
แล้วเราก็ไปประกาศตัวแปร

785
00:52:16,939 --> 00:52:20,939
Pos โดยกำหนดค่าให้เป็น

786
00:52:20,940 --> 00:52:24,940
วงเล็บใหญ่นี้ ก็คือเป็นค่าว่าง

787
00:52:24,941 --> 00:52:28,941
หมายถึงค่าในวงเล็บใหญ่นี่

788
00:52:28,942 --> 00:52:32,942
นะคะ เพราะฉะนั้น เราก็จะไปที่ตำแหน่ง

789
00:52:32,942 --> 00:52:36,942
ไหนคะ ประกาศตัวแปรที่ต่อจาก Click

790
00:52:36,943 --> 00:52:40,943
มี Click แล้วก็มี pos

791
00:52:40,944 --> 00:52:44,944
เลือก pos น่ะ

792
00:52:44,946 --> 00:52:48,946
เลือกที่ตำแหน่ง pos เห็นไหมคะ แล้วกด Enter

793
00:52:48,946 --> 00:52:52,946
แล้วใส่เท่ากับ

794
00:52:52,948 --> 00:52:56,948
สี่เหลี่ยมใหญ่ เห็นไหม ถ้าใส่สี่เหลี่ยมใหญ่

795
00:52:56,949 --> 00:53:00,949
นั่น ก็คือค่าในช่อง

796
00:53:00,952 --> 00:53:04,952
ค่าของตัวนี่เป็น None หรือค่าว่างนั่นเอง

797
00:53:04,953 --> 00:53:08,953

798
00:53:08,953 --> 00:53:12,953

799
00:53:12,954 --> 00:53:16,954

800
00:53:16,955 --> 00:53:20,955
ได้ค่าว่างของตำแหน่งแล้ว ค่าของ position แล้ว

801
00:53:20,957 --> 00:53:24,957
แล้วนะคะ สิ่งต่อไปที่เราจะทำ

802
00:53:24,958 --> 00:53:28,958
มันก็จะเช็กสิ เช็กตำแหน่ง

803
00:53:28,959 --> 00:53:32,959
ตามแกน X แกน Y น่ะ

804
00:53:32,960 --> 00:53:36,960
ของแกน X หรือ cell_x

805
00:53:36,961 --> 00:53:40,961
แกนวายหรือ หรือ Self Y

806
00:53:40,962 --> 00:53:44,962
ชื่อว่า Cellx pos

807
00:53:44,963 --> 00:53:48,963
ตำแหน่ง pos น่ะค่ะ มีค่าเป็น 0

808
00:53:48,964 --> 00:53:52,964
จากค่าว่างให้ค่าตำแหน่ง X กับ Y

809
00:53:52,965 --> 00:53:56,965
ด้วยทีนี้นะคะ

810
00:53:56,966 --> 00:54:00,966
ก็จะอยู่บรรทัดที่ต่อจาก pos

811
00:54:00,966 --> 00:54:04,966
อยู่บรรทัดอยู่จาก post

812
00:54:04,968 --> 00:54:08,968
อันนี้พิมพ์เอา cell เพราะมันเป็นตัวแปรที่สร้างขึ้นมาเอง

813
00:54:08,969 --> 00:54:12,969
เพื่อใช้ระบุตำแหน่ง

814
00:54:12,970 --> 00:54:16,970
ของแกน X แกน Y ก็คือพิมพ์

815
00:54:16,970 --> 00:54:20,970
คำว่า Cell_x

816
00:54:20,972 --> 00:54:24,972
แล้วก็ _ แล้วก็ตามด้วยตัว x

817
00:54:24,974 --> 00:54:28,974
อย่างนี้นะคะ แล้วก็กำหนดค่า

818
00:54:28,975 --> 00:54:32,975
Cell นี้เท่ากับ เท่ากับอะไรลืม

819
00:54:32,976 --> 00:54:36,976
= pos ที่มีค่าเท่ากับ 1

820
00:54:36,977 --> 00:54:40,977
นะคะ pos ที่มีค่าเท่ากับ 1 ในส่วนของ cell_x นี่

821
00:54:40,977 --> 00:54:44,977
ถ้าเราพิมพ์ Pos แล้วกด

822
00:54:44,979 --> 00:54:48,979
Enter แล้วก็ตามด้วยวงเล็ดใหญ่ ใส่

823
00:54:48,981 --> 00:54:52,981
0 เข้าไป ใส่ค่าให้ว

824
00:54:52,982 --> 00:54:56,982
ที่ว่างเปล่า กลายเป็น... ถ้าอยู่ในตำแหน่ง x นี่

825
00:54:56,983 --> 00:55:00,983
Pos จะเริ่มที่ 0

826
00:55:00,984 --> 00:55:04,984
มี X แล้วก็มีอะไรคะ Y

827
00:55:04,985 --> 00:55:08,985
การพิมพ์เหมือนกัน c-e-l-l ce

828
00:55:08,987 --> 00:55:12,987
cell_y นะคะ

829
00:55:12,988 --> 00:55:16,988
แล้วก็ตามด้วยเครื่องหมายเท่ากับ

830
00:55:16,989 --> 00:55:20,989
แล้วก็เหมือนเดิม พิมพ์ pos เข้าไป pos s

831
00:55:20,991 --> 00:55:24,991
แล้วก็ใส่วงเล็บใหญ่

832
00:55:24,991 --> 00:55:28,991
ค่าที่... ไม่ใช่ปีกกา ขอโทษ ๆ เผลอกด Shift

833
00:55:28,992 --> 00:55:32,992
วงเล็บใหญ่ แล้วก็ตามด้วย

834
00:55:32,993 --> 00:55:36,993
ค่าในนั้น ก็คือ 1 เห็นไหมคะ

835
00:55:36,993 --> 00:55:40,993

836
00:55:40,995 --> 00:55:44,995

837
00:55:44,996 --> 00:55:48,996
บอกตำแหน่งของ XY แล้ว

838
00:55:48,998 --> 00:55:52,998
โอ.เค. ไหมทันไหม

839
00:55:52,999 --> 00:55:56,999

840
00:55:56,999 --> 00:56:00,999

841
00:56:01,001 --> 00:56:05,001

842
00:56:05,004 --> 00:56:09,004

843
00:56:09,006 --> 00:56:13,006

844
00:56:13,007 --> 00:56:17,007

845
00:56:17,008 --> 00:56:21,008

846
00:56:21,009 --> 00:56:25,009

847
00:56:25,011 --> 00:56:29,011
แสดงว่า

848
00:56:29,013 --> 00:56:33,013
เด็กไม่ได้เปิด ไม่เป็นไร

849
00:56:33,017 --> 00:56:37,017
ทันนะคะ ทันอยู่นะ โอ.เค.

850
00:56:37,018 --> 00:56:41,018
เราต้องไปต่อนะคะ ไปยังไม่ถึง

851
00:56:41,019 --> 00:56:45,019
ครึ่งทางเลย

852
00:56:45,020 --> 00:56:49,020
สิ่งต่อมา กำหนดตำแหน่งให้ cell_x cell_y แล้ว

853
00:56:49,021 --> 00:56:53,021
เราก็มันจะมาเช็กเงื่อนไข

854
00:56:53,021 --> 00:56:57,021
เมื่อ Mouse คลิกไปตามตำแหน่ง cell x

855
00:56:57,022 --> 00:57:01,022
เมื่อกี้นะคะ โดยใช้

856
00:57:01,023 --> 00:57:05,023
ฟังก์ชัน... ใช้ if เหมือนเดิม ใช้ if

857
00:57:05,024 --> 00:57:09,024
เพื่อกำหนดเงื่อนไขนะคะ เงื่อนไขอะไร

858
00:57:09,024 --> 00:57:13,024
ของตัว marker ของเรา เมื่อ maker

859
00:57:13,024 --> 00:57:17,024
อยู่ตำแหน่ง cell_x ตำแหน่งนี้ หรือ

860
00:57:17,025 --> 00:57:21,025
cell_x ตำแหน่งนี้จะเท่ากับ

861
00:57:21,026 --> 00:57:25,026

862
00:57:25,027 --> 00:57:29,027

863
00:57:29,028 --> 00:57:33,028

864
00:57:33,030 --> 00:57:37,030
ก่อนอื่น ๆ ๆ นะคะ

865
00:57:37,033 --> 00:57:41,033
กด Tab ไป

866
00:57:41,034 --> 00:57:45,034
ให้ตรงกับ cell_x

867
00:57:45,035 --> 00:57:49,035
เลือก if

868
00:57:49,048 --> 00:57:53,048
ทำไมเป็นตัวใหญ่

869
00:57:53,049 --> 00:57:57,049
if condition เหมือนเดิมนะคะ

870
00:57:57,050 --> 00:58:01,050
ทีนี้สิ่งที่เราจะเช็ก ก็คือ

871
00:58:01,052 --> 00:58:05,052
เช็กอะไร เช็ก markers พิมพ์ N

872
00:58:05,052 --> 00:58:09,052
แล้วเลือก Markers statement เห็นไหมคะ

873
00:58:09,054 --> 00:58:13,054
markers

874
00:58:13,055 --> 00:58:17,055
ครั้งก่อน markers

875
00:58:17,057 --> 00:58:21,057
นะคะ ถ้า markers กำหนดค่าให้นะคะ

876
00:58:21,059 --> 00:58:25,059
เช็กค่าแล้ว สังเกตค่าของ position

877
00:58:25,062 --> 00:58:29,062
มันจะเป็นนี่

878
00:58:29,063 --> 00:58:33,063
วงเล็บใหญ่นี่มันจะเป็น

879
00:58:33,064 --> 00:58:37,064
Array นั่นเอง ค่าแบบ Array

880
00:58:37,065 --> 00:58:41,065
ค่าแบบอาร์เรย์นะคะ ค่าแบบ 3 มิติ

881
00:58:41,065 --> 00:58:45,065
นะคะ ก็จะมี

882
00:58:45,065 --> 00:58:49,065
แต่ของเราจะมี cell_x cell_y ที่เรากำหนดไว้

883
00:58:49,066 --> 00:58:53,066
นะคะ หารด้วย 100 หารด้วย 100 จาก

884
00:58:53,067 --> 00:58:57,067
จาก 0 นี่ หารด้วย 100 ค่าที่มีนี่

885
00:58:57,068 --> 00:59:01,068
หารไปนะคะ

886
00:59:01,069 --> 00:59:05,069

887
00:59:05,070 --> 00:59:09,070
พิมพ์ cell_X ขึ้น

888
00:59:09,071 --> 00:59:13,071
Cell_x เลือกค่ะ cell_x เห็นไหมคะ

889
00:59:13,072 --> 00:59:17,072
ขอโทษ ๆ

890
00:59:17,072 --> 00:59:21,072
ตอน markers เสร็จแล้ว

891
00:59:21,074 --> 00:59:25,074
ลืม ๆ ลืมไปว่า

892
00:59:25,075 --> 00:59:29,075
Marker แล้วพิมพ์วงเล็บใหญ่ก่อน

893
00:59:29,075 --> 00:59:33,075
ถูกไหมคะ

894
00:59:33,077 --> 00:59:37,077

895
00:59:37,078 --> 00:59:41,078
พิมพ์วงเล็บใหญ่แล้วก็

896
00:59:41,079 --> 00:59:45,079
ตามด้วย cell_x ของเรา เห็นไหมคะ เลือก cell_x statement

897
00:59:45,081 --> 00:59:49,081
เลือกเห็นไหม cell_x

898
00:59:49,082 --> 00:59:53,082
เป็นลักษณะที่เรากำหนดค่าให้เป็น

899
00:59:53,083 --> 00:59:57,083
cell_x

900
00:59:57,085 --> 01:00:01,085
// 100

901
01:00:01,086 --> 01:00:05,086
แล้วก็ cell_x แล้วก็มี cell_y

902
01:00:05,087 --> 01:00:09,087
มี cell_y ใช่ไหมคะ

903
01:00:09,088 --> 01:00:13,088

904
01:00:13,090 --> 01:00:17,090
นะคะ วงเล็บใหญ่ แล้วก็ cell_y // 100

905
01:00:17,091 --> 01:00:21,091

906
01:00:21,092 --> 01:00:25,092

907
01:00:25,093 --> 01:00:29,093

908
01:00:29,094 --> 01:00:33,094

909
01:00:33,096 --> 01:00:37,096
เลือก cell_y statement

910
01:00:37,097 --> 01:00:41,097
cell_y stagement แล้วก็

911
01:00:41,098 --> 01:00:45,098
100

912
01:00:45,099 --> 01:00:49,099
หลัง Markers นี้

913
01:00:49,100 --> 01:00:53,100
กำหนดค่าให้ เพื่อเช็กว่าเมื่อ

914
01:00:53,102 --> 01:00:57,102
เป็นจริงนี่ มันต้องมีค่า = 0

915
01:00:57,102 --> 01:01:01,102
นะคะ

916
01:01:01,104 --> 01:01:05,104
ส่วนต่อมา

917
01:01:05,106 --> 01:01:09,106
mark ครั้งที่ 1 แล้ว

918
01:01:09,107 --> 01:01:13,107
ว่าตอนเช็กนี่มันมีทั้ง

919
01:01:13,108 --> 01:01:17,108
คนเล่น

920
01:01:17,110 --> 01:01:21,110
มีกี่คน มี 2 คนใช่ไหมคะ เพราะฉะนั้น Mark แรก

921
01:01:21,111 --> 01:01:25,111
มาดู Mark ที่ 2 เช็ก Mark ที่ 2

922
01:01:25,112 --> 01:01:29,112
ตรง pas ทำเหมือนเดิม

923
01:01:29,113 --> 01:01:33,113
ครอบคำว่า past แล้วก็

924
01:01:33,114 --> 01:01:37,114
makers แล้วก็เหมือนเดิม

925
01:01:37,115 --> 01:01:41,115

926
01:01:41,115 --> 01:01:45,115
เอาให้มันเร็วขึ้น เหมือนกันเลย

927
01:01:45,117 --> 01:01:49,117
ใช้วิธี copy markers มาเลยนะ

928
01:01:49,118 --> 01:01:53,118
ถึง... ก๊อบฯ มาทั้ง...

929
01:01:53,119 --> 01:01:57,119
copy เลยนะ

930
01:01:57,119 --> 01:02:01,119
เพราะค่าเดียวกันแต่เปลี่ยนตรงค่าตรงนี้

931
01:02:01,121 --> 01:02:05,121
เท่านั้นนะคะ

932
01:02:05,122 --> 01:02:09,122
ตำแหน่ง markers จะเคลื่อนมาหน่อยหนึ่ง

933
01:02:09,123 --> 01:02:13,123
นะคะ จะอยู่ไม่เท่ากัน วิธีการก็คือ

934
01:02:13,124 --> 01:02:17,124
ปุ๊บอยู่ตรง cas ที่เราว่า

935
01:02:17,126 --> 01:02:21,126
ที่เราว่าแล้วก็กดวางได้เลยไหมตคะ

936
01:02:21,127 --> 01:02:25,127
ทีนี้ค่าตรงนี้ เอา 0 ออก เอาค่า 0 ออก

937
01:02:25,128 --> 01:02:29,128
ค่ามันต้องเป็นคนละค่า ค่าตรงนี้จะเป็นอะไร

938
01:02:29,129 --> 01:02:33,129
บอกแล้วว่าการ Mark คนเล่นมี

939
01:02:33,130 --> 01:02:37,130
2 คนใช่ไหมคะ เคนแ่คนที่ 1

940
01:02:37,131 --> 01:02:41,131
mark ไปแล้ว เพราะฉะนั้น ก็ต้องเช็กว่าผู้เล่นคนที่ 2 เล่นหรือยัง

941
01:02:41,133 --> 01:02:45,133
เพราะฉะนั้นสิ่งที่เราจะทำก็คือ

942
01:02:45,134 --> 01:02:49,134
เป็นการไปประกาศัวแปร Player

943
01:02:49,135 --> 01:02:53,135
ของผู้เล

944
01:02:53,136 --> 01:02:57,136
กำหนดค่าให้ผู้เล่นเริ่มที่ 1 ก็คือ

945
01:02:57,137 --> 01:03:01,137
ผู้เล่นคนแรกก็คือ Player 1

946
01:03:01,138 --> 01:03:05,138
ตัวแปรก่อนนะคะ เพื่อจะรู้ว่า player เรา

947
01:03:05,139 --> 01:03:09,139
เป็น player แบบไหน

948
01:03:09,140 --> 01:03:13,140
เราก็จะไปที่ตำแหน่งการประกาศตัวแปร ก็คือ

949
01:03:13,141 --> 01:03:17,141
ที่อยู่ต่อจากตรงนี้ Pos

950
01:03:17,142 --> 01:03:21,142
จะประกาศตัวแปร player สร้าง

951
01:03:21,143 --> 01:03:25,143
ตัวแปรขึ้นมาเอง

952
01:03:25,144 --> 01:03:29,144
p-l-a-y-e-r player

953
01:03:29,146 --> 01:03:33,146
แล้วก็ตามด้วยเครื่องหมายเท่ากับ

954
01:03:33,147 --> 01:03:37,147
ที่เราให้ ก็คือคนที่ 1 ก่อน เริ่มที่คนที่ 1

955
01:03:37,148 --> 01:03:41,148

956
01:03:41,149 --> 01:03:45,149
เมื่อประกาศตัวแปรเสร็จ

957
01:03:45,151 --> 01:03:49,151
ทีนี้ตรงตำแหน่งนี้เราก็มาเรียกใช้

958
01:03:49,152 --> 01:03:53,152
ตัวแปรนั้นได้เลย เพราะสิ่งที่เราต้องใช้เราจะต้องเ

959
01:03:53,152 --> 01:03:57,152
เราจะเลือก player ที่ mark นี่

960
01:03:57,153 --> 01:04:01,153
เพื่อเช็กว่าไอ้ที่ mark นี่

961
01:04:01,154 --> 01:04:05,154
เป็น Player คนที่ 1 หรือคนที่ 2

962
01:04:05,155 --> 01:04:09,155
= ที่เราใส่ไว้เป็น 0 น่ะ

963
01:04:09,156 --> 01:04:13,156
แก้เป็น แล้วพิมพ์ p เลือก

964
01:04:13,157 --> 01:04:17,157
player statement ของเราลงไป

965
01:04:17,158 --> 01:04:21,158
อย่าลืมเอา Colon

966
01:04:21,159 --> 01:04:25,159
จะไม่เว้นวรรคอย่างนี้นะคะ

967
01:04:25,162 --> 01:04:29,162
เราจะได้

968
01:04:29,163 --> 01:04:33,163
ตัว mark สำหรับเช็กผู้เล่นคนที่ 1 คนที่ 2 แล้ว

969
01:04:33,164 --> 01:04:37,164
ถ้าผู้เล่น Mark นี่อะไรจะเกิด

970
01:04:37,165 --> 01:04:41,165
ขึ้นนะคะ เดี๋ยวจะลอง Run ดูแล้ว

971
01:04:41,167 --> 01:04:45,167
ใกล้แล้ว

972
01:04:45,167 --> 01:04:49,167
เนื่องจาก

973
01:04:49,168 --> 01:04:53,168
ตรงนี้มีต่อ เมื่อมันเช็ก Player นี่

974
01:04:53,169 --> 01:04:57,169
เห็นไหมคะ player

975
01:04:57,170 --> 01:05:01,170
*=-1

976
01:05:01,172 --> 01:05:05,172
มันจะต้องไปเช็กก่อนว่า player ที่เข้ามาเป็น player ที่เท่าไร

977
01:05:05,173 --> 01:05:09,173
เพราะฉะนั้น พอมี Statement นี้

978
01:05:09,174 --> 01:05:13,174
statement นี้มีเงื่อนไข

979
01:05:13,175 --> 01:05:17,175
เราจะ

980
01:05:17,176 --> 01:05:21,176
ลบ : ออก แล้วก็พิมพ์

981
01:05:21,177 --> 01:05:25,177
การเช็กค่าครั้งต่อไปเข้ามา

982
01:05:25,178 --> 01:05:29,178
player พิมพ์ P ปุ๊บ เลือก Player

983
01:05:29,179 --> 01:05:33,179
ใส่เครื่องหมาย

984
01:05:33,180 --> 01:05:37,180
* หรือคูณ = 1

985
01:05:37,181 --> 01:05:41,181
เห็นไหมคะ

986
01:05:41,182 --> 01:05:45,182
ก็คือมันจะทำการคำนวณว่า

987
01:05:45,183 --> 01:05:49,183
player คนที่เท่าไร

988
01:05:49,185 --> 01:05:53,185

989
01:05:53,186 --> 01:05:57,186
1-1 ก็คือ 0

990
01:05:57,189 --> 01:06:01,189
ค่าเริ่มต้น คือ 1 อย่าไปสนใจ

991
01:06:01,190 --> 01:06:05,190
ให้เครื่องมันคำนวณไป เ

992
01:06:05,192 --> 01:06:09,192
เราไม่ต้องไปสนใจมัน โอ.เค. ไหมคะ อธิบายแล้วจะงงเข้าไปใหญ่

993
01:06:09,193 --> 01:06:13,193
เพราะฉะนั้นตรงนี้คือ

994
01:06:13,194 --> 01:06:17,194
การคำนวณของมันน่ะ

995
01:06:17,195 --> 01:06:21,195

996
01:06:21,196 --> 01:06:25,196
เสร็จแล้ว

997
01:06:25,198 --> 01:06:29,198
เราจะไปลบคำสั่ง print marker ที่เรา

998
01:06:29,199 --> 01:06:33,199
Printmarkers ของเรา

999
01:06:33,200 --> 01:06:37,200
ออก เพราะว่าเราจะไม่ใช้ตัวนี้แล้ว

1000
01:06:37,201 --> 01:06:41,201
เพราะเดี๋ยวเราจะสร้าง markers ที่เป็น... เพราะคราวที่แล้ว

1001
01:06:41,202 --> 01:06:45,202
เมาส์มันเลื่อนไปแล้วมีตำแหน่ง marker

1002
01:06:45,211 --> 01:06:49,211
เพราะขั้นต่อไปเราจะสร้าง markers ที่เป็นตัว X กับ

1003
01:06:49,212 --> 01:06:53,212
ตัว O ขึ้นมาเพราะฉะนั้น เราจะลบตัวนี้ออก

1004
01:06:53,214 --> 01:06:57,214
เราก็จะไปที่คำสั่ง print_markers แล้วลบคำสั่งมันออกนะคะ

1005
01:06:57,216 --> 01:07:01,216
มันก็อยู่นี่

1006
01:07:01,217 --> 01:07:05,217
อยู่ตรงเงื่อนไขนี้

1007
01:07:05,218 --> 01:07:09,218
ให้เด็ก ๆ ไปที่ตำแหน่ง print_markers แล้ว

1008
01:07:09,221 --> 01:07:13,221
ลบเลย กดทำแถบ

1009
01:07:13,222 --> 01:07:17,222
ครอบทั้งหมด แล้วก็

1010
01:07:17,224 --> 01:07:21,224
Delete ได้เลย ลบออกได้เลย เราไม่ใช้แล้วก็จะลบ

1011
01:07:21,225 --> 01:07:25,225
ออก

1012
01:07:25,227 --> 01:07:29,227
โอ.เค. ไหม ลบหรือยัง หาเจอหรือเปล่า

1013
01:07:29,228 --> 01:07:33,228
ถ้าหาไม่เจอ มันจะมีวิธี

1014
01:07:33,229 --> 01:07:37,229
ให้ค้นหาอยู่ที่แถบเมนูที่ว่า File

1015
01:07:37,230 --> 01:07:41,230
เห็นหรือเปล่าคะ แล้วกดคำว่า "Find"

1016
01:07:41,231 --> 01:07:45,231
มันจะมีให้เราหาคำว่า "mark" เดี๋ยว...

1017
01:07:45,232 --> 01:07:49,232

1018
01:07:49,233 --> 01:07:53,233

1019
01:07:53,234 --> 01:07:57,234
ดูนะคะ เราจะหาคำว่า "print"

1020
01:07:57,235 --> 01:08:01,235

1021
01:08:01,236 --> 01:08:05,236

1022
01:08:05,238 --> 01:08:09,238
เห็นไหมคะ Print_markers นี่

1023
01:08:09,239 --> 01:08:13,239
ถ้าใช้ Find นี่มันจะไปตำแหน่งนั้นให้

1024
01:08:13,241 --> 01:08:17,241
พอเราเจอแล้วเราก็ลบออกได้เลย ใช้วิธีค้นหาได้

1025
01:08:17,242 --> 01:08:21,242
ใน Coding บางทีให้นึกถึง

1026
01:08:21,244 --> 01:08:25,244
เวลา Code จริง ๆ นี่ยังเยอะกว่านี้นะ อันนี้

1027
01:08:25,245 --> 01:08:29,245
ยังถือว่าแค่ 100 กว่าบรรทัด ถือว่าน้อย

1028
01:08:29,246 --> 01:08:33,246
เพราะฉะนั้น ก็ใช้ Menu file ให้เป็นประโยชน์

1029
01:08:33,246 --> 01:08:37,246
นะคะ ช่วยค้นหาคำ

1030
01:08:37,247 --> 01:08:41,247
ในเครื่องนี้ได้นะคะ เพราะฉะนั้น

1031
01:08:41,248 --> 01:08:45,248
ถ้าจะไปตำแหน่งไหนใช้ตัวนี้ช่วยก็ได้

1032
01:08:45,249 --> 01:08:49,249
ถ้าไม่ใช้ก็ปิด เราลบ

1033
01:08:49,250 --> 01:08:53,250
print marker ไปแล้ว สิ่งที่เราจะทำต่อไป

1034
01:08:53,252 --> 01:08:57,252
ก็คือเราจะมาสร้าง ขอโทษ

1035
01:08:57,253 --> 01:09:01,253
สร้างฟังก์ชัน draw_markers

1036
01:09:01,255 --> 01:09:05,255
จะวาดตัว markers เรานั่นเองนะคะ

1037
01:09:05,256 --> 01:09:09,256
มาดูกัน ฟังก์ชันนี้ มันก็อยู่

1038
01:09:09,257 --> 01:09:13,257
ตำแหน่งที่เรา ตำแหน่งที่เราลบ print_markers

1039
01:09:13,258 --> 01:09:17,258
นะคะ อยู่ตำแหน่งนี้เลย Enter ไป 2 ที

1040
01:09:17,259 --> 01:09:21,259
แล้วก็ใส่ Hashtag (#) เข้าไป แล้วก็บอกว่าเราจะสร้างอะไรคะ

1041
01:09:21,260 --> 01:09:25,260

1042
01:09:25,261 --> 01:09:29,261
แล้วก็บอกว่าเราจะสร้างอะไรคะ

1043
01:09:29,262 --> 01:09:33,262

1044
01:09:33,263 --> 01:09:37,263

1045
01:09:37,265 --> 01:09:41,265

1046
01:09:41,266 --> 01:09:45,266

1047
01:09:45,269 --> 01:09:49,269
บอกไปเลยว่าเราจะ

1048
01:09:49,271 --> 01:09:53,271
สร้างฟังก์ชันที่วาดตัว X หรือตัว O ของเราเองนะคะ

1049
01:09:53,272 --> 01:09:57,272
คำสั่ง

1050
01:09:57,274 --> 01:10:01,274
ในการ สร้าง function ก็คือ De

1051
01:10:01,275 --> 01:10:05,275
ใช่ไหม เลือก def

1052
01:10:05,276 --> 01:10:09,276
แล้วก็ตามด้วยชื่อฟังก์ชันที่เราจะสร้าง ก็คือ d-r-a-w

1053
01:10:09,277 --> 01:10:13,277
Draw ตามด้วย Underscoll

1054
01:10:13,279 --> 01:10:17,279
_m-

1055
01:10:17,280 --> 01:10:21,280
a-r-

1056
01:10:21,281 --> 01:10:25,281
k-e-r-s draw_markers

1057
01:10:25,282 --> 01:10:29,282
เพราะมีตัว X กับตัว O ก็เลยใส่ S เข้าไป

1058
01:10:29,284 --> 01:10:33,241
เข้าไปนะคะ

1059
01:10:33,286 --> 01:10:37,286

1060
01:10:37,287 --> 01:10:41,287
ตามด้วยการระบุตำแหน่งของ markers ของเราเอง

1061
01:10:41,289 --> 01:10:45,289
นะคะ เพราะเมื่อจะสร้าง

1062
01:10:45,289 --> 01:10:49,289
มันก็ต้องอบกตำแหน่งที่มันจะสร้างใช่ไหม pas

1063
01:10:49,290 --> 01:10:53,290
ลบออกแล้วก็ใส่ x นะคะ

1064
01:10:53,291 --> 01:10:57,291
ตำแหน่งแรก คือ x x statement มันหามาให้แล้ว

1065
01:10:57,293 --> 01:11:01,293
เท่ากับ

1066
01:11:01,293 --> 01:11:05,293
= x หรือ y นะงง

1067
01:11:05,294 --> 01:11:09,294
x pos เรา

1068
01:11:09,295 --> 01:11:13,295
ใส่ไป x pos นี่ เอาใหม่ ๆ

1069
01:11:13,296 --> 01:11:17,296
ตำแหน่งที่เราประกาศ x_pos

1070
01:11:17,298 --> 01:11:21,298
pos หายไปไหน

1071
01:11:21,299 --> 01:11:25,299

1072
01:11:25,299 --> 01:11:29,299
อ๋อ x_pos เรายังไม่ได้ใส่ใช่ไหม

1073
01:11:29,300 --> 01:11:33,300
x_pos=

1074
01:11:33,302 --> 01:11:37,302
ค่าเริ่มต้น คือ

1075
01:11:37,303 --> 01:11:41,303
0 เสมอ เห็นไหมคะ ตำแหน่ง

1076
01:11:41,304 --> 01:11:45,304
ของแกน x เริ่มที่ 0 เสมอ

1077
01:11:45,305 --> 01:11:49,305

1078
01:11:49,306 --> 01:11:53,306
เสร็จแล้สก็ทำ loop

1079
01:11:53,307 --> 01:11:57,307
for x in markers

1080
01:11:57,308 --> 01:12:01,308
สำหรับ x ใน markers นี่นะคะ

1081
01:12:01,310 --> 01:12:05,310
นะคะ

1082
01:12:05,311 --> 01:12:09,311

1083
01:12:09,312 --> 01:12:13,312
พิมพ์ for

1084
01:12:13,313 --> 01:12:17,313
เลือก For Loop กด Enter

1085
01:12:17,314 --> 01:12:21,314
เลือก X ตามเขาเลย แต่

1086
01:12:21,315 --> 01:12:25,315
in เปลี่ยนเป็น...

1087
01:12:25,315 --> 01:12:29,315
อันนี้เปลี่ยนจาก x range

1088
01:12:29,317 --> 01:12:33,317
เป็น markers ของเรานะคะ เลือก markers statement ของเรา

1089
01:12:33,318 --> 01:12:37,318
แล้วก็ตามด้วยอไร

1090
01:12:37,319 --> 01:12:41,319
เครื่องหมาย colon

1091
01:12:41,320 --> 01:12:45,320
นะคะ เพราะอะไร เพราะ markers

1092
01:12:45,321 --> 01:12:49,321
ที่เราทำไว้ มันเป็นการระบุตำแหน่ง

1093
01:12:49,322 --> 01:12:53,322
หรือค่าไว้แล้ว ก็คือเป็นค่าว่าง

1094
01:12:53,323 --> 01:12:57,323
เราเรียกใช้มันมา

1095
01:12:57,324 --> 01:13:01,324
ก็คือเมื่อ

1096
01:13:01,324 --> 01:13:05,324
สำหรับแกน x นี่ ใน markers นี่นะคะ

1097
01:13:05,325 --> 01:13:09,325
สิ่งที่เราจะกำหนดต่อไปเงื่อนไข

1098
01:13:09,326 --> 01:13:13,326
นี่ใน loop นี่ มันต้อง

1099
01:13:13,327 --> 01:13:17,327
ตาม loop เมื่อเช็กแกน x แล้วก็ต้อง

1100
01:13:17,328 --> 01:13:21,328
เช็กแกน y เห็นไหมคะ

1101
01:13:21,329 --> 01:13:25,329
Y pos

1102
01:13:25,331 --> 01:13:29,331
ช่องตารางที่เคยบอกน่ะ มันต้องเริ่มจาก

1103
01:13:29,332 --> 01:13:33,332
00 x0 y0 เสมอนะคะ

1104
01:13:33,333 --> 01:13:37,333
เพราะฉะนั้น y_pos ของเราก็ = 0 เหมือนกัน

1105
01:13:37,334 --> 01:13:41,334

1106
01:13:41,334 --> 01:13:45,334
Y_pos ตัวแปรนี้

1107
01:13:45,335 --> 01:13:49,335
ตัวแปร

1108
01:13:49,336 --> 01:13:53,336
มีค่าเท่ากับ 0

1109
01:13:53,338 --> 01:13:57,338
นะคะ

1110
01:13:57,338 --> 01:14:01,338
เด็ก ๆ

1111
01:14:01,339 --> 01:14:05,339
ดูตำแหน่ง tab ดี ๆ ด้วยนะ

1112
01:14:05,341 --> 01:14:09,341
นี่เห็นไหม แถบมันจะเยี้องไป

1113
01:14:09,342 --> 01:14:13,342
ไปนะคะ มันจะไม่อยู่ตรงกันนะ

1114
01:14:13,344 --> 01:14:17,344
เพราะมันเป็น loop ในแถว

1115
01:14:17,345 --> 01:14:21,345
x คือแถวใช่ไหม ต่อไปเราจะทำ loop ใน y

1116
01:14:21,347 --> 01:14:25,347
for y in x:

1117
01:14:25,347 --> 01:14:29,347
ก็คือคอลัมน์ตามแถวไปที่

1118
01:14:29,348 --> 01:14:33,348
ไปตามนี่นึกออกนะ นี่คือแถว

1119
01:14:33,349 --> 01:14:37,349
มันจะเช็กไปตามแถวก่อน แล้วค่อย

1120
01:14:37,350 --> 01:14:41,350
คอลัมน์ในแถวที่ 1 แถวที่ 2 อย่างนี้ไล่ไป

1121
01:14:41,351 --> 01:14:45,351
คอลัมน์นี้แถวนี้ ๆ

1122
01:14:45,352 --> 01:14:49,352
ไปตามคอลัมภ์แถว

1123
01:14:49,353 --> 01:14:53,353

1124
01:14:53,354 --> 01:14:57,354
ก็ใช้ for loop เหมือนเดิม

1125
01:14:57,355 --> 01:15:01,355
for loop เปลี่ยนจาก x เป็น

1126
01:15:01,356 --> 01:15:05,356
y in อะไรคะ

1127
01:15:05,358 --> 01:15:09,358
in x

1128
01:15:09,359 --> 01:15:13,359
เอาค่าออก เขากำหนดค่า x แล้ว

1129
01:15:13,361 --> 01:15:17,361
นะ ว่าเป็นเท่าไร

1130
01:15:17,362 --> 01:15:21,362
เห็นไหมคะ พอ y in x

1131
01:15:21,363 --> 01:15:25,363
ทีนี้มาเช็ก มาเช็ก loop แล้ว

1132
01:15:25,364 --> 01:15:29,364
เริ่มจะเช็ก loop แล้วว่าค่า y = 1

1133
01:15:29,366 --> 01:15:33,366
เกิดมาร์กลงไปในตำแหน่งนี้ปุ๊บ

1134
01:15:33,367 --> 01:15:37,367
นะคะ สมมต ๆ

1135
01:15:37,368 --> 01:15:41,368
ก็คือให้เงื่อนไข

1136
01:15:41,370 --> 01:15:45,370
if สร้าง if condition

1137
01:15:45,371 --> 01:15:49,371
ขึ้นมา if y เท่ากับ

1138
01:15:49,372 --> 01:15:53,372
=1

1139
01:15:53,373 --> 01:15:57,373
เราจะมีเงื่อนไขเพื่อตรวจสอบแล้ว

1140
01:15:57,375 --> 01:16:01,375
เมื่อ y = 1 อะไรจะเกิดขึ้น สิ่งที่จะ

1141
01:16:01,376 --> 01:16:05,376
ทำต่อมา เราจะไปกำหนดค่าสี

1142
01:16:05,377 --> 01:16:09,377
สีที่เราจะใช้ ก็คือสีเขียวกับสีแดง

1143
01:16:09,378 --> 01:16:13,378
โดยที่สีเขียวจะไว้สร้าง

1144
01:16:13,379 --> 01:16:17,379
ตัว X นะคะ

1145
01:16:17,380 --> 01:16:21,380
สีแดงจะไว้สร้างตัว O green จะสร้าง x

1146
01:16:21,381 --> 01:16:25,381
Red จะสร้าง O ขึ้นมา ทีนี้ไปตำแหน่งที่

1147
01:16:25,382 --> 01:16:29,382
ประกาศตัวแปร เพื่อประกาศตัวแปร

1148
01:16:29,383 --> 01:16:33,383
ให้กับสี เห็นไหมคะ สีเขียว สีแดงของเรานั่นเอง

1149
01:16:33,384 --> 01:16:37,384

1150
01:16:37,384 --> 01:16:41,384

1151
01:16:41,385 --> 01:16:45,385

1152
01:16:45,387 --> 01:16:49,387

1153
01:16:49,388 --> 01:16:53,388
มันเป็นตัวแปรนะคะ พิมพ์เอาเอง

1154
01:16:53,389 --> 01:16:57,389
ใส่เครื่องหมาย = ใส่ค่า

1155
01:16:57,391 --> 01:17:01,391
ค่าสีนี้มันจะใส่ตาม

1156
01:17:01,392 --> 01:17:05,392
แนวไอ้นี่ ตอนที่ Run อยู่ไหนนะ

1157
01:17:05,392 --> 01:17:09,392

1158
01:17:09,393 --> 01:17:13,393
แนว

1159
01:17:13,394 --> 01:17:17,394
ไปตามแนวน่ะ แนว

1160
01:17:17,395 --> 01:17:21,395
เส้นที่เราสร้างนี่ล่ะ แนวตารางที่เราสร้างนี่ล่ะนะคะ

1161
01:17:21,397 --> 01:17:25,397
ก็คือเริ่มที่ 0

1162
01:17:25,399 --> 01:17:29,399
0 แล้วก็

1163
01:17:29,400 --> 01:17:33,400
เต็ม... ไม่เต็มพื้นที่มาก 255

1164
01:17:33,401 --> 01:17:37,401
ให้มันใส่ค่าอยู่ เพราะพื้นที่ของ

1165
01:17:37,402 --> 01:17:41,402
Screen เราคือ 300

1166
01:17:41,403 --> 01:17:45,403
เต็ม 300 อยู่แล้วนะคะ แล้วก็ 0

1167
01:17:45,404 --> 01:17:49,404
จะมี 2 ค่า

1168
01:17:49,405 --> 01:17:53,405
ต่อไป สีแดง red

1169
01:17:53,406 --> 01:17:57,406
Red= ประกาศตัวแปร Red

1170
01:17:57,407 --> 01:18:01,407
red = ค่าสีจำสลับนะ

1171
01:18:01,408 --> 01:18:05,408
เห็นไหม สีเขียว 0/550

1172
01:18:05,409 --> 01:18:09,409
สีแดง 255, 0, 0

1173
01:18:09,410 --> 01:18:13,410

1174
01:18:13,411 --> 01:18:17,411
วงเล็บนะคะ (

1175
01:18:17,412 --> 01:18:21,412

1176
01:18:21,415 --> 01:18:25,415
255

1177
01:18:25,416 --> 01:18:29,416
แล้วก็ 2550

1178
01:18:29,417 --> 01:18:33,417
เพราะอะไร เพราะมันมี 3 คอลัมภ์

1179
01:18:33,418 --> 01:18:37,418
3 แถว ค่ามันก็เลยไปตามคอลัมน์ 3 แถวนั่นล่ะ

1180
01:18:37,419 --> 01:18:41,419
ที่ขึ้นนั่นล่ะ

1181
01:18:41,419 --> 01:18:45,419

1182
01:18:45,421 --> 01:18:49,421

1183
01:18:49,423 --> 01:18:53,423
เห็นไหมคะ ได้ตัวแปรสำหรับ

1184
01:18:53,424 --> 01:18:57,424
สีเขียวสีแดงแล้ว สิ่งต่อไปที่เราจะทำ

1185
01:18:57,424 --> 01:19:01,424
การวาดตัว X

1186
01:19:01,425 --> 01:19:05,425
นะคะ

1187
01:19:05,426 --> 01:19:09,426
คำสั่งที่ใช้วาด ก็คือ pygamne

1188
01:19:09,427 --> 01:19:13,427
.draw.line ก็คือคำสั่งวาดเส้น

1189
01:19:13,429 --> 01:19:17,429
มาดูรูปแบบ

1190
01:19:17,430 --> 01:19:21,430
รูปแบบ

1191
01:19:21,431 --> 01:19:25,431

1192
01:19:25,432 --> 01:19:29,432
ประกาศสีก็ใช้แล้ว

1193
01:19:29,433 --> 01:19:33,433
ตรงนี้นะคะ

1194
01:19:33,436 --> 01:19:37,436
ตรง pos เรา

1195
01:19:37,437 --> 01:19:41,437
ลบ

1196
01:19:41,438 --> 01:19:45,438
ว่า py... Mod

1197
01:19:45,441 --> 01:19:49,441
.draw module

1198
01:19:49,443 --> 01:19:53,443
d ปุ๊บ เลือก modune

1199
01:19:53,444 --> 01:19:57,444
. ฟังก์ชันที่ชื่อว่า

1200
01:19:57,445 --> 01:20:01,445
line แบบไม่มี S นะ

1201
01:20:01,446 --> 01:20:05,446
นี่ มันมี 2 ลาย

1202
01:20:05,447 --> 01:20:09,447
line ที่เราใช้ line ตัวแรก

1203
01:20:09,448 --> 01:20:13,448

1204
01:20:13,449 --> 01:20:17,449
เราจะระบุค่าใน line ระบุค่าเส้น

1205
01:20:17,451 --> 01:20:21,451
นั่นเองนะคะ ดูนะคะ ค่าเส้นที่จะระบุ

1206
01:20:21,452 --> 01:20:25,452
เราต้องบอกตำแหน่งก่อนว่าในหน้าจอ

1207
01:20:25,453 --> 01:20:29,453
นี้ ในหน้าจอนี้เห็นไหม

1208
01:20:29,454 --> 01:20:33,454
เราต้องเรียกหน้าจอนี้ขึ้นมาด้วยนะคะ เพราะมันจะได้วาดลงไปถูกว่า

1209
01:20:33,454 --> 01:20:37,454
มันจะวาดลงตรงไหน ก็เลยเรียก Screen

1210
01:20:37,455 --> 01:20:41,455
line นะคะ

1211
01:20:41,457 --> 01:20:45,457
ตามด้วย screen ก่อน

1212
01:20:45,459 --> 01:20:49,459

1213
01:20:49,461 --> 01:20:53,461
เห็นไหมคะ เลือก Screen Statement

1214
01:20:53,462 --> 01:20:57,462
แล้วก็ตามด้วย

1215
01:20:57,463 --> 01:21:01,463
Comma (,๗

1216
01:21:01,464 --> 01:21:05,464
วรรค แล้วก็ตามด้วยสีที่เราใช้วาด ก็คือ

1217
01:21:05,466 --> 01:21:09,466
Green Green ของเราก็คือ Green Statement

1218
01:21:09,467 --> 01:21:13,467
นั่นเอง ก็คือ

1219
01:21:13,468 --> 01:21:17,468
วาดตรงไหน ระบุพื้นที่เห็นไหมคะ

1220
01:21:17,469 --> 01:21:21,469
ที่เราทำไว้ นี่ ๆ ๆ นี่

1221
01:21:21,471 --> 01:21:25,471
นี่ Screen=

1222
01:21:25,472 --> 01:21:29,472
ก็คือตัวนี้ที่กำหนดจากตัวนี้ขึ้นมา

1223
01:21:29,473 --> 01:21:33,473
นะคะ ก็ไปเรียกใช้มันนะคะ

1224
01:21:33,474 --> 01:21:37,474
แล้วก็ตามด้วยสี ตัวแปรสี

1225
01:21:37,475 --> 01:21:41,475
เสร็จแล้วตามด้วยอะไร ตามด้วยตำแหน่ง

1226
01:21:41,476 --> 01:21:45,476
เห็นไหมคะ ตำแหน่งเกน x แกน y เห็นไหมคะ

1227
01:21:45,477 --> 01:21:49,477
ตำแหน่งแรก

1228
01:21:49,478 --> 01:21:53,478
ดู เพราะเวลาตัวนี้มันไล่มัน

1229
01:21:53,481 --> 01:21:57,481
ไล่จาก

1230
01:21:57,482 --> 01:22:01,482
ใส่ colon

1231
01:22:01,483 --> 01:22:05,483
ใส่ Comma (,) แล้วก็ตามด้วยเครื่องหมายวงเล็บ ZX

1232
01:22:05,484 --> 01:22:09,484
ใส่วงเล็บก่อนนะคะ

1233
01:22:09,485 --> 01:22:13,485
เห็นไหมคะ เพราะในนี้ตำแหน่ง

1234
01:22:13,485 --> 01:22:17,485
x_pos เลือกตำแหน่ง x_pos นะคะ

1235
01:22:17,486 --> 01:22:21,486
ตำแหน่งของแกน X

1236
01:22:21,488 --> 01:22:25,488
ตำแหน่งของแกน x ของเราจะเริ่มที่...

1237
01:22:25,488 --> 01:22:29,488

1238
01:22:29,490 --> 01:22:33,490
คูณ 100 + 15

1239
01:22:33,491 --> 01:22:37,491
เลยก็ไม่ได้ มันต้องไปทำการคำนวณก่อน

1240
01:22:37,492 --> 01:22:41,492
เพื่อลดค่าความคลาดเคลื่อนต่าง ๆ ของมันนะคะ

1241
01:22:41,493 --> 01:22:45,493
ตำแหน่งนี้ก็คือ ตำแหน่งของ X pos

1242
01:22:45,494 --> 01:22:49,494
เราเริ่มที่ 0 ให้ X_pos ไป *

1243
01:22:49,495 --> 01:22:53,495
100

1244
01:22:53,496 --> 01:22:57,496
วรรคนะคะ กด spacebar

1245
01:22:57,497 --> 01:23:01,497
แล้วก็กด 100 แล้วก็กด Space Bar

1246
01:23:01,499 --> 01:23:05,499
อีกหนึ่งครั้ง วรรคแล้วก็กด +

1247
01:23:05,500 --> 01:23:09,500
แล้วก็วรรคตามด้วย 15

1248
01:23:09,501 --> 01:23:13,501

1249
01:23:13,502 --> 01:23:17,502
เดี๋ยวให้ดูตำแหน่ง

1250
01:23:17,503 --> 01:23:21,503
ให้ดูตำแหน่งอีกทีหนึ่ง

1251
01:23:21,505 --> 01:23:25,505

1252
01:23:25,506 --> 01:23:29,506
ให้นึกถึง เห็นไหม ตำแหน่ง

1253
01:23:29,508 --> 01:23:33,508
Y 0 X เริ่มจาก

1254
01:23:33,510 --> 01:23:37,510
คือ แกนนี้ คือ แกนนอน x0 y0

1255
01:23:37,511 --> 01:23:41,511
เพราะฉะนั้น x เริ่มที่นี่

1256
01:23:41,511 --> 01:23:45,511
x_pos =

1257
01:23:45,512 --> 01:23:49,512
X pos=

1258
01:23:49,513 --> 01:23:53,513
x_pos คือ x_pos * 100

1259
01:23:53,527 --> 01:23:57,527
/15 ก็คือมันจะได้ 115 นั่นเอง

1260
01:23:57,528 --> 01:24:01,528
จะเริ่มจากจุดนี้ 115 ใช่ไหมคะ x_pos

1261
01:24:01,529 --> 01:24:05,529
ทีนี้มันจะได้แค่จุด แต่ถ้าลากเส้นมันต้อง

1262
01:24:05,530 --> 01:24:09,530
ต้องเพิ่มตำแหน่งของแกน y

1263
01:24:09,531 --> 01:24:13,531
ด้วย เมื่อบอก x ไปแล้วมันก็ต้องมาบ

1264
01:24:13,532 --> 01:24:17,532
บอก y_pos ถูกไหมคะ

1265
01:24:17,533 --> 01:24:21,533
ก็พิมพ์ Y แล้วเลือก

1266
01:24:21,534 --> 01:24:25,534
y_pos ก็เป็น

1267
01:24:25,536 --> 01:24:29,536
คุณเหมือนกัน คูณ ใส่ *

1268
01:24:29,537 --> 01:24:33,537
spacebar แล้วก็ 100

1269
01:24:33,538 --> 01:24:37,538
แล้วก็ + Space Bar

1270
01:24:37,538 --> 01:24:41,538
+ 15 ตำแหน่งเดียวกัน

1271
01:24:41,539 --> 01:24:45,539
ก็คือเริ่มบรรทัดที่

1272
01:24:45,540 --> 01:24:49,540
115 คอลัมน์ที่ 115

1273
01:24:49,542 --> 01:24:53,542

1274
01:24:53,543 --> 01:24:57,543
นี่ดูตำแหน่งนะคะ เริ่ม

1275
01:24:57,544 --> 01:25:01,544
จากจุดนี้ เสร็จแล้ว

1276
01:25:01,546 --> 01:25:05,546
ให้มันลากมาจากนี้ เพราะฉะนั้น มันก็ต้องเพิ่ม...

1277
01:25:05,547 --> 01:25:09,547
ก็คือ

1278
01:25:09,547 --> 01:25:13,547

1279
01:25:13,549 --> 01:25:17,549
วงเล็บแรกของเส้น

1280
01:25:17,550 --> 01:25:21,550
ของเส้นใช่ไหมคะ เพราะฉะนั้น เราจะเพิ่มอีก

1281
01:25:21,553 --> 01:25:25,553
วงเล็บที่ 2 เห็ฯไหมคะ

1282
01:25:25,555 --> 01:25:29,555
ก็คือจุดสิ้นสุดของเส้น

1283
01:25:29,557 --> 01:25:33,557
รูปแบบคำสั่ง line

1284
01:25:33,557 --> 01:25:37,557
จะบอก... อันนี้วงเล็บแรกนี่คือจุดเริ่ม

1285
01:25:37,559 --> 01:25:41,559
เพราะฉะนั้นใส่

1286
01:25:41,560 --> 01:25:45,560
colon แล้วก็ตามด้วย

1287
01:25:45,561 --> 01:25:49,561
วงเล็บที่ 2 ก็คือจะบอก

1288
01:25:49,562 --> 01:25:53,562
ตำแหน่งของจุดสิ้นสุดของเส้น ก็เหมือนกัน

1289
01:25:53,563 --> 01:25:57,563
ก็ต้องเริ่มที่ X pos

1290
01:25:57,563 --> 01:26:01,563
นะคะ สังเกตที่

1291
01:26:01,566 --> 01:26:05,566
ตำแหน่งที่ 2 ดี ๆ เห็นไหม

1292
01:26:05,567 --> 01:26:09,567
อยู่ที่ 100 เท่าไร ไม่ถึง 200

1293
01:26:09,567 --> 01:26:13,567
ก็เลยบอกว่า อยู่ที่ 185

1294
01:26:13,568 --> 01:26:17,568
เพราะไม่ให้ขีดเต็มจอ ถ้าขีดเต็มจอ

1295
01:26:17,569 --> 01:26:21,569
ก็คือ 100-200

1296
01:26:21,570 --> 01:26:25,570
ใช่ไหมคะ นึกออกนะ

1297
01:26:25,571 --> 01:26:29,571
ถ้าขีดเต็ม ถ้าไอ้นี่เลื่อนไปเต็ม

1298
01:26:29,572 --> 01:26:33,572
ชิดช่องเลย แต่เราไม่เอาเต็มช่อง

1299
01:26:33,573 --> 01:26:37,573
เว้นพื้นที่ไว้ให้มัน 15 ช่องไฟ

1300
01:26:37,574 --> 01:26:41,574
ก็คือ 85 นั่นเองนะคะ

1301
01:26:41,575 --> 01:26:45,575
เพราะฉะนั้นตรงตำแหน่ง

1302
01:26:45,576 --> 01:26:49,576
สิ้นสุดจะเป็น x_pos=

1303
01:26:49,578 --> 01:26:53,578
* * sp

1304
01:26:53,580 --> 01:26:57,580
spacebar 100 spacebar

1305
01:26:57,583 --> 01:27:01,583
+85

1306
01:27:01,585 --> 01:27:05,585

1307
01:27:05,587 --> 01:27:09,587
เพราะฉะนั้น

1308
01:27:09,588 --> 01:27:13,588
y ตำแหน่ง y_pos ก็ต้องเป็น

1309
01:27:13,588 --> 01:27:17,588
Star 100+85 เหมือนกัน

1310
01:27:17,590 --> 01:27:21,590
นะคะ

1311
01:27:21,595 --> 01:27:25,595

1312
01:27:25,597 --> 01:27:29,597

1313
01:27:29,599 --> 01:27:33,599

1314
01:27:33,601 --> 01:27:37,601
ทีนี้

1315
01:27:37,603 --> 01:27:41,603
ที่ใส่ต่อจากตัวนี้

1316
01:27:41,605 --> 01:27:45,605
line y line width

1317
01:27:45,606 --> 01:27:49,606
เราเคยประกาศความกว้างของเส้นไปแล้ว

1318
01:27:49,607 --> 01:27:53,607
ไว้ไปแล้วตอนต้นเห็นไหมคะ ให้มันกว้าง

1319
01:27:53,608 --> 01:27:57,608
5 นะคะ

1320
01:27:57,609 --> 01:28:01,609
เพราะฉะนั้น คือ เรากลัวเส้นที่วาดออกมา

1321
01:28:01,612 --> 01:28:05,612
เล็กไง เพราะเราก็เรียกใช้มันได้เลย เพราะ

1322
01:28:05,613 --> 01:28:09,613
เรามีแล้ว เราก็ตามด้วยความกว้างของเส้น

1323
01:28:09,614 --> 01:28:13,614
สร้างของเส้น ก็คือพิมพ์

1324
01:28:13,614 --> 01:28:17,614
line_width stetment เห็นไหม

1325
01:28:17,615 --> 01:28:21,615
ตัวแปรที่เราประกาศใช้ไปแล้ว เลือกมา

1326
01:28:21,617 --> 01:28:25,617
ได้เลย นั่นคือ เส้นที่ 1

1327
01:28:25,619 --> 01:28:29,619
ใช่ไหมคะ เส้นที่ 1 เพิ่งได้เส้นเดียว

1328
01:28:29,620 --> 01:28:33,620
เพราะฉะนั้น เส้นที่ 2 Copy เลย

1329
01:28:33,621 --> 01:28:37,621
แล้วค่อยมาเปลี่ยนค่าเอา

1330
01:28:37,621 --> 01:28:41,621
ไปให้สุดนะไปจนถึง line y เลยนะคะ

1331
01:28:41,623 --> 01:28:45,623
copy เลยนะคะ copy

1332
01:28:45,624 --> 01:28:49,624
ตั้งแต่ pygame ไป Copy ได้เลย แล้วก็กดวาง

1333
01:28:49,625 --> 01:28:53,625

1334
01:28:53,626 --> 01:28:57,626
แล้วก็กดวางได้เลย สิ่งที่เราจะมาเปลี่ยน

1335
01:28:57,627 --> 01:29:01,627
ก็คือค่าในตำแหน่งแกนอะไรคะ ปรับให้มันจร

1336
01:29:01,628 --> 01:29:05,628
Tab ให้มันตรงนะคะ

1337
01:29:05,629 --> 01:29:09,629
เปลี่ยนค่าในแกนอะไรมาดูกัน

1338
01:29:09,630 --> 01:29:13,630

1339
01:29:13,632 --> 01:29:17,632

1340
01:29:17,633 --> 01:29:21,633

1341
01:29:21,635 --> 01:29:25,635

1342
01:29:25,637 --> 01:29:29,637

1343
01:29:29,639 --> 01:29:33,639
นี่ x

1344
01:29:33,641 --> 01:29:37,641
ใช่ไหม นี่คือเส้นที่ 1 ดูเส้นที่ 2

1345
01:29:37,643 --> 01:29:41,643
เส้นที่ 2 ค่าเริ่มต้น มันเริ่มจากมุมนี้

1346
01:29:41,643 --> 01:29:45,643
มานี่เห็นไหมคะ เพราะฉะนั้น แกน x เท่าไร

1347
01:29:45,644 --> 01:29:49,644
เท่าเดิม แต่แกน x

1348
01:29:49,646 --> 01:29:53,646
แกน y เปลี่ยนใช่ไหมคะ เพราะฉะนั้น

1349
01:29:53,647 --> 01:29:57,647
เราไปดูตำแหน่ง

1350
01:29:57,649 --> 01:30:01,649
y_pos 15 ไม่ได้ แต่ y_pos

1351
01:30:01,650 --> 01:30:05,650
ตรงกับตำแหน่งของตัวนี้

1352
01:30:05,651 --> 01:30:09,651
เห็นไหมคะ ก็คืออะไรคะ ตำแหน่งนี้ คือ

1353
01:30:09,652 --> 01:30:13,652
80 เท่าไร 85 นั่นเอง

1354
01:30:13,654 --> 01:30:17,654
นี่เห็นไหมตำแหน่งมันตรงกัน

1355
01:30:17,655 --> 01:30:21,655
เพราะฉะนั้น เปลี่ยนตรงนี้เป็น

1356
01:30:21,656 --> 01:30:25,656
85 เราเปลี่ยนที่ y_pos นะคะ

1357
01:30:25,658 --> 01:30:29,658
แล้วตรงนี้

1358
01:30:29,659 --> 01:30:33,659
85 เปลี่ยนเป็น 15

1359
01:30:33,660 --> 01:30:37,660
ถูกต้องไหม เพราะนี่คือตำแหน่งที่

1360
01:30:37,661 --> 01:30:41,661
ลงมานี่ เห็นไหมคะ ตำแหน่งที่ลงมานี่

1361
01:30:41,662 --> 01:30:45,662
ลงมานี่

1362
01:30:45,663 --> 01:30:49,663
y เราอยู่ที่ 15 เห็นไหมคะ

1363
01:30:49,664 --> 01:30:53,664
ดูแกนนะคะ แกน y คือ

1364
01:30:53,665 --> 01:30:57,665
แนวนี้ แนวตั้งนี่

1365
01:30:57,666 --> 01:31:01,666

1366
01:31:01,667 --> 01:31:05,667
เพราะฉะนั้นจะ 18

1367
01:31:05,668 --> 01:31:09,668
โอ.เค. ไหม เช็ก เช็กอย่างไร ดู

1368
01:31:09,671 --> 01:31:13,671
ตัวบนกับตัวล่าง เห็นไหมคะ ตำแหน่ง y

1369
01:31:13,672 --> 01:31:17,672
ดูที่ตำแหน่ง y เท่านั้น y pos ตำแหน่ง

1370
01:31:17,674 --> 01:31:21,674
15 แต่อันล่างต้องเป็น 85

1371
01:31:21,675 --> 01:31:25,675
อันนี้ก็เหมือนกัน สลับนะคะ

1372
01:31:25,676 --> 01:31:29,676
สลับนะคะ โอ.เค. ไหม

1373
01:31:29,676 --> 01:31:33,676
เปลี่ยน 2 ตำแหน่งนี้เท่านั้นหรอก

1374
01:31:33,677 --> 01:31:37,677

1375
01:31:37,678 --> 01:31:41,678

1376
01:31:41,679 --> 01:31:45,679

1377
01:31:45,683 --> 01:31:49,683
ได้ตัวแกน X แล้ว

1378
01:31:49,684 --> 01:31:53,684
แก้แล้วนะ ไม่เป็นไรถ้าใครไม่แก้

1379
01:31:53,685 --> 01:31:57,685
เดี๋ยวตอน Run ก็รู้

1380
01:31:57,686 --> 01:32:01,686
วาดออกมาเป็นอะไร เดี๋ยวก็เห็นเอง เดี๋ยวก็เห็นผลเอง

1381
01:32:01,686 --> 01:32:05,686
ไปต่อ ได้แกน X แล้ว ต่อไป

1382
01:32:05,687 --> 01:32:09,687
ได้ตัว x แล้วต่อไปเราจะสร้า

1383
01:32:09,688 --> 01:32:13,688
คำสั่งในการวาดตัว O

1384
01:32:13,689 --> 01:32:17,689
ก็คือ circle เห็นไหมคะ

1385
01:32:17,691 --> 01:32:21,691
pygame.draw

1386
01:32:21,692 --> 01:32:25,692
แต่ค่าในตัว o จะมีแค่ ให้นึกถึง

1387
01:32:25,694 --> 01:32:29,694
การวาดวงกลม วงกลมา ก็คือ

1388
01:32:29,695 --> 01:32:33,695
ตำแหน่งจุดศูนย์กลางใช่ไหมคะ

1389
01:32:33,697 --> 01:32:37,697
แล้วก็ตำแหน่ง แล้วก็ค่าของศูนย์กลาง

1390
01:32:37,697 --> 01:32:41,697
นะคะ อันนี้ คือ ค่าของจุด

1391
01:32:41,699 --> 01:32:45,699
ศูนย์กลางใช่ไหม เวลาวาดวงกลมจะวาดจากจุดศูนย์กลาง

1392
01:32:45,700 --> 01:32:49,700
ให้นึกถึงวงเวียน ถูกไหมคะ วงเวียนแล้วก็

1393
01:32:49,701 --> 01:32:53,701
ไอ้ตัว รัศมีวงเวียน

1394
01:32:53,701 --> 01:32:57,701
จุดกึ่งกลางแล้วมาวนรัศมีกว้าง

1395
01:32:57,702 --> 01:33:01,702
เท่าไหน วงกลมมันก็จะมีขนาดกว้าง

1396
01:33:01,703 --> 01:33:05,703
ตามรัศมีนะ โอ.เค. นะคะ

1397
01:33:05,705 --> 01:33:09,705
มาดูกัน

1398
01:33:09,706 --> 01:33:13,706
เมื่อกี้เราได้อะไรแล้วนะ ก็จะเป็นเงื่อนไข

1399
01:33:13,707 --> 01:33:17,707
ที่ 2 นะคะ เงื่อนไข

1400
01:33:17,708 --> 01:33:21,708
ที่ถ้าไม่ใช่ผู้เล่นคนที่ 1

1401
01:33:21,709 --> 01:33:25,709
ผู้เล่นคนที่ 1 วาด X ผู้เล่นคนที่ 2 วาด

1402
01:33:25,710 --> 01:33:29,710
o เพราะฉะนั้นเห็นไหมคะ กำหนดเงื่อไขตรง

1403
01:33:29,711 --> 01:33:33,711
ตรง ตรงกันเลย

1404
01:33:33,712 --> 01:33:37,712
statement if while อันแรก

1405
01:33:37,713 --> 01:33:41,713
Tab ไปให้มันถึง if

1406
01:33:41,714 --> 01:33:45,714
เห็นไหมคะ ให้ตรงกัน สังเกต tab ด้วย

1407
01:33:45,715 --> 01:33:49,715
ต้องตรงนะคะ แล้วก็เปิด

1408
01:33:49,717 --> 01:33:53,717
if condition Enter

1409
01:33:53,718 --> 01:33:57,718
เหมือนเดิม พิมพ์ py

1410
01:33:57,719 --> 01:34:01,719
เลือก pygame นะคะ เลือก module

1411
01:34:01,719 --> 01:34:05,719
ตามด้วย .doll

1412
01:34:05,720 --> 01:34:09,720
draw module

1413
01:34:09,721 --> 01:34:13,721
circle ฟังก์ชัน circle

1414
01:34:13,722 --> 01:34:17,722
เห็นไหมคะ cercle

1415
01:34:17,723 --> 01:34:21,723
บอกแล้วเมื่อเป็นฟังก์ชันให้

1416
01:34:21,724 --> 01:34:25,724
ใส่วงเล็บเสมอ

1417
01:34:25,725 --> 01:34:29,725
ทีนี้เหมือนเดิม

1418
01:34:29,726 --> 01:34:33,726
เหมือน line น่ะเห็นไหม

1419
01:34:33,727 --> 01:34:37,727
ผิด ๆ ยังไม่เริ่ม อันนี้ต้องเช็กก่อน

1420
01:34:37,728 --> 01:34:41,728
ไอ้นี่เอาไว้ข้างล่าง if ตามด้วย

1421
01:34:41,728 --> 01:34:45,728
while while

1422
01:34:45,729 --> 01:34:49,729
statement ทำไมได้โดน y_pos นะ

1423
01:34:49,729 --> 01:34:53,729
เราเลือก width statment นะ

1424
01:34:53,730 --> 01:34:57,730
=

1425
01:34:57,731 --> 01:35:01,731
อันแรกเป็นที่ 1

1426
01:35:01,732 --> 01:35:05,732
ก็คือไม่ใช่คนที่ 1 น่ะ

1427
01:35:05,732 --> 01:35:09,732
ไม่ใช่ตำแหน่งที่ 1 เขาเป็นตำแหน่งที่ 2

1428
01:35:09,732 --> 01:35:13,732
นะคะ เหมือนเดิม : ตกลงไปแล้ว

1429
01:35:13,733 --> 01:35:17,733
ดึงขึ้นมาก่อน

1430
01:35:17,734 --> 01:35:21,734

1431
01:35:21,735 --> 01:35:25,735
เราเอา past ออกนะคะ เราเอา past ออก

1432
01:35:25,736 --> 01:35:29,736
ตำแหน่งก็จะคล้าย ๆ กัน เห็นไหม

1433
01:35:29,736 --> 01:35:33,736
pygame.draw.circle

1434
01:35:33,740 --> 01:35:37,740
เหมือนกัน screen

1435
01:35:37,740 --> 01:35:41,740
นะคะ

1436
01:35:41,741 --> 01:35:45,741
screen statement เหมือนกัน

1437
01:35:45,741 --> 01:35:49,741
แต่สีของเราเป็นอะไร บอกแล้วว่า

1438
01:35:49,742 --> 01:35:53,742
ตัว o เป็นสีอะไรคะ สีแดงใช่ไหมคะ

1439
01:35:53,743 --> 01:35:57,743
เพราะฉะนั้น ตัว O ก็ต้องเป็น Red นะคะ

1440
01:35:57,744 --> 01:36:01,744
กำหนดสีให้เป็น red r-e-d

1441
01:36:01,745 --> 01:36:05,745
เลือก

1442
01:36:05,746 --> 01:36:09,746
นะคะ ตามด้วยค่า ก็คือ

1443
01:36:09,747 --> 01:36:13,747
เปิดวงเล็บ () วงเล็บเปิดปิด

1444
01:36:13,748 --> 01:36:17,748
ค่าในตัว O ก็คือแกน x ก่อน

1445
01:36:17,749 --> 01:36:21,749
เสมอ เลือก X pos

1446
01:36:21,750 --> 01:36:25,750
x_pos กำหนดค่าจุดศูนย์กลาง

1447
01:36:25,751 --> 01:36:29,751
ให้เริ่มที่ในรูป เริ่มที่เท่าไร

1448
01:36:29,751 --> 01:36:33,751
ประมาณ 100 เห็นไหมคะ * 100 + 50

1449
01:36:33,752 --> 01:36:37,752
ครึ่งหนึ่งของ ตรงกลางของ

1450
01:36:37,753 --> 01:36:41,753
เห็นไหมให้มันอยู่ตรงกลาง

1451
01:36:41,753 --> 01:36:45,753
ก็คือ 150 นั่นเองนะคะ ให้อยู่กึ่งกลางมันก็อยู่ที่ 150

1452
01:36:45,753 --> 01:36:49,753
ให้อยู่กึ่งกลางมันก็อยู่ 50 นั่นล่ะ 150

1453
01:36:49,755 --> 01:36:53,755

1454
01:36:53,756 --> 01:36:57,756
x_pos ก็ใช้เหมือนเดิม

1455
01:36:57,757 --> 01:37:01,757
เอ้ย * 100

1456
01:37:01,758 --> 01:37:05,758
+

1457
01:37:05,759 --> 01:37:09,759
50 ตำแหน่ง y_pos

1458
01:37:09,760 --> 01:37:13,760
ก็เหมือนกัน ก็จุดศูนย์กลาง เริ่มที่จุดศูนย์กลาง

1459
01:37:13,761 --> 01:37:17,761
นะคะ เริ่มที่จุดศูนย์กลางเหมือนกัน ก็เริม

1460
01:37:17,762 --> 01:37:21,762
ก็เลือก y_pos

1461
01:37:21,763 --> 01:37:25,763
*100

1462
01:37:25,764 --> 01:37:29,764
+

1463
01:37:29,765 --> 01:37:33,765
50 เหมือนกัน มันถึงจะเป็นตำแหน่ง

1464
01:37:33,766 --> 01:37:37,766
มันถึงจะเป็นตำแหน่งตรงนี้ จุดศูนย์กลางตรงนี้

1465
01:37:37,767 --> 01:37:41,767
เห็นไหม เพราะหลักการวาด วงกลม

1466
01:37:41,769 --> 01:37:45,769
ให้นึกถึงตอนเราใช้วงเวียนวาด

1467
01:37:45,770 --> 01:37:49,770
เอาขาวงเวียนเป็นจุดศูนย์กลางนะคะ

1468
01:37:49,771 --> 01:37:53,771
ไอ้ตรงเหล็กน่ะมันจะเป็นจุดศูนย์กลางที่

1469
01:37:53,772 --> 01:37:57,772
วางไว้ แล้วไอ้ตรงขามันที่เรากาง

1470
01:37:57,773 --> 01:38:01,773
ออกไปน่ะ คือ รัศมีวงกลมน่ะ

1471
01:38:01,774 --> 01:38:05,774
ก็จะทำให้วงกลมพอหมดรอบ วงกลมมันก็

1472
01:38:05,774 --> 01:38:09,774
มันก็จะมีรัศมีตามที่กำหนดนะคะ

1473
01:38:09,775 --> 01:38:13,775
เมื่อกี้ได้ตำแหน่งจุดศูนย์กลางแล้ว

1474
01:38:13,777 --> 01:38:17,777
ก็คือ คือ ลองแล้ว 38 นี่

1475
01:38:17,778 --> 01:38:21,778
นี่วงกำลังสวย คือเยอะกว่านี้มันจะคับ

1476
01:38:21,780 --> 01:38:25,780
นึกออกนะ ก็เลยได้ค่ามาที่ 38 นะคะ

1477
01:38:25,782 --> 01:38:29,782
คือ ลองมาให้แล้ว

1478
01:38:29,783 --> 01:38:33,783
เพราะฉะนั้นเวลาเราไปทำเราไปวาดเอง ก็ให้ดู

1479
01:38:33,786 --> 01:38:37,786
รัศมีเท่านี้พอดีไหม ถ้าไม่พอดีเราก็ขยายเพิ่มได้นะคะ

1480
01:38:37,787 --> 01:38:41,787
ขยายเพิ่มได้อะไรอย่างนี้ นึกออกนะคะ

1481
01:38:41,788 --> 01:38:45,788
ตามด้วย ให้ไปหลังวงเล็บ

1482
01:38:45,788 --> 01:38:49,788
แล้วบอกค่ารัศมีใส่ colon

1483
01:38:49,789 --> 01:38:53,789
ซึ่งที่กำหนดของ

1484
01:38:53,790 --> 01:38:57,790
ช่องตารางนี้ ก็คือให้ที่ 38 นะคะ

1485
01:38:57,791 --> 01:39:01,791
แล้วก็บอกอะไรอีก บอกความหนาของเส้น

1486
01:39:01,792 --> 01:39:05,792
ก็เลือกใช้ line_width

1487
01:39:05,793 --> 01:39:09,793
นะคะ อันนี้คือบอกค่ารัศมี 38 นี่

1488
01:39:09,795 --> 01:39:13,795
บอกค่ารัศมี 38 นี่ ก็คือ รัศมีของวงกลม

1489
01:39:13,796 --> 01:39:17,796
นะคะ แล้วก็ line while

1490
01:39:17,797 --> 01:39:21,797
ก็คือบอกความหนาของเส้นที่บอกไว้

1491
01:39:21,798 --> 01:39:25,798
เห็นหรือเปล่า

1492
01:39:25,799 --> 01:39:29,799
ได้ตัว O จะบอกว่าวงกลม

1493
01:39:29,800 --> 01:39:33,800
ก็คือตัว X

1494
01:39:33,801 --> 01:39:37,801
วงกลมวาดนั่นเองนะคะ

1495
01:39:37,802 --> 01:39:41,802

1496
01:39:41,803 --> 01:39:45,803
ทีนี้ก่อนมันจะทำ

1497
01:39:45,805 --> 01:39:49,805
เราจะต้องปิด loop เสียก่อน เราเปิด for ไปกี่อัน

1498
01:39:49,805 --> 01:39:53,805
เปิด for ไป 2 อันใช่ไหม เปิด for x

1499
01:39:53,806 --> 01:39:57,806
เพราะฉะนั้น ปิดมันด้วยครับ ปิดมันด้วย

1500
01:39:57,807 --> 01:40:01,807
เห็นไหมคะ พอเปิดไปแล้วนี่ Loop เราน่ะ

1501
01:40:01,808 --> 01:40:05,808
เราก็ต้องปิด ปิดด้วยตำแหน่ง

1502
01:40:05,808 --> 01:40:09,808
ปิดด้วยค่า ก็คือทำให้ loop

1503
01:40:09,810 --> 01:40:13,810
มันวนรอบเพิ่มขึ้นไป เพิ่มทีละ 1

1504
01:40:13,811 --> 01:40:17,811
นะคะ เพิ่มทีละ 1 เพราะฉะนั้น

1505
01:40:17,812 --> 01:40:21,812
บรรทัดใหม่

1506
01:40:21,813 --> 01:40:25,813
ตำแหน่งดูตำแหน่งนะ

1507
01:40:25,814 --> 01:40:29,814
loop แรก อยู่ตรงกับ flour แรกนะคะ

1508
01:40:29,816 --> 01:40:33,816
for แรกก็คือตัวนี้เห็นไหม นี่ ๆ ๆ

1509
01:40:33,817 --> 01:40:37,817
นี่ ๆ for ตัวนี้เลย

1510
01:40:37,818 --> 01:40:41,818

1511
01:40:41,819 --> 01:40:45,819
นี่อยู่ตำแหน่งของ y

1512
01:40:45,820 --> 01:40:49,820
ของ for y นี่นะคะ

1513
01:40:49,820 --> 01:40:53,820
X ตัวนี้ ดูนะคะ ดูตำแหน่งดี ๆ

1514
01:40:53,821 --> 01:40:57,821

1515
01:40:57,822 --> 01:41:01,822
tab ไปหน่อยเกิน

1516
01:41:01,823 --> 01:41:05,823
เพราะฉะนั้น y_pos ตัวนี้ก็คือ y_pos

1517
01:41:05,825 --> 01:41:09,825
ไม่ใช่เท่ากับ + เท่ากับ

1518
01:41:09,826 --> 01:41:13,826
เครื่องหมาย + ใส่เครื่องหมาย =

1519
01:41:13,827 --> 01:41:17,827
ครั้งละ 1 ก็เลยใช้ +=

1520
01:41:17,828 --> 01:41:21,828
ใน python

1521
01:41:21,828 --> 01:41:25,828
นะ เพิ่มขึ้นครั้งละ 1 แต่อันนี้จะเป็น +

1522
01:41:25,832 --> 01:41:29,832
เท่ากับ 1 ทีนี้ loop ที่ 2

1523
01:41:29,833 --> 01:41:33,833
มันจะตรงกับ x นี้ เห็นไหมคะ

1524
01:41:33,836 --> 01:41:37,836
x ตัวนี้ for x ตัวนี้เห็นไหม

1525
01:41:37,836 --> 01:41:41,836
ตรงนี้ก็จะเป็น x_pos

1526
01:41:41,837 --> 01:41:45,837
เหมือนกันเท่ากับ +=

1527
01:41:45,838 --> 01:41:49,838
1 เหมือนกัน ก็เพิ่มทีละ 1

1528
01:41:49,838 --> 01:41:53,838
เพิ่มทีละ 1 วนไปรอบที่ 1

1529
01:41:53,840 --> 01:41:57,840
โอ.เค. นะ

1530
01:41:57,840 --> 01:42:01,840
ดูตำแหน่ง บอกแล้วว่าเวลา

1531
01:42:01,842 --> 01:42:05,842
ทำ loop ดูตำแหน่ง loop พอจะปิดตำแหน่ง loop

1532
01:42:05,843 --> 01:42:09,843
นะคะ มันจะตรงกับตัวแปรที่ตั้ง เพราะไม่อย่างนั้น

1533
01:42:09,844 --> 01:42:13,844
เดี๋ยวพอเรากด Ctrl+B

1534
01:42:13,844 --> 01:42:17,844
แล้ว tab erro

1535
01:42:17,845 --> 01:42:21,845
ไม่ถูก เพราะมันไล่ไม่ถูกว่าไปปิดตรงไหน

1536
01:42:21,846 --> 01:42:25,846
มันไปปิดตรงไหนนะคะ

1537
01:42:25,846 --> 01:42:29,846
จากนั้น

1538
01:42:29,847 --> 01:42:33,847
เราเสร็จแล้วเราทำ function draw_mar

1539
01:42:33,849 --> 01:42:37,849
เพราะฉะนั้น เราจะต้องมาเรียกใช้มัน

1540
01:42:37,851 --> 01:42:41,851
เรียกใช้ตรงไหน ตรงตำแหน่ง

1541
01:42:41,852 --> 01:42:45,852
ที่เรา Run เห็นไหมคะ เพราะฉะนั้นก็มาเรียกใช้งาน

1542
01:42:45,853 --> 01:42:49,853
มันก็จะเรียกใช้งาน

1543
01:42:49,854 --> 01:42:53,854
เรียกใช้ draw_markers ว

1544
01:42:53,855 --> 01:42:57,855
d-r แล้วก็

1545
01:42:57,856 --> 01:43:01,856
เลือก Draw marker ฟังก์ชันของเราเลย

1546
01:43:01,858 --> 01:43:05,858
อย่างลืมใส่วงเล็บไม่อย่างนั้น

1547
01:43:05,860 --> 01:43:09,860
มันจะไม่รู้ว่าเป็นฟังก์ชันไง จะต้องใส่

1548
01:43:09,861 --> 01:43:13,861
ต้องใส่วงเล็บให้มันทีหลังนะคะ เสร็จแล้ว

1549
01:43:13,862 --> 01:43:17,862
ลองกด Ctrl+B

1550
01:43:17,863 --> 01:43:21,863
เพื่อทดสอบเดี๋ยวขอปิดตัวที่ทดสอบไว้ตอนแรก

1551
01:43:21,864 --> 01:43:25,864
เสร็จแล้วนะคะ สำหรับการสร้าง

1552
01:43:25,866 --> 01:43:29,866
แล้วลอง Run ดู โดยกด Ctrl กับ B

1553
01:43:29,866 --> 01:43:33,866
คลิกสิ X ขึ้นไหม

1554
01:43:33,867 --> 01:43:37,867
ไม่ขึ้น อะไรหายไป

1555
01:43:37,868 --> 01:43:41,868
mark ยังไม่ขึ้น ขาดไปตำแหน่งไหนล่ะนี่

1556
01:43:41,869 --> 01:43:45,869
ขาดไปตำแหน่งไหนล่ะนี่ Error ยังไม่ขึ้น

1557
01:43:45,870 --> 01:43:49,870
ยัง Run ไม่เสร็จ เดี๋ยวไปต่อได้

1558
01:43:49,871 --> 01:43:53,871
แต่ดูว่าที่เราเช็ก

1559
01:43:53,872 --> 01:43:57,872
มันยังไม่วาด

1560
01:43:57,873 --> 01:44:01,873
เลือกใช้แล้ว draw_markers

1561
01:44:01,874 --> 01:44:05,874

1562
01:44:05,875 --> 01:44:09,875

1563
01:44:09,876 --> 01:44:13,876
ของใครขึ้น Attribute

1564
01:44:13,877 --> 01:44:17,877
เช็กบรรทัดครับ บรรทัดที่...

1565
01:44:17,878 --> 01:44:21,878

1566
01:44:21,879 --> 01:44:25,879

1567
01:44:25,880 --> 01:44:29,880
ค่าอันนี้หรือเปล่า

1568
01:44:29,882 --> 01:44:33,882
ค่าคลิกนี่หรือเปล่า

1569
01:44:33,883 --> 01:44:37,883
ค่าคลิกถูกต้องไหม

1570
01:44:37,884 --> 01:44:41,884
เห็นหรือเปล่า

1571
01:44:41,885 --> 01:44:45,885
เช็กค่าด้วย

1572
01:44:45,886 --> 01:44:49,886
ค่ามันจะส่งสลับกันไปสลับกันมาน่ะ เช็กดี ๆ ด้วย

1573
01:44:49,887 --> 01:44:53,887
อือ

1574
01:44:53,888 --> 01:44:57,888
สลับค่าด้วย

1575
01:44:57,889 --> 01:45:01,889
เดี๋ยวไปต่อ เดี๋ยวไปต่อ

1576
01:45:01,891 --> 01:45:05,891
ต้องต่อไม่อย่างนั้นมันไม่ขึ้นไง มันไม่ขึ้น

1577
01:45:05,893 --> 01:45:09,893
มันจะแค่มาร์กไว้ใช่ไหม มันยังไม่โชว์

1578
01:45:09,894 --> 01:45:13,894
อะไรหายไป

1579
01:45:13,895 --> 01:45:17,895

1580
01:45:17,896 --> 01:45:21,896

1581
01:45:21,898 --> 01:45:25,898
เอา ๆ อะไรกัน

1582
01:45:25,899 --> 01:45:29,899
เมื่อให้มัน mark แล้ว

1583
01:45:29,900 --> 01:45:33,900
ทีนี้จะมาสร้างฟังก์ชัน

1584
01:45:33,900 --> 01:45:37,900
เพื่อจะเช็ก

1585
01:45:37,901 --> 01:45:41,901
เช็กว่าใครเป็นคนชนะ

1586
01:45:41,902 --> 01:45:45,902
นี่นะคะ XO ลงไปแล้ว เมื่อมันครบ

1587
01:45:45,903 --> 01:45:49,903
3 น่ะ ถ้ามันเรียงครบนี่

1588
01:45:49,904 --> 01:45:53,904
มันก็ต้องมีคนชนะล่ะ เราก็จะมาหาคนชนะกัน

1589
01:45:53,905 --> 01:45:57,905
เราก็เลยจะมาสร้างฟังก์ชันที่ชื่อ check winner

1590
01:45:57,906 --> 01:46:01,906

1591
01:46:01,907 --> 01:46:05,907

1592
01:46:05,908 --> 01:46:09,908

1593
01:46:09,909 --> 01:46:13,909
เราต้อง code ให้เสร็จก่อน แล้วค่อย

1594
01:46:13,910 --> 01:46:17,910
นั้นมา Coding ก่อน

1595
01:46:17,910 --> 01:46:21,910
Error อยู่ตรงตำแหน่งไหน

1596
01:46:21,911 --> 01:46:25,911
ที่เราสร้าง draw_markers() แล้ว

1597
01:46:25,913 --> 01:46:29,913
เห็นไหมคะ เราก็ไปต่อเลยนะคะ

1598
01:46:29,913 --> 01:46:33,913
นะคะ ตรง draw_markers ตรง 2

1599
01:46:33,915 --> 01:46:37,915
พิมพ์ Comment

1600
01:46:37,917 --> 01:46:41,917
ว่า

1601
01:46:41,917 --> 01:46:45,917

1602
01:46:45,919 --> 01:46:49,919

1603
01:46:49,922 --> 01:46:53,922

1604
01:46:53,924 --> 01:46:57,924

1605
01:46:57,926 --> 01:47:01,926

1606
01:47:01,927 --> 01:47:05,927

1607
01:47:05,928 --> 01:47:09,928
สร้างฟังก์ชัน check_winner

1608
01:47:09,931 --> 01:47:13,931
หาคนชนะ ใช้ Check

1609
01:47:13,932 --> 01:47:17,932
ใช้ check เล็กนะคะ

1610
01:47:17,933 --> 01:47:21,933
เริ่มที่ตัวแรกเลย

1611
01:47:21,934 --> 01:47:25,934
de-e

1612
01:47:25,935 --> 01:47:29,935
d-e เลือก...

1613
01:47:29,937 --> 01:47:33,937
ทำไมไม่ขึ้น

1614
01:47:33,939 --> 01:47:37,611

1615
01:47:37,940 --> 01:47:41,940
def ไม่ขึ้น

1616
01:47:41,942 --> 01:47:45,942
Enter

1617
01:47:45,943 --> 01:47:49,943
แล้วก็ใส่ชื่อฟังก์ชัน

1618
01:47:49,944 --> 01:47:53,944

1619
01:47:53,945 --> 01:47:57,945
ใส่ฟังก์ชัน check_winner ลงไป

1620
01:47:57,946 --> 01:48:01,946
เสร็จแล้วทำ Loop ว่า

1621
01:48:01,947 --> 01:48:05,947
ถ้า X นี่ใน มาร์ก มีค่าเท่านี้

1622
01:48:05,948 --> 01:48:09,948
เห็นไหมคะ 3 ครั้งนี่ ผลรวมของ X

1623
01:48:09,949 --> 01:48:13,949
เท่ากับ 3 ก็คือ

1624
01:48:13,950 --> 01:48:17,950
mark ลงไป 3 ครั้ง ว่าอย่างนั้นเถอะ

1625
01:48:17,951 --> 01:48:21,951
winner จะเท่ากับ 1 คือคนที่ 1

1626
01:48:21,952 --> 01:48:25,952
แล้วเมื่อจบเกมนี่ค่าจะเป็นจริง

1627
01:48:25,954 --> 01:48:29,954
ค่ามันก็จะเป็นจริง ก็คือ Game over

1628
01:48:29,955 --> 01:48:33,955

1629
01:48:33,956 --> 01:48:37,956
ตรง pos นะคะ ใส่ for loop

1630
01:48:37,957 --> 01:48:41,957
นะคะ ใส่ for loop ค่ะ

1631
01:48:41,958 --> 01:48:45,958
x เห็นไหมคะ โดยค่า x ของเราใน markers

1632
01:48:45,959 --> 01:48:49,959
ใน markers x in ตรงนี้เปลี่ยนเป็น markers

1633
01:48:49,960 --> 01:48:53,960
แทน เลือก marker statement

1634
01:48:54,009 --> 01:48:58,009
markers มีค่าเท่ากับ

1635
01:48:58,009 --> 01:49:02,009
ส้า xx ใน

1636
01:49:02,010 --> 01:49:06,010
ใน markers มีการ

1637
01:49:06,011 --> 01:49:10,011
x ลงไปนี่ นี่ X ใน marker นี่

1638
01:49:10,012 --> 01:49:14,012
ตรงนี้เงื่อนไขก็จะมาตรวจสอบว่า

1639
01:49:14,013 --> 01:49:18,013
เลือก

1640
01:49:18,014 --> 01:49:22,014
ผลรวม sum ก็คือมาจากคำว่า "ผลรวม"

1641
01:49:22,015 --> 01:49:26,015
นะคะ เลือกใช้ ฟังก์ชัน sum

1642
01:49:26,017 --> 01:49:30,017
เลือก sum ฟังก์ชั่น

1643
01:49:30,018 --> 01:49:34,018
ใส่วงเล็บเปิดปิดเหมือนเดิม ()

1644
01:49:34,019 --> 01:49:38,019
sum sum อะไร

1645
01:49:38,020 --> 01:49:42,020
เรานั่นเองนะคะ Sum ของ X

1646
01:49:42,021 --> 01:49:46,021
เท่ากับอะไรคะ 3

1647
01:49:46,022 --> 01:49:50,022
ก็คือผลรวมของ x นี่ได้รับ

1648
01:49:50,023 --> 01:49:54,023
ได้ 3 ปุ๊บ

1649
01:49:54,024 --> 01:49:58,024
นะคะ เราก็บอกเลยว่า

1650
01:49:58,025 --> 01:50:02,025
เราก็บอกเลย winner ประกาศตัวแปร winner เลย

1651
01:50:02,026 --> 01:50:06,026
winner อันนี้ต้องพิมพ์เองนะ

1652
01:50:06,028 --> 01:50:10,028
winner แล้วก็ตามด้วยเครื่องหมายเท่ากับ

1653
01:50:10,029 --> 01:50:14,029
นะคะ ตัวแปร Winner

1654
01:50:14,030 --> 01:50:18,030
มีค่า = 1 เห็นไหมคะ

1655
01:50:18,031 --> 01:50:22,031
แล้วก็เมื่อครบ 3 นี่

1656
01:50:22,032 --> 01:50:26,032
เมื่อครบ 3 นี่ ถ้า x มันครบ 3

1657
01:50:26,033 --> 01:50:30,033
เพราะฉะนั้นคนนี้คือชนะ

1658
01:50:30,034 --> 01:50:34,034
ถึงว่าจบเกม เพราะว่ากา x เรียง

1659
01:50:34,035 --> 01:50:38,035
มันครบ เรียงกันครบ

1660
01:50:38,036 --> 01:50:42,036
X หรือ O เรียกกันครบนี่ ก็คือมีคนชนะแล้ว

1661
01:50:42,037 --> 01:50:46,037
เรียงครบ 3 อัน คนใดคนหนึ่ง

1662
01:50:46,038 --> 01:50:50,038
คนใดคนหนึ่งนี่ คนที่กาด้วย x หรือ กาด้วย o น่ะ

1663
01:50:50,039 --> 01:50:54,039
mark ด้วย x หรือ mark ด้วย 0 นี่

1664
01:50:54,040 --> 01:50:58,040
จบเกม เพราะฉะนั้น เลยสร้างตัวแปรชื่อว่า game_over

1665
01:50:58,041 --> 01:51:02,041
อันนี้พิมพ์เอานะคะ

1666
01:51:02,042 --> 01:51:06,042
_ พิมพ์ Game

1667
01:51:06,043 --> 01:51:10,043
ตามด้วย _

1668
01:51:10,044 --> 01:51:14,044
o-v-e-r game_over ก็คือจบเกม

1669
01:51:14,044 --> 01:51:18,044
เท่ากับ

1670
01:51:18,046 --> 01:51:22,046
True เช็กด้วยว่าเป็นจริงหรือเท็จ

1671
01:51:22,046 --> 01:51:26,046
ใช้ true กับ false

1672
01:51:26,047 --> 01:51:30,047
ก็คือถ้าอย่างนี้แสดงว่าจบเกม ก็คือเป็นจริง

1673
01:51:30,048 --> 01:51:34,048
ก็คือหมายถึงจบเกม

1674
01:51:34,049 --> 01:51:38,049

1675
01:51:38,050 --> 01:51:42,050
ทีนี้

1676
01:51:42,051 --> 01:51:46,051
Loop แรกนี่เช็กจาก

1677
01:51:46,052 --> 01:51:50,052
แถว เช็กจากแถวแล้วนะคะ

1678
01:51:50,053 --> 01:51:54,053

1679
01:51:54,053 --> 01:51:58,053
เราต้องมาประกาศตัวแปรให้ winner

1680
01:51:58,054 --> 01:52:02,054
กับ game_over เห็นไหมคะ ก็คือ winner

1681
01:52:02,055 --> 01:52:06,055
โดยมีค่าเริ่มต้นที่ 0

1682
01:52:06,056 --> 01:52:10,056
นะคะ ไปประกาศตัวแปรให้

1683
01:52:10,057 --> 01:52:14,057
2 ตัวนี้ ตรงนี้

1684
01:52:14,058 --> 01:52:18,058
นะคะ ประกาศตัวแปรชื่อว่า "winner" มีแล้ว คลิกได้เลย

1685
01:52:18,058 --> 01:52:22,058
เท่ากับ

1686
01:52:22,059 --> 01:52:26,059
ค่าเริ่มต้นของ winner คือ 0 เริ่มที่ 0

1687
01:52:26,059 --> 01:52:30,059
Game Over แล้ว

1688
01:52:30,060 --> 01:52:34,060
เลือกได้เลย เลือก game_over มาได้เลย แล้วก็

1689
01:52:34,060 --> 01:52:38,060
ให้ค่าเริ่มต้นเป็น False

1690
01:52:38,061 --> 01:52:42,061
ที่เช็กเป็น true เพราะฉะนั้น

1691
01:52:42,062 --> 01:52:46,062
ค่าเริ่มต้นของ game_over

1692
01:52:46,063 --> 01:52:50,063
จะเริ่มที่ False เสมอ

1693
01:52:50,064 --> 01:52:54,064
เพราะมันยังเล่นอยู่เสมอนะคะ

1694
01:52:54,066 --> 01:52:58,066
นะคะ เมื่อประกาศตัวแปรเสร็จ

1695
01:52:58,067 --> 01:53:02,067
มาทำเงื่อนไขต่อ loop ที่ 1 แล้ว

1696
01:53:02,068 --> 01:53:06,068
ก็จะเป็น Loop ที่ 2 เห็นไหมคะ

1697
01:53:06,069 --> 01:53:10,069
เงื่อนไขนี้ ถ้าไม่ใช่คนที่ 1

1698
01:53:10,069 --> 01:53:14,069
ถ้าไม่ใช่คนที่ 1 winner คนที่ 2

1699
01:53:14,070 --> 01:53:18,070
winner 2 ก็เหมือนกัน Copy

1700
01:53:18,074 --> 01:53:22,074
ก๊อบฯ มาได้เลย ก๊อบฯ จากข้างบน

1701
01:53:22,078 --> 01:53:26,078
มาได้เลยนะคะ แล้วเปลี่ยน

1702
01:53:26,079 --> 01:53:30,079
เปลี่ยนค่าตรง 3 นี่เท่านั้นเอง

1703
01:53:30,080 --> 01:53:34,080
วิธีการไม่ต้องคีย์

1704
01:53:34,081 --> 01:53:38,081
เลือกตรง if ถึง sum True

1705
01:53:38,082 --> 01:53:42,082
แล้วเราก็ copy ได้เลย

1706
01:53:42,083 --> 01:53:46,083
แล้วก็วางมันเสีย

1707
01:53:46,084 --> 01:53:50,084

1708
01:53:50,086 --> 01:53:54,086
ไม่ต้องพิมพ์ใหม่ เพราะเรามาเปลี่ยนค่าไง

1709
01:53:54,087 --> 01:53:58,087
เปลี่ยนแค่ค่า ค่านี้จาก

1710
01:53:58,088 --> 01:54:02,088
3 ก็เป็น -3 ค่านี้จาก 2 ก

1711
01:54:02,089 --> 01:54:06,089
2 คนที่ 2 winner คนที่ 2 ถึงจ

1712
01:54:06,090 --> 01:54:10,090
ถึงจะเป็นผู้ชนะ game_over จาก true ก็เป็น...

1713
01:54:10,091 --> 01:54:14,091
เป็นเห็นไหมคะ Game Over เป็นทรู

1714
01:54:14,093 --> 01:54:18,093
true เหมือนเดิมนะคะ Game_over ยังไม่เปลี่ยน เปลี่ยนตรง

1715
01:54:18,094 --> 01:54:22,094
ตรง sum กับตรง winner แค่จาก 3 กํบ

1716
01:54:22,095 --> 01:54:26,095
จาก 3 เป็น -3 1 เป็น 2 แค่นั้นเอง

1717
01:54:26,096 --> 01:54:30,096
โอ.เค. ไหมเปลี่ยน 2 ที่

1718
01:54:30,098 --> 01:54:34,098
ตรงนี้กับตรงนี้เปลี่ยน 2 ตำแหน่งพอ

1719
01:54:34,099 --> 01:54:38,099
จาก 1 เป็น 2 จาก 2 เป็น 3

1720
01:54:38,100 --> 01:54:42,100
อันนี้ไม่ต้องพิมพ์ใหม่นะคะ ก๊อบฯ มาได้เลย

1721
01:54:42,101 --> 01:54:46,101
เพราะคำสั่งเดียวกันเลย

1722
01:54:46,102 --> 01:54:50,102
เปลี่ยนแค่ค่าของการคำนวนของมัน

1723
01:54:50,103 --> 01:54:54,103

1724
01:54:54,104 --> 01:54:58,104
ต่อไป ก็คือเมื่อเช็กไปตามแถวแล้ว ต่อไป

1725
01:54:58,105 --> 01:55:02,105
เห็นไหมคะ ตามคอลัมน์

1726
01:55:02,106 --> 01:55:06,106
ก็คือตำแหน่งที่เป็นแนวนี้

1727
01:55:06,107 --> 01:55:10,107
แนวนี้มันจะเช็กไปตามแนวนี้บ้าง

1728
01:55:10,108 --> 01:55:14,108
ก็คือเมื่อกี้เรียงตามแนวนอนใช่ไหม

1729
01:55:14,109 --> 01:55:18,109
ก็คือถ้า X เรียงไป 3 แถว

1730
01:55:18,110 --> 01:55:22,110
นี่คือแนวนอน ถ้าเรียงตามแนวคอลัมภ์

1731
01:55:22,111 --> 01:55:26,111
x หรือ o ครบ

1732
01:55:26,112 --> 01:55:30,112
ครบทั้ง 3 คอลัมน์นี่  ก็จะใช้เงื่อนไขว่า

1733
01:55:30,113 --> 01:55:34,113
if marke

1734
01:55:34,114 --> 01:55:38,114
นะคะ if mark 0

1735
01:55:38,115 --> 01:55:42,115

1736
01:55:42,116 --> 01:55:46,116
เพิ่ม...

1737
01:55:46,118 --> 01:55:50,118
เพิ่ม If condition เข้าไป

1738
01:55:50,119 --> 01:55:54,119
เลือก statement mark

1739
01:55:54,120 --> 01:55:58,120
เลือก Array ค่า

1740
01:55:58,120 --> 01:56:02,120
array ค่า array เท่ากับ

1741
01:56:02,121 --> 01:56:06,121
ค่า

1742
01:56:06,122 --> 01:56:10,122
กดผิดอีกแล้ว ค่าใน mark เริ่มที่ 0 นะ

1743
01:56:10,123 --> 01:56:14,123
แล้วก็ตามด้วย y pos แล้ว

1744
01:56:14,124 --> 01:56:18,124
y_pos

1745
01:56:18,125 --> 01:56:22,125
ตำแหน่งของ Y alay Y

1746
01:56:22,126 --> 01:56:26,126
นะคะ ในนี้พิมพ์

1747
01:56:26,127 --> 01:56:30,127
y pos เลือก y pos

1748
01:56:30,129 --> 01:56:34,129
ตอนนี้เราจะเช็กไปตามแนวแถวแล้วนะ

1749
01:56:34,130 --> 01:56:38,130
ตามแนวคอลัมน์แล้วนะ

1750
01:56:38,131 --> 01:56:42,131
แถวเสร็จแล้ว เช็กคอลัมภ์ในนี้

1751
01:56:42,132 --> 01:56:46,132
นะคะ แล้วก้

1752
01:56:46,132 --> 01:56:50,132
ไประบุ

1753
01:56:50,133 --> 01:56:54,133
ค่า Y pos ที่ 0

1754
01:56:54,134 --> 01:56:58,134
ตำแหน่งเหนือ for x นี่

1755
01:56:58,135 --> 01:57:02,135

1756
01:57:02,136 --> 01:57:06,136
for เห็นไหม

1757
01:57:06,137 --> 01:57:10,137
แต่ตำแหน่งตรงกับ fales เลยนะคะ

1758
01:57:10,139 --> 01:57:14,139
pos enter มีค่าเท่ากับ

1759
01:57:14,140 --> 01:57:18,140
0 ค่าเริ่มต้น กำหนดค่าเริ่มต้น

1760
01:57:18,140 --> 01:57:22,140
ให้ y_pos = 0 อย่างนี้นะคะ

1761
01:57:22,141 --> 01:57:26,141
เพราะไม่งั้นมันจะเช็ก

1762
01:57:26,141 --> 01:57:30,141
เห็นไหม หา y_pos ไม่เจอ

1763
01:57:30,143 --> 01:57:34,143

1764
01:57:34,144 --> 01:57:38,144

1765
01:57:38,145 --> 01:57:42,145
เพราะฉะนั้นตรงตำแหน่งมันไม่ได้มี คอลัมน์เดียว

1766
01:57:42,147 --> 01:57:46,147
เห็นไหมคะ มันก็จะมีคอลัมภ์ที่ 1 กับ 2

1767
01:57:46,147 --> 01:57:50,147
ใน Array มันจะนับคอลัมน์แรกเป็น 0

1768
01:57:50,148 --> 01:57:54,148
1 2 เพราะฉะนั้น เราก็เพิ่มค่าคอลัมน์เข้าไป

1769
01:57:54,149 --> 01:57:58,149
วิธีการไม่ต้องพิมพ์

1770
01:57:58,151 --> 01:58:02,151
นึกออกนะ Coppy ได้

1771
01:58:02,151 --> 01:58:06,151
ก๊อบไป

1772
01:58:06,152 --> 01:58:10,152
คำว่า "markers[0]

1773
01:58:10,153 --> 01:58:14,153
แล้วใส่ Comma

1774
01:58:14,154 --> 01:58:18,154
comma แล้วก็กดวางครั้งที่ 1

1775
01:58:18,155 --> 01:58:22,155
กดวางครั้งที่ 2

1776
01:58:22,156 --> 01:58:26,156
เป็น 1

1777
01:58:26,157 --> 01:58:30,157
แล้วก็ช่องที่ 2 ก็เป็น 2 เท่านั้นเอง

1778
01:58:30,159 --> 01:58:34,159
0 เห็นไหมคะ เริ่มจาก 1 เริ่มจาก 2

1779
01:58:34,160 --> 01:58:38,160

1780
01:58:38,161 --> 01:58:42,161
ไม่ได้ใส่ , ขอโทษ ๆ

1781
01:58:42,162 --> 01:58:46,162
มันต้องเป็นบวก บวกเพิ่มขึ้น

1782
01:58:46,163 --> 01:58:50,163
เข้าไป 1 ช่อง + นะคะ ใส่ +

1783
01:58:50,164 --> 01:58:54,164
แทนตรง comma (,) ใส่เครื่องหมาย

1784
01:58:54,165 --> 01:58:58,165
ตรง : ใส่เครื่องหมายบวกแทน

1785
01:58:58,166 --> 01:59:02,166
ฉันเบลอละ

1786
01:59:02,166 --> 01:59:06,166
เปลี่ยนเป็นเครื่องหมายบวกนะ

1787
01:59:06,167 --> 01:59:10,167
ถ้ามี mark ที่ 1 mark ที่

1788
01:59:10,169 --> 01:59:14,169
คือ มันครบ 3 อันตามแถว ตามคอลัมน์

1789
01:59:14,170 --> 01:59:18,170
นี่ 1, 2, 3 ปุ๊บ

1790
01:59:18,171 --> 01:59:22,171
นะคะ ตำแหน่งนี้สิ่งที่จำทำต่อ ก็คือ

1791
01:59:22,171 --> 01:59:26,171
ก็จะมาบอกว่า

1792
01:59:26,174 --> 01:59:30,174
นี่นะคะ

1793
01:59:30,175 --> 01:59:34,175
เห็นไหมคะ ค่าของตำแหน่งนี้

1794
01:59:34,176 --> 01:59:38,176
เท่ากับ 3 แล้วค่อนมาเพิ่มบรรทัดนี้เพ

1795
01:59:38,177 --> 01:59:42,177
อย่างไรมาดู ตรง

1796
01:59:42,178 --> 01:59:46,178
y_pos นี้ ใส่ = 3 เข้าไป

1797
01:59:46,179 --> 01:59:50,179
ใส่ค่า เท่ากับนะคะ แล้วก็

1798
01:59:50,180 --> 01:59:54,180
ตามด้วย 3 ลงไป ในบรรทัดนี้ copy ตรง

1799
01:59:54,181 --> 01:59:58,181
ก๊อบปี้นี่มาครับ winner กับ

1800
01:59:58,182 --> 02:00:02,182
เพราะ winner ที่เราใช้ ก็คือ

1801
02:00:02,183 --> 02:00:06,183
winner ที่ 1 กดไวไปหน่อย

1802
02:00:06,184 --> 02:00:10,184
winner ที่ 1 เห็นไหม

1803
02:00:10,184 --> 02:00:14,184
นี่ game_over กับ

1804
02:00:14,185 --> 02:00:18,185
winner ที่ 1 กับ game_over = True นี่

1805
02:00:18,186 --> 02:00:22,186
ก็อบมาได้เลย ตัวเดียวกัน จะบอกว่า

1806
02:00:22,187 --> 02:00:26,187
เมื่อครบอันนี้ ก็คือผู้ชนะ คือ

1807
02:00:26,189 --> 02:00:30,189
คนนี้นะคะ ถ้าครบคอลัมน์ตามแนวนี้นะคะ

1808
02:00:30,190 --> 02:00:34,190

1809
02:00:34,191 --> 02:00:38,191
ก็ไม่ต้องแก้เห็นไหม

1810
02:00:38,192 --> 02:00:42,192
เห็นไหมคะ

1811
02:00:42,194 --> 02:00:46,194
แล้วอะไรต่อ

1812
02:00:46,196 --> 02:00:50,196
เห็นไหมคะ เช็กกับ ถ้าไม่ใช่คนที่ 1 mark นี่

1813
02:00:50,198 --> 02:00:54,198
มันก็ต้องมีของคนที่ 2 mark

1814
02:00:54,199 --> 02:00:58,199
แก้แค่ Copy

1815
02:00:58,200 --> 02:01:02,200
นี่เลย จาก if marks อันนี้

1816
02:01:02,201 --> 02:01:06,201
จนถึง game_over น่ะ

1817
02:01:06,203 --> 02:01:10,203

1818
02:01:10,204 --> 02:01:14,204

1819
02:01:14,205 --> 02:01:18,205
แล้วมาเปลี่ยนค่าตรงไหนคะ จากค่าสุดท้าย

1820
02:01:18,206 --> 02:01:22,206
ค่าสุดท้าย จาก 3 เป็น -3 แล้วก็

1821
02:01:22,207 --> 02:01:26,207
เปลี่ยนค่าตรงคนที่ 1 เป็นคนที่ 2

1822
02:01:26,208 --> 02:01:30,059

1823
02:01:30,209 --> 02:01:34,209
เพราะมันเช็กตามคอลัมน์ไง

1824
02:01:34,211 --> 02:01:38,211
ตอนนี้มันเช็กตามคอลัมน์ ก็เหมือนอันนี้ที่มันเช็ก

1825
02:01:38,213 --> 02:01:42,213
ตามแถวเห็นไหมคะ เพราะฉะนั้นก็สไตล์

1826
02:01:42,214 --> 02:01:46,214
เดียวกันก็ copy มาได้เลย

1827
02:01:46,214 --> 02:01:50,214
แต่สิ่งที่มีมาเพิ่ม ก็คือ

1828
02:01:50,216 --> 02:01:54,216
Loop ของการเช็ก y_pos นี่

1829
02:01:54,217 --> 02:01:58,217
เพิ่มขึ้นมาอีก 1 ตรงบรรทัด

1830
02:01:58,218 --> 02:02:02,218
สุดท้าย ก็คือเพิ่มคำว่า

1831
02:02:02,219 --> 02:02:06,219

1832
02:02:06,220 --> 02:02:10,220

1833
02:02:10,221 --> 02:02:14,221

1834
02:02:14,223 --> 02:02:18,223
w

1835
02:02:18,225 --> 02:02:22,225
มีค่าเท่ากับ

1836
02:02:22,225 --> 02:02:26,225
+= 1 ให้มันเพิ่มรอบ

1837
02:02:26,226 --> 02:02:30,226
รอบในการทำงาน เพิ่ม loop เข้าไป

1838
02:02:30,227 --> 02:02:34,227
ทำไมเป็น ++

1839
02:02:34,228 --> 02:02:38,228
เข้าไป 1 รอบ เพิ่มข้าไป 1 รอบ

1840
02:02:38,229 --> 02:02:42,229
วนรอบ x_pos อยู่ตอนนี้

1841
02:02:42,235 --> 02:02:46,235
โอ.เค. ไหม ทันนะคะ

1842
02:02:46,238 --> 02:02:50,238
ทันไหม ทันไหม โอ.เค.

1843
02:02:50,239 --> 02:02:54,239

1844
02:02:54,240 --> 02:02:58,240
เมื่อกี้เช็ก

1845
02:02:58,242 --> 02:03:02,242
แนวนี้ แนวแถว กับแนวคอลัมน์ไปแล้ว

1846
02:03:02,243 --> 02:03:06,243
กับแนวคอลัมภ์ ทีนี้เช็กทแยง

1847
02:03:06,244 --> 02:03:10,244
จากนี่นึกออกนะ ทะแยง

1848
02:03:10,245 --> 02:03:14,245
จากมุมบนลงมามุมล่างนี้ ทั้งด้านซ้ายด้านขวานี่

1849
02:03:14,247 --> 02:03:18,247
นะคะ เช็กมุมทะแยง

1850
02:03:18,248 --> 02:03:22,248
ก็ต่อจาก

1851
02:03:22,249 --> 02:03:26,249
เมื่อกี้นั่นล่ะ

1852
02:03:26,250 --> 02:03:30,250

1853
02:03:30,251 --> 02:03:34,251

1854
02:03:34,252 --> 02:03:38,252
ออกไหนมา

1855
02:03:38,254 --> 02:03:42,254
แทบจะไม่ต้องพิมพ์เลยนะ

1856
02:03:42,255 --> 02:03:46,255
เอาตัวแรกมา ก๊อบ if markers

1857
02:03:46,256 --> 02:03:50,256
ก็อบ if_mark ตัวที่ 1 มาเลยนะคะ

1858
02:03:50,257 --> 02:03:54,257
ดูดี ๆ นี่เห็นไหม

1859
02:03:54,259 --> 02:03:58,259
ตัวที่ 1 กับตัวที่ 2 นี่มาเลย

1860
02:03:58,260 --> 02:04:02,260
แล้วมาเปลี่ยนอะไร

1861
02:04:02,260 --> 02:04:06,260
ก็อบอันแรกก่อน แล้วค่อยไปเปลี่ยนอันที่ 2 ง่ายกว่า

1862
02:04:06,264 --> 02:04:10,264
แค่ if ไอ้นี่ ถึง Game_over

1863
02:04:10,265 --> 02:04:14,265
พอนะคะ

1864
02:04:14,266 --> 02:04:18,266
ตรงตำแหน่ง y_pos เห็นไหมคะ

1865
02:04:18,267 --> 02:04:22,267
ต่อจากตำแหน่ง y_pos

1866
02:04:22,268 --> 02:04:26,268
Crtl v if จะอยู่

1867
02:04:26,269 --> 02:04:30,269
ตำแหน่งที่ตรงกับ

1868
02:04:30,271 --> 02:04:34,271
เยื้อง y_pos ออกมา 1 นะคะ

1869
02:04:34,272 --> 02:04:38,272

1870
02:04:38,274 --> 02:04:42,274
นี่นะคะ ถ้าตรงให้

1871
02:04:42,275 --> 02:04:46,275
คลิกย้อน 1 ตำแหน่ง

1872
02:04:46,276 --> 02:04:50,276

1873
02:04:50,277 --> 02:04:54,277
เปลี่ยนค่าใน y_pos เป็น 1

1874
02:04:54,278 --> 02:04:58,278
ดูนะคะ ดูค่าที่เปลี่ยน

1875
02:04:58,279 --> 02:05:02,279
1, 2, 3 0 1 2

1876
02:05:02,280 --> 02:05:06,280
0, 1, 2

1877
02:05:06,281 --> 02:05:10,281
โอ.เค. รู้แล้ว

1878
02:05:10,282 --> 02:05:14,282
0

1879
02:05:14,283 --> 02:05:18,283
อันนี้ 0 ก่อน ช่องแรก 0 ใช่หรือเปล่า

1880
02:05:18,284 --> 02:05:22,284
ช่องนี้ y_pos เป็น 1

1881
02:05:22,285 --> 02:05:26,285
ช่องนี้ y_pos เป็น 2

1882
02:05:26,286 --> 02:05:30,286

1883
02:05:30,287 --> 02:05:34,287
เดี๋ยวนะ

1884
02:05:34,288 --> 02:05:38,288
0 0 1 0 2 2

1885
02:05:38,291 --> 02:05:42,291
เท่ากับ 3 อ๋อ marker

1886
02:05:42,293 --> 02:05:46,293
0, 0, 1, 0

1887
02:05:46,294 --> 02:05:50,294
เอาใหม่ ๆ

1888
02:05:50,297 --> 02:05:54,297
0, 0, 0

1889
02:05:54,298 --> 02:05:58,298
00 10

1890
02:05:58,299 --> 02:06:02,299
มันเช็ก

1891
02:06:02,300 --> 02:06:06,300
ใช่เพราะมันเช็กตามแนวนี้ไง

1892
02:06:06,301 --> 02:06:10,301
นี่ ๆ ๆ เห็นไหม อันแรกนี่ 0, 0 ถูกแล้ว

1893
02:06:10,301 --> 02:06:14,301
อันนี้ 2 มันจะเป็น

1894
02:06:14,302 --> 02:06:18,302
1 กับ 0 x เป็น 1

1895
02:06:18,303 --> 02:06:22,303
x เป็น 1 y เป็น 0

1896
02:06:22,304 --> 02:06:26,304
ตัว mark อยู่ที่

1897
02:06:26,305 --> 02:06:30,305
ช่องที่ คอลัมน์ ๆ

1898
02:06:30,307 --> 02:06:34,307
คอลัมภ์เริ่มอันนี้ตัวแปร

1899
02:06:34,308 --> 02:06:38,308
ที่ตัวแปรที่ 1 อันนี้ 0 ถูกแล้ว

1900
02:06:38,309 --> 02:06:42,309
อันนี้ 2 2 ค่าเท่ากับ 3 ถูกแล้ว ก๊อบอันนี้

1901
02:06:42,311 --> 02:06:46,311
ซ้ำอีก 1 ครั้ง ก็อบจาก Marker

1902
02:06:46,312 --> 02:06:50,312
นี่

1903
02:06:50,313 --> 02:06:54,313
นี่

1904
02:06:54,315 --> 02:06:58,315
ก๊อบปี้ แล้วก็...

1905
02:06:58,316 --> 02:07:02,316
ใส่อะไร เครื่องหมาย

1906
02:07:02,318 --> 02:07:06,318
+ ใช่ไหม ใส่ or ขั้นด้วย or

1907
02:07:06,319 --> 02:07:10,319
ถ้าหรือ ใส่ or เข้าไปนะคะ

1908
02:07:10,320 --> 02:07:14,320
พอตรง 3 พิมพ์ or ก่อน

1909
02:07:14,322 --> 02:07:18,322
1 ครั้ง all

1910
02:07:18,325 --> 02:07:22,325
แล้วก็กดวางค่าเมื่อกี้ แล้วก็มาเปลี่ยน

1911
02:07:22,327 --> 02:07:26,327
ค่าใน Array เรานี่

1912
02:07:26,328 --> 02:07:30,328
ในช่องตารางนี่นะคะ จะเริ่มที่ or

1913
02:07:30,330 --> 02:07:34,330
20 11 02

1914
02:07:34,331 --> 02:07:38,331
เปลี่ยนค่าในช่องนี้เป็น

1915
02:07:38,333 --> 02:07:42,333
2 กับ 0

1916
02:07:42,333 --> 02:07:46,333
1 กับ 1 แล้วก็อะไร

1917
02:07:46,335 --> 02:07:50,335
02 แล้วก็

1918
02:07:50,336 --> 02:07:54,336
0 กับ 2

1919
02:07:54,337 --> 02:07:58,337
ตำแหน่งที่เปลี่ยน โอ.เค. ไหม

1920
02:07:58,338 --> 02:08:02,338
แล้วก็

1921
02:08:02,339 --> 02:08:06,339
ค่า 3 จะเป็น

1922
02:08:06,340 --> 02:08:10,340
ค่าสุดท้ายจะเป็น ยังเท่ากับ 3 อยู่

1923
02:08:10,342 --> 02:08:14,342
winner เท่ากับอันนี้

1924
02:08:14,343 --> 02:08:18,343
ตั้งแต่ตรง if นี่ลงมา

1925
02:08:18,344 --> 02:08:22,344
เปลี่ยนค่าตรงกลาง แค่นั้น

1926
02:08:22,346 --> 02:08:26,346
เห็นไหม

1927
02:08:26,346 --> 02:08:30,346
ค่าตัวเลข เปลี่ยนแต่ค่าตัวเลข

1928
02:08:30,347 --> 02:08:34,347
จาก 3 เป็น -3 แล้วก็ค่า winner เป็น 2

1929
02:08:34,348 --> 02:08:38,348
ยาวไปล้น

1930
02:08:38,350 --> 02:08:42,350
เยอะเกิน

1931
02:08:42,351 --> 02:08:46,351
เดี๋ยวจะไม่เห็น ถ้าจะก๊อบ

1932
02:08:46,352 --> 02:08:50,352
ตั้งแต่ if mark

1933
02:08:50,353 --> 02:08:54,353
จะทำการ copy ตั้งแต่

1934
02:08:54,354 --> 02:08:58,354
แล้วก็วาง

1935
02:08:58,355 --> 02:09:02,355
เรามาเปลี่ยนค่าเฉพาะ ดัน tab ไปให้มันตรง

1936
02:09:02,358 --> 02:09:06,358
Tab ไปให้มันตรง เปลี่ยน

1937
02:09:06,363 --> 02:09:10,363
ค่าตรง 3 เห็นไหมคะ เป็น -3 ใส่เข้าไป

1938
02:09:10,365 --> 02:09:14,365
เห็นหรือเปล่า ค่าใน array

1939
02:09:14,366 --> 02:09:18,366
ตรงกันหมดเลย เท่าเดิมไม่ได้เปลี่ยนนะคะ

1940
02:09:18,367 --> 02:09:22,367
ค่าในนี้เหมือนเดิม แล้วก็มาเปลี่ยนค่าใน winner อีกที่หนึ่ง

1941
02:09:22,368 --> 02:09:26,368
จาก 1 เป็น 2 แค่นั้น เปลี่ยนอยู่

1942
02:09:26,369 --> 02:09:30,369
1. เห็นไหมคะ จาก 1. เป็น -3

1943
02:09:30,370 --> 02:09:34,370
winner เป็น 2 แค่นั้น

1944
02:09:34,372 --> 02:09:38,372
ทำให้เร็วขึ้น ก๊อบมา

1945
02:09:38,373 --> 02:09:42,373

1946
02:09:42,373 --> 02:09:46,373
ตัวนี้ คือ ตัวที่จะเช็กแถวที่

1947
02:09:46,374 --> 02:09:50,374
ทะแยงลงมานี่ เห็นไหมช่องที่ 1

1948
02:09:50,375 --> 02:09:54,375
ช่องที่ 2 ช่องที่ 3 นี่  ก็คือถ้าแถวนี้

1949
02:09:54,376 --> 02:09:58,376
มันได้ครบ 3 เมื่อไร คนที่

1950
02:09:58,377 --> 02:10:02,377
คลิป x คลิป ทะแยงลงมานี่

1951
02:10:02,378 --> 02:10:06,378
คนที่คลิก x ก็จะเป็นคนชนะ แต่ถ้า

1952
02:10:06,379 --> 02:10:10,379
O ครบ O ก็ชนะอย่างนี้นะคะ

1953
02:10:10,380 --> 02:10:14,380
อันนี้คือการเช็กตามแนวทะแยงของมันเอง

1954
02:10:14,381 --> 02:10:18,381
นะคะ

1955
02:10:18,382 --> 02:10:22,382
ส่งที่โผล่มาก็คือ

1956
02:10:22,384 --> 02:10:26,384
ก่อนจะปิด ก็คือใช้ Keyword ที่ชื่อว่า global

1957
02:10:26,385 --> 02:10:30,385
เพื่อเรียกใช้ตัวแปร winner กับ game over นั่นเอง

1958
02:10:30,386 --> 02:10:34,386
ที่เราประกาศไว้นะคะ

1959
02:10:34,388 --> 02:10:38,388
ก็คือมาเรียกใช้อยู่ตรงนี้

1960
02:10:38,390 --> 02:10:42,390
Keyword global นี่นะคะ

1961
02:10:42,390 --> 02:10:46,390
อยู่ตรงตำแหน่งกับ x_pos นั่นเอง

1962
02:10:46,391 --> 02:10:50,391
นะคะ วิธีการ

1963
02:10:50,392 --> 02:10:54,392
นะคะ พิมพ์ gl เดี๋ยว global มันจะขึ้นมา

1964
02:10:54,394 --> 02:10:58,394
ทีนี้มันมีเป็น 2 global blobal

1965
02:10:58,395 --> 02:11:02,395
กับ global ที่เป็น ฟังก์ชัน

1966
02:11:02,396 --> 02:11:06,396
เพราะฉะนั้นเราจะเรียกใช้

1967
02:11:06,397 --> 02:11:10,397
global คีย์เวิร์ดแล้วก็ตามด้วยตัวแปรนะคะ

1968
02:11:10,398 --> 02:11:14,398
winner นะคะ

1969
02:11:14,399 --> 02:11:18,399
แล้วก็

1970
02:11:18,400 --> 02:11:22,400
ตัวที่ 2 Global

1971
02:11:22,401 --> 02:11:26,401
เลือก global keyword แล้วก็ตามด้วย

1972
02:11:26,402 --> 02:11:30,402
game_over กดผิด

1973
02:11:30,403 --> 02:11:34,403
ga Game Over

1974
02:11:34,404 --> 02:11:38,404
ขึ้นมาแล้วกด Enter

1975
02:11:38,405 --> 02:11:42,405
คือ loop มันเยอะเห็นไหม

1976
02:11:42,406 --> 02:11:46,406
เพราะฉะนั้น มันเลยใช้วิธี Keyword มาช่วยเรียก

1977
02:11:46,407 --> 02:11:50,407
อยู่ตรงนี้นี่ ค่าเริ่มต้น คือ

1978
02:11:50,408 --> 02:11:54,408
มัน ค่ามันจะต้องกลับไปเช็กซ้ำ

1979
02:11:54,410 --> 02:11:58,410
เห็นไหมคะ เช็ก เพราะฉะนั้น มันจะ

1980
02:11:58,411 --> 02:12:02,411
เรียกมาใหม่ เรียกมาใช้ ก็คือให้มันเริ่ม

1981
02:12:02,412 --> 02:12:06,412
Winner เข้ามาครั้งแรก มันก็จะค่าเป็น 0

1982
02:12:06,413 --> 02:12:10,413
Game_over มีค้าเป็น เ

1983
02:12:10,414 --> 02:12:14,414
ค่าเป็น 1 winner ค่าเป็น true เห็นไหมคะ

1984
02:12:14,415 --> 02:12:18,415
ก็เลยต้องมาเรียกใช้ Keyword global

1985
02:12:18,416 --> 02:12:22,416
Global จะเป็นการเรียกตัวแปรที่อยู๋ข้างนอก

1986
02:12:22,417 --> 02:12:26,417
มาใช้งาน ก็คือเรียกตัวนี้มา

1987
02:12:26,418 --> 02:12:30,418
พอเรียก

1988
02:12:30,419 --> 02:12:34,419
เสร็จแล้วทำอะไรต่อ

1989
02:12:34,420 --> 02:12:38,420
เรียกใช้ฟังก์ชัน Winner

1990
02:12:38,421 --> 02:12:42,421
ตำแหน่ง ตำแหน่งที่เราเช็ก

1991
02:12:42,422 --> 02:12:46,422
markers ไง เห็นไหมคะ

1992
02:12:46,423 --> 02:12:50,423
อยู่ตรงนี้นะคะ

1993
02:12:50,424 --> 02:12:54,424
อยู่ตรงนี้ ตรงนี้ ๆ เห็นไหมคะ

1994
02:12:54,425 --> 02:12:58,425
เห็นไหมคะ ก่อนบรรทัด update

1995
02:12:58,427 --> 02:13:02,427
เห็นหรือเปล่า เรียกมาตรงนี้ เพราะตรงนี้

1996
02:13:02,429 --> 02:13:06,429
จะเป็นให้ check_markers

1997
02:13:06,430 --> 02:13:10,430
ก่อนจะอะไร เช็ก Cell mark Player 1

1998
02:13:10,432 --> 02:13:14,432
เช็กผู้เล่นเห็นไหมคะ เพราะฉะนั้นตำแ

1999
02:13:14,433 --> 02:13:18,433
อันนี้ ก็คือ

2000
02:13:18,434 --> 02:13:22,434
check_winner เลือกฟังก์ชัน check_winner

2001
02:13:22,435 --> 02:13:26,435
ขึ้นมาใช้งาน

2002
02:13:26,436 --> 02:13:30,436
โอ.เค. เสร็จหรือยัง

2003
02:13:30,437 --> 02:13:34,437

2004
02:13:34,438 --> 02:13:38,438

2005
02:13:38,440 --> 02:13:42,440
แล้วก็ไป

2006
02:13:42,444 --> 02:13:46,444
ไปให้มันเช็กว่าถ้า Game_over มีค่า

2007
02:13:46,445 --> 02:13:50,445
เป็น 0 นี่นะคะ

2008
02:13:50,446 --> 02:13:54,446
แล้วลองทดสอบโปรแกรม เพราะมันจะต้อง

2009
02:13:54,447 --> 02:13:58,447
เปิดเงื่อนไขเกม Over มาด้วย

2010
02:13:58,448 --> 02:14:02,448
มันถึงจะเช็กได้ ก็คือเมื่อเล่นเสร็จ

2011
02:14:02,448 --> 02:14:06,448

2012
02:14:06,450 --> 02:14:10,450
ตอนไหนนะ

2013
02:14:10,451 --> 02:14:14,451
เช็ก Winner หรอ ย้อนไปอีก

2014
02:14:14,452 --> 02:14:18,452
ย้อนไปอีก ไอ้นี่เหรอ

2015
02:14:18,453 --> 02:14:22,453
ยังไม่ใช่

2016
02:14:22,454 --> 02:14:26,454
global หรือ

2017
02:14:26,455 --> 02:14:30,455
อือ พอ ๆ

2018
02:14:30,456 --> 02:14:34,456
พอเรียกใช้คีย์เวิลด์

2019
02:14:34,456 --> 02:14:38,456
จะเรียก check_winner

2020
02:14:38,457 --> 02:14:42,457
เรียกใช้ check_winner() ต้องกำหนดเงื่อนไขก่อนว่า

2021
02:14:42,458 --> 02:14:46,458
ถ้าเกมมัน Over ให้ค่า

2022
02:14:46,459 --> 02:14:50,459
Game_over เท่ากับ 0 ก็คืออยู่ตรง

2023
02:14:50,460 --> 02:14:54,460
ตำแหน่ง

2024
02:14:54,461 --> 02:14:58,461
บนไหน event.type ก่อนที่จะคลิกเมาศ

2025
02:14:58,462 --> 02:15:02,462
ก็คืออยู่ตรงตำแหน่งนี้ ตำแหน่ง

2026
02:15:02,463 --> 02:15:06,463
ที่เหนือคลิก Mouse นี่

2027
02:15:06,464 --> 02:15:10,464

2028
02:15:10,465 --> 02:15:14,465

2029
02:15:14,468 --> 02:15:18,468

2030
02:15:18,471 --> 02:15:22,471
นะคะ

2031
02:15:22,473 --> 02:15:26,473
ฟังก์ชัน

2032
02:15:26,475 --> 02:15:30,475
condition if แล้วก็

2033
02:15:30,476 --> 02:15:34,476
เกม Over

2034
02:15:34,477 --> 02:15:38,477
กำหนดค่าให้ = 0

2035
02:15:38,478 --> 02:15:42,478

2036
02:15:42,479 --> 02:15:46,479
แล้ว

2037
02:15:46,481 --> 02:15:50,481
มันก็จะมาประโยคนี้ต่อ

2038
02:15:50,482 --> 02:15:54,482
เราจะลอง Run ดูในขั้นตอนนี้

2039
02:15:54,483 --> 02:15:58,483
mark แล้วอะไรแล้ว ใช้ได้ไหม

2040
02:15:58,484 --> 02:16:02,484
Ctrl + B ครับ กด Ctrl + B

2041
02:16:02,485 --> 02:16:06,485
เมื่อใส่เงื่อนไข

2042
02:16:06,486 --> 02:16:10,486
ลืมเรียกอะไรแน่ ๆ เลยทำไม Markers

2043
02:16:10,488 --> 02:16:14,488
ตัวนี้ไม่ขึ้น เดี๋ยวนะ

2044
02:16:14,489 --> 02:16:18,489
check_markers มีแล้ว

2045
02:16:18,489 --> 02:16:22,489
มาแล้ว

2046
02:16:22,490 --> 02:16:26,490
x_pos dorma

2047
02:16:26,491 --> 02:16:30,491
expos

2048
02:16:30,492 --> 02:16:34,492
Error ไม่ขึ้นเสียด้วย check_winner()

2049
02:16:34,494 --> 02:16:38,494

2050
02:16:38,495 --> 02:16:42,495
drownmarkers

2051
02:16:42,497 --> 02:16:46,497
ไปดูชื่อสิตั้งชื่อถูกไหมนี่

2052
02:16:46,498 --> 02:16:50,498
draw_markers()

2053
02:16:50,499 --> 02:16:54,499

2054
02:16:54,500 --> 02:16:58,500

2055
02:16:58,502 --> 02:17:02,502
ขึ้นหรือยัง

2056
02:17:02,506 --> 02:17:06,506
ขึ้นไหมเด็ก ๆ

2057
02:17:06,507 --> 02:17:10,507
ปรากฎของตัวเองไม่ขึ้นบัดนี้

2058
02:17:10,508 --> 02:17:14,508
งงเลย เดี๋ยวนะอะไรหายไป

2059
02:17:14,508 --> 02:17:18,508
Error ก็ไม่ขึ้นนี่สิปัญหา

2060
02:17:18,508 --> 02:17:22,508

2061
02:17:22,509 --> 02:17:26,509
เดี๋ยวขอ Save แล้วขอ

2062
02:17:26,511 --> 02:17:30,511
เซฟแล้วขอเคลียก่อนนะ

2063
02:17:30,512 --> 02:17:34,512
เผื่อมัน Error มันค้าง

2064
02:17:34,513 --> 02:17:38,513
มันเลยหาไม่เจอนี่ ไม่รู้อันไหนเป็นอันไหนนี่

2065
02:17:38,515 --> 02:17:42,515
ขอเคลียร์ แล้วขอ

2066
02:17:42,516 --> 02:17:46,516
ลองเปิดใหม่

2067
02:17:46,517 --> 02:17:50,517
Coding ไปเยอะ ๆ เครื่องก็ Error

2068
02:17:50,518 --> 02:17:54,518
ได้เหมือนกันนะครับ ไม่เฉพาะคน เดี๋ยวจะลง

2069
02:17:54,520 --> 02:17:58,520
Run ใหม่ Ctrl + B ใหม่

2070
02:17:58,522 --> 02:18:02,522
ขึ้นไหนรอบนี้ markers

2071
02:18:02,523 --> 02:18:06,523
เราไปผิดตรงไหนหว่า Error ก็ไม่ขึ้น

2072
02:18:06,524 --> 02:18:10,524
ลืมอะไรไป

2073
02:18:10,525 --> 02:18:14,525

2074
02:18:14,526 --> 02:18:18,526
บรรทัดที่ draw markers

2075
02:18:18,527 --> 02:18:22,527
ไม่ขึ้น ขอดูตำแหน่ง

2076
02:18:22,529 --> 02:18:26,529
เทียบกับค่าเดิม

2077
02:18:26,530 --> 02:18:30,530
ค่าผิดหรือเปล่าหว่า

2078
02:18:30,530 --> 02:18:34,530

2079
02:18:34,532 --> 02:18:38,532
ค่าอะไรผิดสักค่าหนึ่งกัน

2080
02:18:38,534 --> 02:18:42,534
แน่ ๆ เลย ขอดู draw_markers() ก่อนนะครับ

2081
02:18:42,536 --> 02:18:46,536

2082
02:18:46,539 --> 02:18:50,539

2083
02:18:50,540 --> 02:18:54,540
draw_markers มาแล้ว

2084
02:18:54,541 --> 02:18:58,541

2085
02:18:58,541 --> 02:19:02,541

2086
02:19:02,542 --> 02:19:06,542

2087
02:19:06,543 --> 02:19:10,543

2088
02:19:10,544 --> 02:19:14,544

2089
02:19:14,546 --> 02:19:18,546

2090
02:19:18,547 --> 02:19:22,547

2091
02:19:22,549 --> 02:19:26,549

2092
02:19:26,553 --> 02:19:30,553
x_pos = 0

2093
02:19:30,555 --> 02:19:34,555

2094
02:19:34,556 --> 02:19:38,556
for x in markers

2095
02:19:38,557 --> 02:19:42,557

2096
02:19:42,558 --> 02:19:46,558
ถูกต้อง

2097
02:19:46,559 --> 02:19:50,559
y_pos=0

2098
02:19:50,562 --> 02:19:54,562
ถูกต้อง ถ้า y

2099
02:19:54,563 --> 02:19:58,563
= 1 วาดเส้น

2100
02:19:58,564 --> 02:20:02,564
เส้นทำไมไม่วาดให้นะ ตัวแปรประกาศแล้ว

2101
02:20:02,564 --> 02:20:06,564
Green Red

2102
02:20:06,565 --> 02:20:10,565
มันประกาศแล้วนี่

2103
02:20:10,566 --> 02:20:14,566
ไม่ได้ลืมประกาศตัวแปร

2104
02:20:14,568 --> 02:20:18,568
ก็ประกาศแล้ว

2105
02:20:18,569 --> 02:20:22,569

2106
02:20:22,571 --> 02:20:26,571

2107
02:20:26,572 --> 02:20:30,572
draw_screen

2108
02:20:30,575 --> 02:20:34,575
line screen

2109
02:20:34,576 --> 02:20:38,576

2110
02:20:38,577 --> 02:20:42,577
85

2111
02:20:42,578 --> 02:20:46,578

2112
02:20:46,579 --> 02:20:50,579

2113
02:20:50,582 --> 02:20:54,582
marker ขึ้นไหม

2114
02:20:54,583 --> 02:20:58,320
ขึ้นไหม

2115
02:20:58,584 --> 02:21:02,584
Error ไม่ขึ้นอีกแล้วปัญหา

2116
02:21:02,585 --> 02:21:06,585

2117
02:21:06,586 --> 02:21:10,586

2118
02:21:10,587 --> 02:21:14,587

2119
02:21:14,588 --> 02:21:18,588

2120
02:21:18,589 --> 02:21:22,589

2121
02:21:22,591 --> 02:21:26,591

2122
02:21:26,592 --> 02:21:30,592

2123
02:21:30,595 --> 02:21:34,595

2124
02:21:34,596 --> 02:21:38,596

2125
02:21:38,597 --> 02:21:42,597

2126
02:21:42,600 --> 02:21:46,600

2127
02:21:46,602 --> 02:21:50,602

2128
02:21:50,603 --> 02:21:54,603

2129
02:21:54,605 --> 02:21:58,605

2130
02:21:58,607 --> 02:22:02,607

2131
02:22:02,609 --> 02:22:06,609

2132
02:22:06,610 --> 02:22:10,610

2133
02:22:10,611 --> 02:22:14,611
จะบอกว่า Error ก็ไม่ขึ้น

2134
02:22:14,612 --> 02:22:18,612
มาดู for x

2135
02:22:18,613 --> 02:22:22,613
บรรทัดนี้

2136
02:22:22,615 --> 02:22:26,615

2137
02:22:26,618 --> 02:22:30,618

2138
02:22:30,619 --> 02:22:34,619

2139
02:22:34,621 --> 02:22:38,621

2140
02:22:38,622 --> 02:22:42,622

2141
02:22:42,623 --> 02:22:46,623

2142
02:22:46,625 --> 02:22:50,625

2143
02:22:50,627 --> 02:22:54,627

2144
02:22:54,628 --> 02:22:58,628

2145
02:22:58,629 --> 02:23:02,629

2146
02:23:02,634 --> 02:23:06,634

2147
02:23:06,635 --> 02:23:10,635
นี่ไหม

2148
02:23:10,637 --> 02:23:14,637
ตำแหน่งตัวเลข

2149
02:23:14,639 --> 02:23:18,639

2150
02:23:18,639 --> 02:23:22,639
ไม่ screen fil

2151
02:23:22,641 --> 02:23:26,641
background_grid

2152
02:23:26,642 --> 02:23:30,642
อันนี้ draw_grid เรียกใช้ไปแล้ว

2153
02:23:30,643 --> 02:23:34,643

2154
02:23:34,646 --> 02:23:38,646
ทำไมตอน Run ไม่ขึ้น

2155
02:23:38,647 --> 02:23:42,647
นี่ดูยากมากเลย

2156
02:23:42,649 --> 02:23:46,649

2157
02:23:46,651 --> 02:23:50,651
ทำไมไม่ Mark ให้

2158
02:23:50,652 --> 02:23:54,652
markers ไม่ขึ้น

2159
02:23:54,654 --> 02:23:58,654

2160
02:23:58,655 --> 02:24:02,655

2161
02:24:02,657 --> 02:24:06,657

2162
02:24:06,661 --> 02:24:10,661

2163
02:24:10,663 --> 02:24:14,663

2164
02:24:14,666 --> 02:24:18,666

2165
02:24:18,667 --> 02:24:22,667

2166
02:24:22,669 --> 02:24:26,669
เดี๋ยวขอลบตรงนี้

2167
02:24:26,671 --> 02:24:30,671
เพราะเนื่องจากมันไม่ขึ้นมาจากตัวนี้

2168
02:24:30,672 --> 02:24:34,672
มันก็ต้องลบจากตรงนี้ทั้งหมดทั้งปวงเลย

2169
02:24:34,673 --> 02:24:38,673

2170
02:24:38,672 --> 02:24:42,672

2171
02:24:42,674 --> 02:24:46,674
draw_markers ก๊อบมาเลยทั้งยวง

2172
02:24:46,675 --> 02:24:50,675

2173
02:24:50,677 --> 02:24:54,677
ขอก็อบ

2174
02:24:54,678 --> 02:24:58,678

2175
02:24:58,679 --> 02:25:02,679
แล้วลอง Run ใหม่ นั่นไง

2176
02:25:02,680 --> 02:25:06,680
จัดไป

2177
02:25:06,680 --> 02:25:10,680
ตำแหน่ง

2178
02:25:10,681 --> 02:25:14,681
y_pos

2179
02:25:14,681 --> 02:25:18,681

2180
02:25:18,681 --> 02:25:22,681

2181
02:25:22,683 --> 02:25:26,683

2182
02:25:26,684 --> 02:25:30,684
for ...

2183
02:25:30,687 --> 02:25:34,687

2184
02:25:34,689 --> 02:25:38,689

2185
02:25:38,690 --> 02:25:42,690

2186
02:25:42,692 --> 02:25:46,692

2187
02:25:46,695 --> 02:25:50,695

2188
02:25:50,698 --> 02:25:54,698
45

2189
02:25:54,700 --> 02:25:58,700

2190
02:25:58,701 --> 02:26:02,701

2191
02:26:02,704 --> 02:26:06,704

2192
02:26:06,708 --> 02:26:10,708
ไล่ไปทีละจุด

2193
02:26:10,712 --> 02:26:14,712

2194
02:26:14,713 --> 02:26:18,713

2195
02:26:18,714 --> 02:26:22,714
47

2196
02:26:22,715 --> 02:26:26,715

2197
02:26:26,715 --> 02:26:30,715

2198
02:26:30,716 --> 02:26:34,716

2199
02:26:34,718 --> 02:26:38,718
นี่พอก๊อบแล้วจะเป็นแบบนี้ตลอด

2200
02:26:38,720 --> 02:26:42,720

2201
02:26:42,721 --> 02:26:46,721

2202
02:26:46,722 --> 02:26:50,722

2203
02:26:50,724 --> 02:26:54,724
48

2204
02:26:54,726 --> 02:26:58,726
c 18 ก๊อบแล้วจะเป็นอย่างนี้

2205
02:26:58,727 --> 02:27:02,727

2206
02:27:02,728 --> 02:27:06,728

2207
02:27:06,730 --> 02:27:10,730

2208
02:27:10,731 --> 02:27:14,731

2209
02:27:14,732 --> 02:27:18,732

2210
02:27:18,734 --> 02:27:22,734
51

2211
02:27:22,742 --> 02:27:26,742

2212
02:27:26,745 --> 02:27:30,745

2213
02:27:30,747 --> 02:27:34,747

2214
02:27:34,749 --> 02:27:38,749
50

2215
02:27:38,751 --> 02:27:42,751

2216
02:27:42,752 --> 02:27:46,752

2217
02:27:46,755 --> 02:27:50,755

2218
02:27:50,757 --> 02:27:54,757
51

2219
02:27:54,759 --> 02:27:58,759

2220
02:27:58,760 --> 02:28:02,760

2221
02:28:02,761 --> 02:28:06,761

2222
02:28:06,762 --> 02:28:10,762

2223
02:28:10,765 --> 02:28:14,765

2224
02:28:14,767 --> 02:28:18,767
52

2225
02:28:18,769 --> 02:28:22,769

2226
02:28:22,770 --> 02:28:26,770

2227
02:28:26,771 --> 02:28:30,771

2228
02:28:30,774 --> 02:28:34,774

2229
02:28:34,775 --> 02:28:38,775

2230
02:28:38,776 --> 02:28:42,776

2231
02:28:42,778 --> 02:28:46,778
53

2232
02:28:46,779 --> 02:28:50,779

2233
02:28:50,781 --> 02:28:54,781

2234
02:28:54,782 --> 02:28:58,782
ไม่ได้

2235
02:28:58,783 --> 02:29:02,783
ก๊อบมาแล้วไม่ได้ ผิดตรงไหนนะ

2236
02:29:02,788 --> 02:29:06,788

2237
02:29:06,789 --> 02:29:10,789

2238
02:29:10,790 --> 02:29:14,790
แล้ว

2239
02:29:14,791 --> 02:29:18,791
game_over

2240
02:29:18,792 --> 02:29:22,792
กำหนดอันนี้ ก็คือจะสร้างไอ้

2241
02:29:22,793 --> 02:29:26,793
ตัวกล่องข้อความนะคะ

2242
02:29:26,794 --> 02:29:30,794
กล่องข้อความเพื่อ...

2243
02:29:30,795 --> 02:29:34,795
เพื่อแสดงข้อความเมื่อเล่นจบ

2244
02:29:34,795 --> 02:29:38,795
เดี๋ยวจะลองใส่ให้มันจบ ก็คือ

2245
02:29:38,796 --> 02:29:42,796
จะสร้าง draw_winner ขึ้นมา

2246
02:29:42,797 --> 02:29:46,797

2247
02:29:46,798 --> 02:29:50,798
มันจะอยู่

2248
02:29:50,799 --> 02:29:54,799
ที่ตำแหน่งที่... เดี๋ยวจะลองไป

2249
02:29:54,800 --> 02:29:58,800
ให้มันสุด ให้มันเสร็จแล้วจะ Run ทีเดียว

2250
02:29:58,801 --> 02:30:02,801
ตัวนี้นะคะ มันจะ

2251
02:30:02,802 --> 02:30:06,802
เอาไว้ที่ตำแหน่งที่ต่อจาก

2252
02:30:06,803 --> 02:30:10,803
ที่ต่อจาก game_over เมื่อกี้นี้นะคะ

2253
02:30:10,804 --> 02:30:14,804
ก็คือตำแหน่งนี้

2254
02:30:14,805 --> 02:30:18,805
สร้างฟังกชั่นเอาไว้สำหรับ

2255
02:30:18,806 --> 02:30:22,806

2256
02:30:22,807 --> 02:30:26,807
เป็นเพราะเวอร์ชัน อยู่บ้าน...

2257
02:30:26,808 --> 02:30:30,808
เครื่องที่บ้านกับเครื่องที่นี่ไม่ Support กัน

2258
02:30:30,810 --> 02:30:34,810

2259
02:30:34,811 --> 02:30:38,811

2260
02:30:38,812 --> 02:30:42,812

2261
02:30:42,814 --> 02:30:46,814
สร้างฟังก์ชันเพื่อสร้างกล่องข้อความ

2262
02:30:46,819 --> 02:30:50,819
เพื่อเขียนกล่องข้อความนะคะ

2263
02:30:50,821 --> 02:30:54,821
แสดงว่าใครคือคนชนะ

2264
02:30:54,821 --> 02:30:58,821
แล้วก็จะเอาไว้ให้เล่นซ้ำอีกรอบหนึ่ง

2265
02:30:58,822 --> 02:31:02,822
สร้างให้เสร็จ เอาให้สุด

2266
02:31:02,823 --> 02:31:06,823
ทำไมไม่ขึ้นตัวเลข

2267
02:31:06,824 --> 02:31:10,824
d-e-f

2268
02:31:10,825 --> 02:31:14,825
เลือก def ฟังก์ชัน ฟังก์ชันนี้

2269
02:31:14,826 --> 02:31:18,826
ชื่อว่า draw_winner

2270
02:31:18,827 --> 02:31:22,827
draw_Winner draw_ตามด้วย W

2271
02:31:22,830 --> 02:31:26,830
นะคะ

2272
02:31:26,832 --> 02:31:30,832

2273
02:31:30,833 --> 02:31:34,833
โอ.เค.

2274
02:31:34,834 --> 02:31:38,834
ก็คือ

2275
02:31:38,835 --> 02:31:42,835
บอกว่ากำหนดตัวแปร

2276
02:31:42,836 --> 02:31:46,836
ชื่อ win_text = player

2277
02:31:46,837 --> 02:31:50,837
แล้วก็ตามด้วย String

2278
02:31:50,839 --> 02:31:54,839
winner นี่ เป็น winner 1 หรือ winner 2

2279
02:31:54,840 --> 02:31:58,840
แล้วก็ตามด้วย win แปลว่าชน

2280
02:31:58,841 --> 02:32:02,841
อันนี้สามารถเปลี่ยนเป็นภาษาไทยได้ ใน '

2281
02:32:02,842 --> 02:32:06,842
นะคะ ประกาศตัวแปร

2282
02:32:06,843 --> 02:32:10,843
ชื่อ Win_text

2283
02:32:10,846 --> 02:32:14,846
win_text พิมพ์มาก่อนนะคะ

2284
02:32:14,847 --> 02:32:18,847
เพราะเป็นตัวแปรของเราเองที่สร้างขึ้น

2285
02:32:18,848 --> 02:32:22,848
Win_text=

2286
02:32:22,851 --> 02:32:26,851

2287
02:32:26,852 --> 02:32:30,852
=

2288
02:32:30,855 --> 02:32:34,855
' ใส่ข้อความได้ ก็คือ...

2289
02:32:34,855 --> 02:32:38,855

2290
02:32:38,857 --> 02:32:42,857
ผู้เล่น player เมื่อแปลเป็นไทย

2291
02:32:42,858 --> 02:32:46,858
ก็คือผู้เล่น

2292
02:32:46,859 --> 02:32:50,859

2293
02:32:50,860 --> 02:32:54,860
ในภาษาไทยก็คือผู้เล่นนะคะ

2294
02:32:54,861 --> 02:32:58,861
แล้วก็ +

2295
02:32:58,862 --> 02:33:02,862
String s-t

2296
02:33:02,863 --> 02:33:06,863

2297
02:33:06,864 --> 02:33:10,864
เลือก Class_string

2298
02:33:10,865 --> 02:33:14,865
ที่ตามด้วย winner

2299
02:33:14,865 --> 02:33:18,865
วงเล็บค่ะ วงเล็บเปิดวงเล็บปิด

2300
02:33:18,867 --> 02:33:22,867
แล้วก็พิมพ์ winner ลงไป เห็นไหมคะ พิมพ์

2301
02:33:22,868 --> 02:33:26,868
Statement winner ลงไป

2302
02:33:26,869 --> 02:33:30,869
แล้วก็ + ด้วย ข้อความ

2303
02:33:30,869 --> 02:33:34,869
ปกตินะคะ ข้อความที่เราต้องการให้โชว์ แล้วก็เครื่องหมาย

2304
02:33:34,870 --> 02:33:38,870
+ เครื่องหมาย ' แล้วก็

2305
02:33:38,872 --> 02:33:42,872
ผู้เล่นคนที่

2306
02:33:42,873 --> 02:33:46,873
ผู้เล่นคนที่อันนี้ ใช่คำว่า

2307
02:33:46,873 --> 02:33:50,873
ผู้เล่น

2308
02:33:50,874 --> 02:33:54,874

2309
02:33:54,875 --> 02:33:58,875

2310
02:33:58,887 --> 02:34:02,887
ภาษาไทยแปลว่า ชนะ

2311
02:34:02,889 --> 02:34:06,889
นะคะ win แปลว่า ชนะแล้ว

2312
02:34:06,890 --> 02:34:10,890
ต้องการให้มีเว้นวรรคข้างหลัง ก็ใส่...

2313
02:34:10,891 --> 02:34:14,891
นะคะ

2314
02:34:14,892 --> 02:34:18,892
นะคะ

2315
02:34:18,893 --> 02:34:22,893
สิ่ง

2316
02:34:22,895 --> 02:34:26,895
ที่จะทำต่อมา ก็คือมาประกาศตัวแปร font

2317
02:34:26,896 --> 02:34:30,896
กำหนดรูปแบบ font ของเรา

2318
02:34:30,898 --> 02:34:34,898

2319
02:34:34,899 --> 02:34:38,899
ขาดอะไร อะไรหาย

2320
02:34:38,900 --> 02:34:42,900

2321
02:34:42,903 --> 02:34:46,903
พิมพ์ font f-o-n-t

2322
02:34:46,905 --> 02:34:50,905
มาที่ประกาศตัวแปรนะคะ พิมพ์

2323
02:34:50,906 --> 02:34:54,906
font =

2324
02:34:54,907 --> 02:34:58,907
pygame.font

2325
02:34:58,908 --> 02:35:02,908
เรียกใช้ฟังก์ชัน pygame.font

2326
02:35:02,909 --> 02:35:06,909
pygame

2327
02:35:06,910 --> 02:35:10,910
pygame_module

2328
02:35:10,911 --> 02:35:14,911
.font

2329
02:35:14,912 --> 02:35:18,912
f เลือก font module

2330
02:35:18,913 --> 02:35:22,913
เลือก .sys

2331
02:35:22,914 --> 02:35:26,914
sys

2332
02:35:26,915 --> 02:35:30,915
เลือก SysFont เห็นไหมคะ เลือกฟังก์ชัน SysFont

2333
02:35:30,916 --> 02:35:34,916
ใส่วงเล็บเข้าไป ค่าก็คือ

2334
02:35:34,916 --> 02:35:38,916
none

2335
02:35:38,917 --> 02:35:42,917
คีย์เวิร์ดคือ non กับ 40

2336
02:35:42,918 --> 02:35:46,918
40

2337
02:35:46,919 --> 02:35:50,919
นะคะ

2338
02:35:50,920 --> 02:35:54,920
กำหนดค่าให้ font ก็จะ

2339
02:35:54,921 --> 02:35:58,921
เล่นได้เลย non เป็น 40

2340
02:35:58,922 --> 02:36:02,922
มีค่าเป็น 40 นะคะ

2341
02:36:02,923 --> 02:36:06,923

2342
02:36:06,924 --> 02:36:10,924

2343
02:36:10,926 --> 02:36:14,926
เมื่อกี้

2344
02:36:14,926 --> 02:36:18,926
แสดงข้อความ

2345
02:36:18,927 --> 02:36:22,927
เมื่อกี้ ตอนนี้ เราประกาศตัวแปร แล้วให้แสดงข้อความบอก

2346
02:36:22,928 --> 02:36:26,928
แล้วเราให้มันประกาศตัวแปรว่าผู้เล่น

2347
02:36:26,930 --> 02:36:30,930
ชนะแล้วเราไปประกาศตัวแปร เสร็จแล้วขั้นต่อไป

2348
02:36:30,931 --> 02:36:34,931
ก็คือเราจะทำกรอบให้ข้อความของเรา ก็คือตัวที่ 2 นี่

2349
02:36:34,932 --> 02:36:38,932
เห็นไหม Win image

2350
02:36:38,933 --> 02:36:42,933
เรียกใช้ font ที่ประกา

2351
02:36:42,935 --> 02:36:46,935
เมื่อกี้ประกาศตัวแปรหรือยัง ใบเตยประกาศหรือยัง

2352
02:36:46,935 --> 02:36:50,935

2353
02:36:50,937 --> 02:36:54,937

2354
02:36:54,938 --> 02:36:58,938
พอประกาศตัวแปรตัวนี้เสร็จเราก็จะมาสร้าง

2355
02:36:58,938 --> 02:37:02,938
ตัวต่อไป ก็คือตัวกรอบ

2356
02:37:02,939 --> 02:37:06,939
บรรทัดที่ 2 win_img

2357
02:37:06,940 --> 02:37:10,940
ฟอนต์ที่เราสร้างไว้เมื่อกี้

2358
02:37:10,941 --> 02:37:14,941
.wintex

2359
02:37:14,943 --> 02:37:18,943

2360
02:37:18,945 --> 02:37:22,945
ก่อนอื่น...

2361
02:37:22,946 --> 02:37:26,946
โอ.เค. นะ ต้องเป็นอันนี้ก่อน

2362
02:37:26,948 --> 02:37:30,948
win img

2363
02:37:30,948 --> 02:37:34,948
เราก็จะกลับมาที่บรรทัด

2364
02:37:34,949 --> 02:37:38,949
มีของเรา

2365
02:37:38,950 --> 02:37:42,950
นี่ ๆ บรรทัดที่ win draw winner นี่

2366
02:37:42,951 --> 02:37:46,951
draw_winner เราก็จะเปลี่ยนเป็น W

2367
02:37:46,952 --> 02:37:50,952
image ทำไมเป็นตัวใหญ่

2368
02:37:50,953 --> 02:37:54,953
ปลด Caps Lock ก่อน พิมพ์ win

2369
02:37:54,956 --> 02:37:58,956

2370
02:37:58,957 --> 02:38:02,957
Win_img =

2371
02:38:02,957 --> 02:38:06,957

2372
02:38:06,958 --> 02:38:10,958
เท่ากับ

2373
02:38:10,959 --> 02:38:14,959
เรียกใช้ ฟอนต์ที่เราประกาศไป

2374
02:38:14,960 --> 02:38:18,960
o เรียก fontstatement ที่เรากำหนดไว้

2375
02:38:18,961 --> 02:38:22,961
.render

2376
02:38:22,962 --> 02:38:26,962
ฟังก์ชัน พอขึ้นฟังก์ชัน render

2377
02:38:26,963 --> 02:38:30,963
ในวงเล็บตามด้วย

2378
02:38:30,965 --> 02:38:34,965
wintext ตามด้วยค่า true

2379
02:38:34,966 --> 02:38:38,966
blue

2380
02:38:38,969 --> 02:38:42,969
เลือก win_text นะคะ แล้วก็

2381
02:38:42,971 --> 02:38:46,971
colon แล้วก็ค่า true

2382
02:38:46,973 --> 02:38:50,973
เลือก true คีย์เวิลด์ colon

2383
02:38:50,974 --> 02:38:54,974
แล้วก็ตามด้วย

2384
02:38:54,976 --> 02:38:58,976
ค่าสี b-l-u-e

2385
02:38:58,979 --> 02:39:02,979
พิมพ์เอา เพราะเรายังไม่ประกาศตัวแปรสีน้ำเงิน

2386
02:39:02,982 --> 02:39:06,982

2387
02:39:06,982 --> 02:39:10,982
พอ blue เสร็จแล้ว

2388
02:39:10,984 --> 02:39:14,984
สิ่งที่จะทำต่อไป ก็คือนี่

2389
02:39:14,985 --> 02:39:18,985
พอพิมพ์ถึง blue เสร็จ เราก็จะมา

2390
02:39:18,987 --> 02:39:22,987
ประกาศตัวแปรค่าสีน้ำเงินตรงสำแหน่งสี

2391
02:39:22,988 --> 02:39:26,988
เคยประกาศไปแล้ว

2392
02:39:26,988 --> 02:39:30,988
blue b-l

2393
02:39:30,989 --> 02:39:34,989
ขึ้นมาแล้วกด Enter

2394
02:39:34,990 --> 02:39:38,990
ค่าสี คือ อยู่ในวงเล็บ

2395
02:39:38,991 --> 02:39:42,991
ค่าของ blue

2396
02:39:42,996 --> 02:39:46,996
ให้เริ่มที่

2397
02:39:46,999 --> 02:39:50,999
00 กับ 255

2398
02:39:51,002 --> 02:39:55,002
ก็คือมี 0

2399
02:39:55,003 --> 02:39:59,003
0, แล้วก็ตามด้วย

2400
02:39:59,005 --> 02:40:03,005
255 255

2401
02:40:03,006 --> 02:40:07,006
เมื่อประกาศตัวแปรตรงนี้เสร็จ

2402
02:40:07,007 --> 02:40:11,007
ตรงนี้เสร็จ

2403
02:40:11,008 --> 02:40:15,008
เราก็จะเรียกใช้

2404
02:40:15,009 --> 02:40:19,009
ไอ้ตัว screen_build เห็นไหมคะ

2405
02:40:19,010 --> 02:40:23,010
นะคะ

2406
02:40:23,011 --> 02:40:27,011

2407
02:40:27,012 --> 02:40:31,012
พอกำหนด

2408
02:40:31,013 --> 02:40:35,013
ตัวแปรสีนี้แล้ว

2409
02:40:35,015 --> 02:40:39,015
มาที่ตำแหน่งเดิม draw_winner เราเหมือนเดิม

2410
02:40:39,017 --> 02:40:43,017
แล้วก็พิมพ์ screen

2411
02:40:43,018 --> 02:40:47,018
statement

2412
02:40:47,018 --> 02:40:51,018
build เห็นไหมคะ

2413
02:40:51,020 --> 02:40:55,020
build ฟังก์ชัน

2414
02:40:55,021 --> 02:40:58,776

2415
02:40:59,022 --> 02:41:03,022

2416
02:41:03,023 --> 02:41:07,023
ตามด้วย win_img นะคะ

2417
02:41:07,026 --> 02:41:11,026
เราลบ double cod ออก

2418
02:41:11,028 --> 02:41:15,028
ออกแล้วก็ตามด้วย win เราเลือก win_

2419
02:41:15,029 --> 02:41:19,029
image statement แล้วก็ใส่

2420
02:41:19,030 --> 02:41:23,030
:

2421
02:41:23,031 --> 02:41:27,031
แล้วก็วงเล็บเปิด วงเล็บปิดอีก 1 ครั้ง

2422
02:41:27,032 --> 02:41:31,032
อีกหนึ่งครั้ง วงเล็บเปิดวงเล็บปิด

2423
02:41:31,034 --> 02:41:35,034
ในวงเล็บนั้นเราจะใส่

2424
02:41:35,035 --> 02:41:39,035
บอกว่าความกว้าง screen // 2

2425
02:41:39,036 --> 02:41:43,036
ก็คือ มันจะคำนวณจาก Screen

2426
02:41:43,037 --> 02:41:47,037
เราสร้างไวมาหารด้วย 2 แล้ว - ด้วย 100

2427
02:41:47,038 --> 02:41:51,038
แล้วก็คำนวณจาก

2428
02:41:51,039 --> 02:41:55,039
ความสูงของ screen เรา หารด้วย 2 - 50

2429
02:41:55,040 --> 02:41:59,040
ก็จะได้กรอบข้อความคือ

2430
02:41:59,041 --> 02:42:03,041

2431
02:42:03,042 --> 02:42:07,042
screen_y ก่อนใช่ไหม

2432
02:42:07,043 --> 02:42:11,043
เลือกอะไรก่อน เลือก screen_width ก่อน

2433
02:42:11,046 --> 02:42:15,046

2434
02:42:15,047 --> 02:42:19,047
screen_width

2435
02:42:19,049 --> 02:42:23,049
หารใช่ไหมคะ

2436
02:42:23,050 --> 02:42:27,050
// 2

2437
02:42:27,051 --> 02:42:31,051
แล้วก็ลบออกเท่าไร -100

2438
02:42:31,052 --> 02:42:35,052
ส่วนอีกตัวหนึ่ง ก็คือ screen_heig

2439
02:42:35,053 --> 02:42:39,053
height screen height

2440
02:42:39,053 --> 02:42:43,053
// 2 เหมือนกัน

2441
02:42:43,054 --> 02:42:47,054
แล้วก็ลบ 50

2442
02:42:47,055 --> 02:42:51,055
ลบ 50 ความสูงลบออกแค่ 50

2443
02:42:51,056 --> 02:42:55,056

2444
02:42:55,057 --> 02:42:59,057

2445
02:42:59,058 --> 02:43:03,058

2446
02:43:03,061 --> 02:43:07,061
กรอบ

2447
02:43:07,062 --> 02:43:11,062
ข้อความน่ะค่ะ ตัวนี้มันจะวาดกรอบข้อความให้

2448
02:43:11,066 --> 02:43:15,066
สิ่งที่จะทำต่อมา ก็คือ

2449
02:43:15,066 --> 02:43:19,066
ไปเรียกใช้ วาด

2450
02:43:19,068 --> 02:43:23,068
ว่าพื้นที่นี้

2451
02:43:23,069 --> 02:43:27,069
สีน้ำเงินนี่ ขึ้นมา

2452
02:43:27,069 --> 02:43:31,069

2453
02:43:31,070 --> 02:43:35,070
ให้วาดสี่เหลี่ยมสีน้ำเงิน

2454
02:43:35,070 --> 02:43:39,070
สี่เหลี่ยมผืนผ้า

2455
02:43:39,071 --> 02:43:43,071
กรอบที่เป็นสีเขียวขึ้นมา

2456
02:43:43,072 --> 02:43:47,072
มันจะอยู่ก่อน screen_build

2457
02:43:47,073 --> 02:43:51,073
นะคะ พิมพ์ก่อน บรรทัดนี้

2458
02:43:51,074 --> 02:43:55,074
เลือก pygame module.

2459
02:43:55,075 --> 02:43:59,075
.draw

2460
02:43:59,076 --> 02:44:03,076
draw.rect

2461
02:44:03,077 --> 02:44:07,077
เห็นไหม มันจะมีฟังก์ชัน draw_line

2462
02:44:07,078 --> 02:44:11,078
draw line, draw

2463
02:44:11,079 --> 02:44:15,079
rangetangle

2464
02:44:15,081 --> 02:44:19,081
r-e-c-t นะคะ rectan

2465
02:44:19,082 --> 02:44:23,082
ก็คือ สี่เหลี่ยมผืนผ้า

2466
02:44:23,083 --> 02:44:27,083
ตามด้วยค่า

2467
02:44:27,083 --> 02:44:31,083
screen

2468
02:44:31,084 --> 02:44:35,084
screen_width

2469
02:44:35,085 --> 02:44:39,085
หาร 2 อันนี้ก็อบมาก็ได้นะ

2470
02:44:39,086 --> 02:44:43,086

2471
02:44:43,087 --> 02:44:47,087
ลืมระบุ

2472
02:44:47,088 --> 02:44:51,088
เขตพื้นที่ก่อน แล้วก็ใส่สีก่อน ขาดไปท่อนหนึ่ง

2473
02:44:51,089 --> 02:44:55,089
ใส่ Screen เฉย ๆ

2474
02:44:55,090 --> 02:44:59,090
เรียกใช้ลบ screen_width ออกก่อน

2475
02:44:59,092 --> 02:45:03,092

2476
02:45:03,093 --> 02:45:07,093
เลือก screen statement เฉย ๆ

2477
02:45:07,095 --> 02:45:11,095
ตามด้วย สี สีที่เราเรียกใช้ก็คือ

2478
02:45:11,097 --> 02:45:15,097
สีเขียว green statement

2479
02:45:15,098 --> 02:45:19,098
แล้วค่อยมาระบุตำแหน่ง

2480
02:45:19,099 --> 02:45:23,099
screen_width ก๊อบมาได้

2481
02:45:23,101 --> 02:45:27,101
ก็อบจากตัวนี้

2482
02:45:27,102 --> 02:45:31,102
ก๊อปเลย

2483
02:45:31,103 --> 02:45:35,103
ก๊อบปี้

2484
02:45:35,105 --> 02:45:39,105

2485
02:45:39,106 --> 02:45:43,106

2486
02:45:43,107 --> 02:45:47,107
ใส่ colon ก่อนแล้วค่อยวางนะคะ

2487
02:45:47,112 --> 02:45:51,112
วางที่ก๊อบมาเมื่อกี้

2488
02:45:51,113 --> 02:45:55,113
เปลี่ยนค่า

2489
02:45:55,119 --> 02:45:59,119
ข้างใน เปลี่ยนแค่

2490
02:45:59,120 --> 02:46:03,120
ตรงตัวหลัง

2491
02:46:03,121 --> 02:46:07,121
แล้วก็เพิ่มค่า 200 กับ 50 เข้าไป

2492
02:46:07,123 --> 02:46:11,123
เปลี่ยนเป็น 60

2493
02:46:11,124 --> 02:46:15,124

2494
02:46:15,125 --> 02:46:19,125
แล้วก็เพิ่มค่า 200 นั้น เพิ่มค่าจากความยาวน่ะ

2495
02:46:19,126 --> 02:46:23,126

2496
02:46:23,127 --> 02:46:27,127
แล้วก็ความสูงของไอ้ตัวกรอบ

2497
02:46:27,128 --> 02:46:31,128
200 กับ 50

2498
02:46:31,129 --> 02:46:35,129

2499
02:46:35,130 --> 02:46:39,130

2500
02:46:39,131 --> 02:46:43,131

2501
02:46:43,132 --> 02:46:47,132
ก็จะได้ตัวที่มันเป็น

2502
02:46:47,135 --> 02:46:51,135
เป็นตัวนี้นะคะ หลังจากตัวนี้ดู

2503
02:46:51,136 --> 02:46:55,136

2504
02:46:55,137 --> 02:46:59,137
นี่ เห็นไหม

2505
02:46:59,139 --> 02:47:03,139
ไอ้สีเขียว ๆ ข้างหลังนี้ ได้พื้นที่สีเขียว ๆ

2506
02:47:03,140 --> 02:47:07,140
ข้างหลังน่ะขึ้นมา

2507
02:47:07,141 --> 02:47:11,141
ไอ้นี่ Run ได้ ไอ้ตัวนั้น Run ไม่ได้เลย

2508
02:47:11,142 --> 02:47:15,142
คืออะไร

2509
02:47:15,142 --> 02:47:19,142
พอได้กรอบแล้วนะคะ

2510
02:47:19,143 --> 02:47:23,143
กรอบแล้วนะคะ ตรงนี้เรามา

2511
02:47:23,145 --> 02:47:27,145
พิมพ์ winner ใส่เข้าไป

2512
02:47:27,146 --> 02:47:31,146
ตรงฟังก์ชันที่เราสร้างไว้

2513
02:47:31,147 --> 02:47:35,147
เพราะตอนแรกมันไม่มี เราเรียกใช้มัน

2514
02:47:35,148 --> 02:47:39,148
มันไปกดโดนอะไรนี่

2515
02:47:39,150 --> 02:47:43,150
พิมพ์ w ขึ้นมา

2516
02:47:43,151 --> 02:47:47,151
แล้วก็เลือก winner เห็นไหม

2517
02:47:47,153 --> 02:47:51,153
ก็จะเรียก นี่ ๆ ไอ้อันนี้วินเนอร์นี่

2518
02:47:51,154 --> 02:47:55,154
ขึ้นมา เรียกตัวแปร

2519
02:47:55,154 --> 02:47:59,154
winner มานะคะ

2520
02:47:59,157 --> 02:48:03,157
เรียกตัวแปร winner มา

2521
02:48:03,158 --> 02:48:07,158

2522
02:48:07,158 --> 02:48:11,158
เสร็จแล้วให้มันเช็ก

2523
02:48:11,159 --> 02:48:15,159
เช็กว่าถ้า game_over นี่

2524
02:48:15,159 --> 02:48:19,159
จริง ก็คือเล่นจบเกมจริงนี่ draw_winner จะต้องขึ้น

2525
02:48:19,161 --> 02:48:23,161
เพื่อแสดงว่าใครคือผู้ชนะ

2526
02:48:23,161 --> 02:48:27,161
มันจะอยู่ต่อจากบรรทัดที่มี che

2527
02:48:27,163 --> 02:48:31,163

2528
02:48:31,164 --> 02:48:35,164
เราจะเอาไปไว้ตำแหน่งนี้นะคะ

2529
02:48:35,165 --> 02:48:39,165
มันจะอยู่ระยะเยื้อง มันจะอยู่

2530
02:48:39,166 --> 02:48:43,166
อยู่...

2531
02:48:43,167 --> 02:48:47,167
อยู่ก่อน

2532
02:48:47,169 --> 02:48:51,169
อยู่ตรงกับ display ระยะเยื้องอยู่ตรงกับ display

2533
02:48:51,169 --> 02:48:55,169
อยู่ตรงกับตัวนี้

2534
02:48:55,170 --> 02:48:59,170
เพราะฉะนั้น ใส่ if กำหนดเงื่อนไข

2535
02:48:59,171 --> 02:49:03,171
if condition

2536
02:49:03,172 --> 02:49:07,172
เช็กอะไร เช็ก game_over

2537
02:49:07,172 --> 02:49:11,172
ว่า

2538
02:49:11,173 --> 02:49:15,173
เป็นจริงหรือเปล่า จบเกม

2539
02:49:15,174 --> 02:49:19,174
จริงไหม ไหน

2540
02:49:19,175 --> 02:49:23,175
เห็นไหมคะ game_over = True ปุ๊บ

2541
02:49:23,176 --> 02:49:27,176
ก็จะไปเรียกใช้ draw winner

2542
02:49:27,177 --> 02:49:31,177
draw_winner

2543
02:49:31,178 --> 02:49:35,178
เรียกใช้ฟังก์ชันเลย

2544
02:49:35,179 --> 02:49:39,179
draw_winner

2545
02:49:39,181 --> 02:49:43,181
วงเล็บ winner ของเรานะคะ

2546
02:49:43,182 --> 02:49:47,182
winner ของเรา

2547
02:49:47,183 --> 02:49:51,183
ทำไมไม่เรียก ปกติเรียกแล้วขึ้นเลยนี่

2548
02:49:51,184 --> 02:49:55,184
เอาใหม่

2549
02:49:55,185 --> 02:49:59,185

2550
02:49:59,186 --> 02:50:03,186

2551
02:50:03,187 --> 02:50:07,187

2552
02:50:07,188 --> 02:50:11,188

2553
02:50:11,190 --> 02:50:15,190

2554
02:50:15,191 --> 02:50:19,191

2555
02:50:19,193 --> 02:50:23,193

2556
02:50:23,195 --> 02:50:27,195

2557
02:50:27,197 --> 02:50:31,197

2558
02:50:31,199 --> 02:50:35,199
จะเป็นอย่างนี้นะคะ

2559
02:50:35,200 --> 02:50:39,200

2560
02:50:39,201 --> 02:50:43,201
เช็กว่า game_over ใหม่ ถ้าใช่

2561
02:50:43,204 --> 02:50:47,204
เรียกใช้ ฟังก์ชันนี้ ลอง Run ดู

2562
02:50:47,205 --> 02:50:51,205
ขึ้นไหม

2563
02:50:51,206 --> 02:50:55,206

2564
02:50:55,209 --> 02:50:59,209
เดี๋ยวค่อย Run ทีเดียวเลย ไปต่อ ๆ

2565
02:50:59,210 --> 02:51:03,210
ทำกรอบให้สร้างข้อความ Play Again

2566
02:51:03,211 --> 02:51:07,211
เล่นอีกครั้งหนึ่ง เล่นซ้ำ เล่นใหม่

2567
02:51:07,212 --> 02:51:11,212
Again_text นะคะ ตัวนี้คือตัวนี้

2568
02:51:11,213 --> 02:51:15,213

2569
02:51:15,214 --> 02:51:19,214
จะมีตัวแปรชื่อ

2570
02:51:19,215 --> 02:51:23,215
ตัวแปรชื่อ again Text

2571
02:51:23,216 --> 02:51:27,216
ตัวแปรที่ชื่อ again_image

2572
02:51:27,218 --> 02:51:31,218
กรอบข้อความนั้นนะคะ แล้วก็

2573
02:51:31,219 --> 02:51:35,219
แล้วก็ตัวกรอบ

2574
02:51:35,219 --> 02:51:39,126
นะคะ

2575
02:51:39,220 --> 02:51:43,220
ทีเดียวเลย

2576
02:51:43,221 --> 02:51:47,221

2577
02:51:47,225 --> 02:51:51,225
ตัวนี้เป็นตัวแปร

2578
02:51:51,231 --> 02:51:55,231
เพราะฉะนั้นพิมพ์ใหม่

2579
02:51:55,232 --> 02:51:59,232

2580
02:51:59,233 --> 02:52:03,233

2581
02:52:03,236 --> 02:52:07,236

2582
02:52:07,238 --> 02:52:11,238
= นะคะ แล้วก็เครื่องหมาย

2583
02:52:11,240 --> 02:52:15,240
คำพูด หรือ '

2584
02:52:15,240 --> 02:52:19,240
=

2585
02:52:19,242 --> 02:52:23,242
เล่น

2586
02:52:23,243 --> 02:52:27,243

2587
02:52:27,244 --> 02:52:31,244

2588
02:52:31,245 --> 02:52:35,245

2589
02:52:35,246 --> 02:52:39,246

2590
02:52:39,247 --> 02:52:43,247

2591
02:52:43,249 --> 02:52:47,249
again

2592
02:52:47,251 --> 02:52:51,251
_img

2593
02:52:51,252 --> 02:52:55,252

2594
02:52:55,253 --> 02:52:59,253

2595
02:52:59,254 --> 02:53:03,254
ตัวนี้นะคะ ตัวนี้

2596
02:53:03,255 --> 02:53:07,255
ไปก๊อบจาก font นี่ font.render

2597
02:53:07,256 --> 02:53:11,256
เห็นไหมคะ ก็อบจากตัวนี้มาได้

2598
02:53:11,257 --> 02:53:15,257
ได้

2599
02:53:15,259 --> 02:53:19,259

2600
02:53:19,260 --> 02:53:23,260

2601
02:53:23,262 --> 02:53:27,262
แต่เปลี่ยนตรง Win_text เป็น

2602
02:53:27,266 --> 02:53:31,266
เปลี่ยนตรงนี้จาก win_text เป็น

2603
02:53:31,267 --> 02:53:35,267
again again_text

2604
02:53:35,268 --> 02:53:39,268
ของเราแทน

2605
02:53:39,270 --> 02:53:43,270
ก็อบจากตรงนี้ได้เลย ตัวเดียวกัน

2606
02:53:43,270 --> 02:53:47,270
กรอบเหมือนกันเช่นเดียวกันกับ

2607
02:53:47,270 --> 02:53:51,270
ก๊อบตรงนี้เหมือนกัน screen_build

2608
02:53:51,271 --> 02:53:55,271
ก๊อบมาเลย เพราะมันคือขนาดเดียวกันเลย เห็นไหม

2609
02:53:55,272 --> 02:53:59,272
เปลี่ยนค่า

2610
02:53:59,273 --> 02:54:03,273
นะคะ

2611
02:54:03,274 --> 02:54:07,274

2612
02:54:07,275 --> 02:54:11,275
นี่ ก๊อบ screen.blit มาเลย

2613
02:54:11,276 --> 02:54:15,276
ให้มันเร็วขึ้น

2614
02:54:15,277 --> 02:54:19,204

2615
02:54:19,278 --> 02:54:23,278
ค่าอะไรบ้าง

2616
02:54:23,279 --> 02:54:27,279

2617
02:54:27,281 --> 02:54:31,281
เปลี่ยนค่าตรง

2618
02:54:31,285 --> 02:54:35,285
ตรง Win_img เป็น

2619
02:54:35,286 --> 02:54:39,286
screen_width s

2620
02:54:39,286 --> 02:54:43,286
เป็นจาก -50 เป็น

2621
02:54:43,288 --> 02:54:47,288
+10 แค่นั้นเอง

2622
02:54:47,289 --> 02:54:51,289
เปลี่ยนตรงนี้

2623
02:54:51,290 --> 02:54:55,290
ลบออกแล้วก็พิมพ์ again

2624
02:54:55,292 --> 02:54:59,292
แล้วเลือก again_img นะคะ

2625
02:54:59,294 --> 02:55:03,294
ลบ 100 เปลี่ยนเป็น 80

2626
02:55:03,294 --> 02:55:07,294
-50 เป็น + อะไรนะ

2627
02:55:07,295 --> 02:55:11,295
+ 10

2628
02:55:11,296 --> 02:55:15,296
เปลี่ยนค่าแค่ตรงนี้นะคะ

2629
02:55:15,297 --> 02:55:19,297
เห็นไหมคะ จะไล่ให้สุด

2630
02:55:19,298 --> 02:55:23,298
ไปให้สุด สุดขอบกันไปเลย

2631
02:55:23,299 --> 02:55:27,299
ก็

2632
02:55:27,300 --> 02:55:31,300
ประกาศตัวแปรชื่อ

2633
02:55:31,302 --> 02:55:35,302
again

2634
02:55:35,302 --> 02:55:39,302
จะกำหนดค่าสี่เหลี่ยม

2635
02:55:39,304 --> 02:55:43,304

2636
02:55:43,305 --> 02:55:47,305
ไปไหนแล้ว ๆ

2637
02:55:47,305 --> 02:55:51,305
ต่อจากตรงฟอนต์

2638
02:55:51,306 --> 02:55:55,306
นี่นะคะ

2639
02:55:55,308 --> 02:55:59,308
พิมพ์ ใช้พิมพ์นะคะ

2640
02:55:59,309 --> 02:56:03,309
เพราะเป็นตัวแปร again

2641
02:56:03,310 --> 02:56:07,310
again_

2642
02:56:07,311 --> 02:56:11,311
recg

2643
02:56:11,313 --> 02:56:15,313
regetangle

2644
02:56:15,314 --> 02:56:19,314
จะกำหนดค่าให้

2645
02:56:19,315 --> 02:56:23,315
นะคะ screen y

2646
02:56:23,316 --> 02:56:27,316
อันนี้เราไปก็อบค่าจากตัวนี้ได้

2647
02:56:27,317 --> 02:56:31,317

2648
02:56:31,318 --> 02:56:35,318

2649
02:56:35,319 --> 02:56:39,319
ตัวนี้เห็นไหม ค่าเดียวกัน

2650
02:56:39,320 --> 02:56:43,320
ตัวนี้เห็นไหม เป็นตัวเดียวกันเลย

2651
02:56:43,321 --> 02:56:47,321

2652
02:56:47,323 --> 02:56:51,323
ก๊อบปี้เลยนะคะ

2653
02:56:51,325 --> 02:56:55,325
นี่

2654
02:56:55,327 --> 02:56:59,327
เอามา

2655
02:56:59,328 --> 02:57:03,328
ใส่ตรงนี้

2656
02:57:03,330 --> 02:57:07,330

2657
02:57:07,331 --> 02:57:11,331
ก่อนอื่นพิมพ์ arec ก่อน

2658
02:57:11,332 --> 02:57:15,001

2659
02:57:15,334 --> 02:57:19,334

2660
02:57:19,335 --> 02:57:23,335
มันเป็นคลาสนะคะ re

2661
02:57:23,337 --> 02:57:27,337
re เลือกคลาส

2662
02:57:27,338 --> 02:57:31,338
re ก็คือตัวนี้ ตัสมหญ่

2663
02:57:31,339 --> 02:57:35,339
นะคะ แล้วก็

2664
02:57:35,341 --> 02:57:39,341
วาง screen_width

2665
02:57:39,342 --> 02:57:43,342
screen y ค่า

2666
02:57:43,344 --> 02:57:47,344
80 แล้วก็ 160 50

2667
02:57:47,346 --> 02:57:51,346
เปลี่ยนค่าตรงนี้เป็น 80

2668
02:57:51,347 --> 02:57:55,347
ตัวนี้เป็น

2669
02:57:55,347 --> 02:57:59,347
ตัวนี้เป็นลบเท่าไรนิ

2670
02:57:59,347 --> 02:58:03,347
หาร 2 หาร 2

2671
02:58:03,348 --> 02:58:07,348
แล้วก็

2672
02:58:07,349 --> 02:58:11,349
ไม่มีลบนะคะ ตัวนี้ไม่ต้องลบ

2673
02:58:11,351 --> 02:58:15,351
ตามด้วย 160 กับ 50

2674
02:58:15,352 --> 02:58:19,352
-200 ออก เอา 50

2675
02:58:19,353 --> 02:58:23,353
โอ.เค.

2676
02:58:23,354 --> 02:58:27,354
ประกาศตัวแปรสำหรับ

2677
02:58:27,355 --> 02:58:31,355
สี่เหลี่ยมที่ 2

2678
02:58:31,356 --> 02:58:35,356
เมื่อ ประกาศแล้วเอามา

2679
02:58:35,356 --> 02:58:39,356
ใส่บรรทัดก่อนหน้า screen_build

2680
02:58:39,357 --> 02:58:43,357
นี่

2681
02:58:43,357 --> 02:58:47,357
ก็คือ เลือกใช้ pygame ต่อ แล้วก็เลือก

2682
02:58:47,358 --> 02:58:51,358
screen นะคะ

2683
02:58:51,359 --> 02:58:55,359
ตรงก่อน screen_build

2684
02:58:55,360 --> 02:58:59,360
เลือก pygame module

2685
02:58:59,361 --> 02:59:03,361
.draw

2686
02:59:03,362 --> 02:59:07,362
.recgtencle

2687
02:59:07,363 --> 02:59:11,363

2688
02:59:11,364 --> 02:59:15,364

2689
02:59:15,366 --> 02:59:19,366
แล้วก็กำหนด Screen

2690
02:59:19,368 --> 02:59:23,368
screen statement ตามด้วยสี

2691
02:59:23,369 --> 02:59:27,369
green_statement เหมือนเดิมนะคะ

2692
02:59:27,370 --> 02:59:31,370
แล้วก็ตามด้วย

2693
02:59:31,371 --> 02:59:35,371
อีกตัว ตัวสุดท้าย ตัวที่เราสร้าง

2694
02:59:35,371 --> 02:59:39,371
again

2695
02:59:39,373 --> 02:59:43,373
สี่เหลี่ยมผืนผ้าอีกตัวหนึ่ง

2696
02:59:43,374 --> 02:59:47,374
ก็คือตัวแปร again

2697
02:59:47,375 --> 02:59:51,375
again_img,

2698
02:59:51,376 --> 02:59:55,376
โอ.เค. เสร็จหรือยัง

2699
02:59:55,377 --> 02:59:59,377

2700
02:59:59,378 --> 03:00:03,378
แล้วลองเดี๋ยวไปทดสอบ

2701
03:00:03,379 --> 03:00:07,379

2702
03:00:07,381 --> 03:00:11,381
เพิ่ม เพิ่ม Even ตัวนี้

2703
03:00:11,381 --> 03:00:15,381
event ตรงนี้ เงื่อนไขเมื่อคลิกนี่

2704
03:00:15,382 --> 03:00:19,382
ไม่ได้ทำใหม่นะคะ เดี๋ยวเราจะไปก๊อบ มันอยู่ตรงไหน เดี๋ยวเราจะไปดู

2705
03:00:19,384 --> 03:00:23,384
ตัวนี้จะอยู่

2706
03:00:23,387 --> 03:00:27,387
ตรง เราจะเอา

2707
03:00:27,388 --> 03:00:31,388
ตัวเมื่อกี้มาใส่ตรงตำแหน่งนี้

2708
03:00:31,389 --> 03:00:35,389
จากตรงนี้นี่ไง เห็นไหม

2709
03:00:35,390 --> 03:00:39,390
เห็นเปล่า

2710
03:00:39,391 --> 03:00:43,391
ถึง pos game เห็นไหมคะ

2711
03:00:43,392 --> 03:00:47,392
เราจะไปก๊อบที่

2712
03:00:47,393 --> 03:00:51,393
if event เมาส์คลิกนี่เห็นไหม

2713
03:00:51,394 --> 03:00:55,394
ก็อบมาเลยไม่ต้องพิมพ์ใหม่

2714
03:00:55,395 --> 03:00:59,395
Copy แล้วก็เอามาวางตำแหน่งนี้ได้เลย

2715
03:00:59,395 --> 03:01:03,395
เห็นไหมคะ

2716
03:01:03,397 --> 03:01:07,397
แต่จัดให้ตำแหน่งของ if มันอยู่ตรง draw_winner

2717
03:01:07,399 --> 03:01:11,399
แค่นั้นเอง

2718
03:01:11,399 --> 03:01:15,399
statement ให้มันตรงกับ draw

2719
03:01:15,400 --> 03:01:19,400
winner เห็นไหม โอ.เค. นะคะ

2720
03:01:19,401 --> 03:01:23,401
ก็จะได้ตรง

2721
03:01:23,402 --> 03:01:27,402
คลิก เมื่อมันคลิกเมาส์ จะได้ค่าอะไร

2722
03:01:27,403 --> 03:01:31,403
จะได้ค่าอะไร สิ่งที่จะเพิ่ม

2723
03:01:31,404 --> 03:01:35,404
ก็คือให้ reset ตัวแปร ตัวนี้

2724
03:01:35,405 --> 03:01:39,405
ก็ไม่ต้องพิมพ์ เรา

2725
03:01:39,407 --> 03:01:43,407
ใช้วิธีไปก็อบตัวแปรของเรา

2726
03:01:43,408 --> 03:01:47,408
copy ตัวแปรนี่ไง

2727
03:01:47,408 --> 03:01:51,408
ประกาศตัวแปรไว้น่ะ เราจะคืนค่าให้มัน

2728
03:01:51,409 --> 03:01:55,409
เราก๊อบเลยค่ะ นี่

2729
03:01:55,411 --> 03:01:59,411
ก็อบปี้ตัวแปรตรงนี้เลย

2730
03:01:59,412 --> 03:02:03,412
ก็อบแล้วเอามาวางเพื่อ Reset ค่า

2731
03:02:03,414 --> 03:02:07,414
วางตำแหน่งให้มันตรงกับ

2732
03:02:07,415 --> 03:02:11,415

2733
03:02:11,416 --> 03:02:15,416
ตำแหน่งของ Pos oujot8t

2734
03:02:15,416 --> 03:02:19,416
นี่นะคะ ใส่เงื่อนไขว่า

2735
03:02:19,419 --> 03:02:23,419
if again_rectangle เข้าไปก่อน

2736
03:02:23,419 --> 03:02:27,419
ลงไปก่อน ตรงนี้นะคะ

2737
03:02:27,419 --> 03:02:31,419
ใส่ statement if

2738
03:02:31,420 --> 03:02:35,420

2739
03:02:35,421 --> 03:02:39,421
แล้วก็ตามด้วย

2740
03:02:39,422 --> 03:02:43,422
ค่า .collidepoint

2741
03:02:43,423 --> 03:02:47,423
นะคะ co

2742
03:02:47,425 --> 03:02:51,425
ตัวนี้มันจะขึ้นมาเอง พิมพ์เลย .c

2743
03:02:51,426 --> 03:02:55,426
o

2744
03:02:55,427 --> 03:02:59,427
แล้วก็เลือก collidepoint

2745
03:02:59,428 --> 03:03:03,428
ฟังก์ชันนี่ ใส่วงเล็บ

2746
03:03:03,429 --> 03:03:07,429
เข้าไปในวงเล็บใส่

2747
03:03:07,431 --> 03:03:11,431
pos ค่ะ ใส่ตัวแปร

2748
03:03:11,432 --> 03:03:15,432
pos stetement นี่

2749
03:03:15,433 --> 03:03:19,433
ส่วนตรงที่เราจะใส่ ที่เราจะไปก็อบ

2750
03:03:19,434 --> 03:03:23,434
เราจะไปก็อบตัวแปรทั้งหมด

2751
03:03:23,435 --> 03:03:27,435
เอามานี่ ก๊อบมานี่ จนถึง game_over

2752
03:03:27,436 --> 03:03:31,436
ก๊อบมาค่ะ ก๊อบปี้มา

2753
03:03:31,437 --> 03:03:35,437
แล้วก็เอามาวางตรงนี้เลย

2754
03:03:35,440 --> 03:03:39,440

2755
03:03:39,441 --> 03:03:43,441
ตัวที่เราจะใช้

2756
03:03:43,442 --> 03:03:47,442
มีแค่ markers pos winner

2757
03:03:47,442 --> 03:03:51,442
นะคะ marker click เราไม่ใช้

2758
03:03:51,444 --> 03:03:55,178
เราไม่ใช้ เราก็ลบออก

2759
03:03:55,445 --> 03:03:59,445
y เราไม่ใช้เราก็ลบออก

2760
03:03:59,446 --> 03:04:03,446
markers ใช้ pos ใช้นะคะ

2761
03:04:03,447 --> 03:04:07,447
player ใช้ winner ใช้

2762
03:04:07,448 --> 03:04:11,448
player ใช้

2763
03:04:11,449 --> 03:04:15,449
ใช้ คืนค่าแล้วจะ

2764
03:04:15,449 --> 03:04:19,449
Reset ค่าใหม่อีกครั้งหนึ่ง คือ ถ้ามีการ

2765
03:04:19,451 --> 03:04:23,451
คลิกเมาส์ตรงปุ่ม play again หรือ play

2766
03:04:23,452 --> 03:04:27,452
นี่นะคะ ไอ้ตัวนี้มันก็จะต้องมี Reset

2767
03:04:27,452 --> 03:04:31,452
ค่ากลับไปเริ่มต้นค่าเริ่มต้นเสมอ

2768
03:04:31,452 --> 03:04:35,452

2769
03:04:35,454 --> 03:04:39,454
แล้วมันก็จะเช็กตำแหน่ง

2770
03:04:39,455 --> 03:04:43,455
มันก็จะเช็กตำแหน่ง ตัวนี้ว่า

2771
03:04:43,457 --> 03:04:47,457
จากที่เราสร้างไว้ ก็คือตรงนี้

2772
03:04:47,457 --> 03:04:51,457

2773
03:04:51,458 --> 03:04:55,458

2774
03:04:55,459 --> 03:04:59,459
นี่เห็นไหมคะ ตรงตำแหน่ง

2775
03:04:59,460 --> 03:05:03,460
for x_inrange

2776
03:05:03,462 --> 03:05:07,462
append (row) นี่ ตำแหน่งนี้

2777
03:05:07,463 --> 03:05:11,463
เพื่อให้มัน reset ค่านี้ด้วย

2778
03:05:11,464 --> 03:05:15,464

2779
03:05:15,464 --> 03:05:19,464

2780
03:05:19,465 --> 03:05:23,465

2781
03:05:23,467 --> 03:05:27,467
เอาให้เสร็จ ๆ

2782
03:05:27,469 --> 03:05:31,469
เอาให้เสร็จไม่อย่างนั้นไปต่อไม่ได้คาใจ

2783
03:05:31,471 --> 03:05:35,471
โอ.เค. นะคะ น่าจะ

2784
03:05:35,472 --> 03:05:39,472
เสร็จแล้ว นี่จบแล้ว

2785
03:05:39,472 --> 03:05:43,472
พอดี อันสุดท้าย

2786
03:05:43,473 --> 03:05:47,473

2787
03:05:47,473 --> 03:05:51,473
มันจะจบที่

2788
03:05:51,474 --> 03:05:55,474
ไปก๊อบปี้ไอ้ตรงเช็ก mark น่ะ

2789
03:05:55,475 --> 03:05:59,475
เสร็จแล้วเราลอง Run ctrl+B

2790
03:05:59,475 --> 03:06:03,475
Ctrl B นะคะ

2791
03:06:03,476 --> 03:06:07,476
Error มาเลยเป็นแถวมาเลย

2792
03:06:07,477 --> 03:06:11,477
line 101

2793
03:06:11,477 --> 03:06:15,477

2794
03:06:15,477 --> 03:06:19,477
บรรทัดที่

2795
03:06:19,478 --> 03:06:23,478
101 บอก

2796
03:06:23,479 --> 03:06:27,479
ค่าไม่ถูก

2797
03:06:27,480 --> 03:06:31,480

2798
03:06:31,482 --> 03:06:35,482

2799
03:06:35,484 --> 03:06:39,484

2800
03:06:39,485 --> 03:06:43,485

2801
03:06:43,486 --> 03:06:47,486

2802
03:06:47,487 --> 03:06:51,487

2803
03:06:51,488 --> 03:06:55,488

2804
03:06:55,489 --> 03:06:59,489

2805
03:06:59,491 --> 03:07:03,491

2806
03:07:03,495 --> 03:07:07,495

2807
03:07:07,497 --> 03:07:11,497

2808
03:07:11,499 --> 03:07:15,499

2809
03:07:15,500 --> 03:07:19,500

2810
03:07:19,502 --> 03:07:23,502

2811
03:07:23,503 --> 03:07:27,503

2812
03:07:27,506 --> 03:07:31,506

2813
03:07:31,508 --> 03:07:35,508

2814
03:07:35,510 --> 03:07:39,510

2815
03:07:39,512 --> 03:07:43,512

2816
03:07:43,512 --> 03:07:47,512

2817
03:07:47,513 --> 03:07:51,513

2818
03:07:51,518 --> 03:07:55,518
ทำมเวอร์ชั่นนี้ขึ้นตลอดเลย

2819
03:07:55,520 --> 03:07:59,520

2820
03:07:59,521 --> 03:08:03,521

2821
03:08:03,522 --> 03:08:07,522

2822
03:08:07,523 --> 03:08:11,523

2823
03:08:11,525 --> 03:08:15,525
ได้ไหม เหมือนเดิม

2824
03:08:15,527 --> 03:08:19,527
โอ.เค. ค่ะ เดี๋ยวจะไปหาวิธีแก้

2825
03:08:19,528 --> 03:08:23,528
indentation error ก่อนน

2826
03:08:23,529 --> 03:08:27,529
Error ก่อนนะขึ้นอีกแล้ว

2827
03:08:27,530 --> 03:08:31,530
ถ้าสมมติเรา Run อันนี้

2828
03:08:31,530 --> 03:08:35,530
Run จากตัวเครื่องที่บ้านผ่าน ไม่เข้าใจเหมือนกัน

2829
03:08:35,531 --> 03:08:39,531
ก็คือผลก็คือ เมื่อคลิก

2830
03:08:39,533 --> 03:08:43,533
X ตำแหน่งนี้คนที่ 1 นะคะ

2831
03:08:43,533 --> 03:08:47,533
หรือคนที่ 2 คลิก o ตำแหน่งนี้

2832
03:08:47,534 --> 03:08:51,534
เมื่อเล่นไป ถ้าเกิดคนที่ 1 ชนะนี่เห็นไหม

2833
03:08:51,535 --> 03:08:55,535
เห็นไหม มันก็จะขึ้นข้อความแสดง

2834
03:08:55,536 --> 03:08:59,536
ว่าใครชนะขึ้นมา แล้วก็จะมีข้อความว่า

2835
03:08:59,537 --> 03:09:03,537
ให้เล่นอีกครั้ง เมื่อเรากดที่

2836
03:09:03,538 --> 03:09:07,538
เล่นอีกครั้งหนึ่งนี่ มันก็จะทำการ Reset ค่า

2837
03:09:07,539 --> 03:09:11,539
ที่เรา Post ขึ้นไป ก็คือเคลียร์ค่า

2838
03:09:11,540 --> 03:09:15,540

2839
03:09:15,541 --> 03:09:19,541

2840
03:09:19,542 --> 03:09:23,542
อย่างนี้นะคะ

2841
03:09:23,543 --> 03:09:27,543
คนที่ 1 ก็ชนะนี่ เพราะเช็กตามทะแยง

2842
03:09:27,544 --> 03:09:31,544
เพราะเช็กตามทะแยงได้ถูกต้อง

2843
03:09:31,545 --> 03:09:35,545
แต่ถ้าไม่เล่นก็กดปุ่มออก

2844
03:09:35,544 --> 03:09:39,544
จากเกม ไอ้นี่ Error ไม่ขึ้นเลย

2845
03:09:39,545 --> 03:09:43,545
มันไปจำค่าอะไร

2846
03:09:43,547 --> 03:09:47,547

2847
03:09:47,548 --> 03:09:51,548
build resoul

2848
03:09:51,550 --> 03:09:55,550
ขึ้นไหม

2849
03:09:55,551 --> 03:09:59,551
เดี๋ยวลอง

2850
03:09:59,552 --> 03:10:03,552
เคลียค่าไม่ได้เลย

2851
03:10:03,555 --> 03:10:07,555
control+B ใหม่

2852
03:10:07,555 --> 03:10:11,555
winner แล้วบอก

2853
03:10:11,556 --> 03:10:15,556
Tab ไม่ไปด้วย Tab ผิด

2854
03:10:15,557 --> 03:10:19,557
เคืองมาก

2855
03:10:19,558 --> 03:10:23,558

2856
03:10:23,558 --> 03:10:27,558

2857
03:10:27,559 --> 03:10:31,559

2858
03:10:31,561 --> 03:10:35,561

2859
03:10:35,562 --> 03:10:39,562

2860
03:10:39,563 --> 03:10:43,563

2861
03:10:43,565 --> 03:10:47,565

2862
03:10:47,567 --> 03:10:51,567
ไม่ขยับเคลื่อนไหวเลย

2863
03:10:51,568 --> 03:10:55,568

2864
03:10:55,569 --> 03:10:59,569
อะไรมันขึ้นมานี่

2865
03:10:59,570 --> 03:11:03,570
แ

2866
03:11:03,571 --> 03:11:07,571

2867
03:11:07,574 --> 03:11:11,574
นะคะ เดี๋ยว

2868
03:11:11,575 --> 03:11:15,575
จะขอเคลียร์ indent Error

2869
03:11:15,576 --> 03:11:19,576
ของเด็ก ๆ ออกไหม test ยัง

2870
03:11:19,577 --> 03:11:23,577
ออกหรือเปล่าคะ

2871
03:11:23,580 --> 03:11:27,580
ขึ้น Error อะไร

2872
03:11:27,584 --> 03:11:31,584
Tab Error อีกแล้ว

2873
03:11:31,585 --> 03:11:35,585
ไม่เป็นไร เราจะดูกันเองในภายหลัง

2874
03:11:35,586 --> 03:11:39,586
ถ้าอย่างนั้นเดี๋ยวเราจะพอแค่นี้

2875
03:11:39,588 --> 03:11:43,588
เช็กปัญหา...

2876
03:11:43,589 --> 03:11:47,589
ได้ มันก็อยู่ในเครื่องนี่

2877
03:11:47,590 --> 03:11:51,590
เออ

2878
03:11:51,591 --> 03:11:55,591
มันต้อง

2879
03:11:55,592 --> 03:11:59,592

2880
03:11:59,593 --> 03:12:03,593

2881
03:12:03,598 --> 03:12:07,598
มันต้องเช็กดี ๆ นี่ขนาด

2882
03:12:07,600 --> 03:12:11,600
นี่ขนาด เขา Run มา

2883
03:12:11,600 --> 03:12:15,600
ก็ได้ เดี๋ยวขอบคุณก่อน ขอบคุณล่ามก่อน

2884
03:12:15,601 --> 03:12:19,601
สำหรับวันนี้นะคะ

2885
03:12:19,602 --> 03:12:23,602
ขอบคุณพี่ล่ามที่อยู่ด้วยจนสุด ๆ เลย

2886
03:12:23,603 --> 03:12:27,603
ขอบคุณมากค่ะ

2887
03:12:27,604 --> 03:12:31,604
ค่ะ (นักศึกษา) ขอบคุณครับ (อาจารย์) Error เยอะมาก ก็ไม่เยอะ

2888
03:12:31,605 --> 03:12:35,605

2889
03:12:35,606 --> 03:12:39,606
[สิ้นสุดการถอดความ]

2890
03:12:39,607 --> 03:12:43,607
แ

2891
03:12:43,608 --> 03:12:47,608
[สิ้นสุดการถอดความ]

2892
03:12:47,610 --> 03:12:51,610

2893
03:12:51,611 --> 03:12:55,611

2894
03:12:55,613 --> 03:12:59,613

2895
03:12:59,613 --> 03:13:02,615

2896
03:13:03,615 --> 03:13:03,615


