--- title: Revoice_การเขียนโปรแกรมภาษาคอมพิวเตอร์_170264 subtitle: date: วันพุธที่ 17 กุมภาพันธ์ 2564 เวลา 08.40 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) IC ของเรานั่นเองนะคะที่เราติดตั้งไว้ไปเข้ามากรุ๊ปนี้เราจะพุดดิ้งเราต้องไปเปิดตัวช่วยของเราก่อนก็คือสับรางเจ็บนะคะเปิดขึ้นมาเราต้องเขียนต่อจากสัปดาห์ที่แล้วเราจะคบต่อเพราะว่าในสัปดาห์ที่แล้วเราทำเราเพิ่งได้อะไรคะได้ตารางเกมของเราใช่หรือเปล่าเราเพิ่งทำตารางได้วันนี้เราจะต้องทำต่อให้เสร็จนะคะเพราะฉะนั้นตามให้ทันหายไปไหน 2 คนตัวน้อยเพราะไม่อย่างนั้นถ้าข้ามแล้วจะหลุดไปเลยใบเตยใบเตยได้หรือยังจะขอเดี๋ยวอธิบายจากสไลด์เราไปก่อนนะคะราคาเราจะทำต่อจากก็คือจากหุ่นที่แล้วนี่เราสร้างตัวมาร์คเกอร์ยังไม่เสร็จนะคะเพราะว่าที่นี้มันจะต้องมากำหนดเหตุการณ์เมื่อเวลาที่เราจะมาx video ลงไปนึกออกนะก็คือเราจะสั่งให้เมาส์นี่มันจะเป็นฟังก์ชันสำหรับใช้งานเมาส์นั่นเองนะคะซึ่งพอเราคีย์เข้าไปนี่มันจะมีขึ้นมานะคะเดี๋ยวจะอธิปรายความหมายก่อนว่าตัวคำสั่งของการใช้เมาส์นี่ มีความหมาย ว่าอย่างไรมันจะมีอยู่ 4 ตัว 4 คำสั่งนะคะ สำหรับการใช้เมาส์นะคะ ถ้าเราใช้เมาส์ button Down Mouse button Down นั้นหมายถึงคือปกตินี่ เวลาเราจะให้เมาส์ทำงาน ก็คือใช่ไหม Click เมาส์ใช่ไหมคะ แต่ button-down นั้นก็คือหมายถึงไม่คลิกน่ะ พอคลิกไปแล้ว เลิกการคลิก ก็คือปล่อยกดแล้ว ก็ปล่อยปล่อยนี่คือ button-down นึกออกนะแต่ถ้ากดลงคือตัวที่ 2 MouseBottom up เป็นคำสั่งนี้นะคะ ก็คือถ้าเราต้องการให้กดปุ่มเมาส์ หรือคลิกเมาส์ ก็คือเราต้องใช้เมาส์ button up แต่ถ้าเราต้องการให้นี่ ขยับเมาส์ เรานึกออกไหมให้เมาส์มันขยับ ก็คือเลื่อนเมาส์ไปมาน่ะ จะเป็นคำสั่งเมาส์ Motion เป็นการให้เมาส์ขยับไปขยับมา แต่ถ้าเมาส์ Video อันที่ 4 มันจะมีรูปลูกกลิ้งใช่ไหมบนเมาส์นั่นก็คือถ้าเมื่อไหร่ที่เราต้องการใช้ตัวที่หมุนบนลูกกลิ้งน่ะเราต้องใช้คำสั่ง Mount View ตัวที่ 4 นี้นะคะ ที่นี้ในวันนี้ที่สอนนี่มันจะใช้อยู่ 2 อัน ก็คืออัปกับดาวน์ ก็คือให้นึกถึงพอเราจะวาง xxx ในกระดานใช่ไหม ก็คือกดใช่ไหมพอปล่อยก็ต้องกดแล้วก็ปล่อย ก็วาง วางในตำแหน่งช่องตารางนะคะสำหรับคำสั่งเมาส์จะมี 2 อันที่ใช้แต่ตัวอื่นนี้ออกมาเพิ่มก็คือนั่นหมายความว่าถ้าให้เขียนโปรแกรมเองก็จะรู้ใช่ไหมถ้าจะควบคุมเมาส์มีคำสั่งใดบ้างใน 4 ตัวนี้นะคะ แล้วก็มันใช้งานอย่างไร เรียกใช้เพื่อทำอะไรนะคะ เพราะฉะนั้นเมื่อเรากำหนดเมาส์แล้ว สิ่งต่อไปที่เราจะทำยังไม่ครบ อธิบายก่อนก็คือมันก็ต้องมาเช็กค่า เช็กว่าพอคลิกแล้วนี่เห็นไหมคะ เป็นจริงหรือเป็นเท็จ เราก็ค่อยไปทำงานตามคำสั่งนึกออกนะ มันต้องมาเช็กก่อนว่านี่เป็นจริงหรือเป็นเท็จนี่ เช็กเผื่อก่อนเช็กข้อมูลเสียก่อน เพราะฉะนั้นเราก็ต้องมีการประกาศตัวแปรที่ชื่อว่า Click ด้วยเพราะอะไร เพราะก็คือจะได้เช็กได้ว่าพอเราคลิกเมาส์เพื่อมาร์กตัว X หรือตัวโอลงในกระดานของ XO เกมเรานี่นะคะมันก็จะรับค่านี้จากการคลิกเข้าไปนะคะสิ่งต่อมาที่เราจะทำก็คือเราจะมาระบุตำแหน่งให้เมื่อคลิกนี่มันจะต้องเช็กได้ไงว่าตำแหน่งนี้คือตำแหน่งไหนนะคะประกาศตัวแปรที่ชื่อว่า ข้ามไปเห็นไหมคะการกำหนดตำแหน่งเมื่อคลิกเมาส์เราจะมีการกำหนดตำแหน่งเมื่อคลิกเมาส์ของเรานะคะ โดยใช้ตัวแปรที่ชื่อว่า Coach ซึ่งมาจากคำว่า Post Station เพราะอยู่ดี ๆ จะคลิกลงไปเลยนี่ มันก็จะไม่รู้ใช่ไหมคะ ว่า Click ถูกต้องหรือไม่ ช่องเขาจะได้รู้ว่า x ช่วงไหนอยู่ช่องไหนนะคะ เดี๋ยวลองรันให้ดู ว่าเวลาเราสั่งให้ดูหน้าตาเกมไปด้วย อันนี้เฉพาะที่มีตารางเอาตัวที่เสร็จสมบูรณ์แล้วนะคะ เดี๋ยวจะเล่นให้ดูก็คือให้นึกถึงนี่เหมือนเลื่อนเมาส์ไปบนตารางที่เราสร้างใช่ไหม ถ้าสมมุติเราไม่กำหนดว่าเราจะคลิกตรงนี้อันนี้โปรแกรมมันสำเร็จแล้วมันจะไม่ขึ้นมันจะเหมือนตอนที่เราทำในเฟิร์สเจมี่ ที่เรามี 8 ตัวที่เรามีแต่ตัวบอร์ดเห็นไหม ใช่ไหม อะไรก็จะไม่ขึ้นคลิกไปก็จะไม่รู้ตำแหน่งใช่ไหมคะ แต่ถ้าเมื่อใดที่เรากำหนดค่าให้มันแล้ว เหมือนพอ X ลงบนตำแหน่งนี้ มันก็จะรู้ว่า x จะอยู่ช่องไหน ก็คือคำสั่งตัวแปร Position จะเป็นการระบุตำแหน่ง ที่เราจะวางตัวเองลงไปนั่นเองให้มันเช็กตำแหน่งให้นั่นเองนะคะ ก็คือตัวนี้คำสั่งนี้ตัวแปรนี้นะคะที่นี้ทำไมถึงต้องมาบอก base เซลล์ไว้ด้วยตำแหน่งของ Position เพราะอะไรเพราะดูตรงกระดานเราเห็นไหมมันก็ไปตามแนวใช่ไหมคะ แนวของแกน x แกน Y เวลาเราสร้างเพราะฉะนั้นเวลามันเช็กมันก็ต้องเช็กไปตามแนวขึ้นลงอย่างนี้ นึกออกนะ มันจะเช็กไปตามแนวที่เราที่ได้อธิบายในสัปดาห์ก่อน ว่าพื้นที่พื้นที่หน้าจอนะก็คือ AV แนวนอนหรือแถว y คือแนวตั้งหรือคอลัมน์นั่นเองนะคะ นี่อันนี้ถ้าอย่างนี้คือแนวนอนถ้าอย่างนี้คือแนวตั้งหรือคอลัมน์อันนี้แถวไปตามแถว มันก็จะเช็กไปทีละแถวก่อน ให้เช็กไปตามแถวก่อนหรือจะเช็กไปตามคอลัมน์ก่อนนะคะ อย่างนี้ขึ้นอยู่ที่เรากำหนดการเช็กนั่นเองนะคะ เห็นไหมคะพอพอเมาส์คลิกไปแล้วเห็นไหมนี่มันจะให้ทำอะไรต่อ ก็คือพอเช็กตำแหน่งเสร็จ เมื่อมีการคลิกเมาส์นะคะ คำสั่งนี้จะบอกว่าเมื่อมาร์กลงไปที่ตำแหน่งนี้ตำแหน่งนี้หรือตำแหน่งใดก็ได้ที่มาร์กลงไปนี่ อะไรจะเกิดขึ้นก็จะมีโค้ดต่อมา จะมีการประกาศตัวแปรเพิ่มมาอีก 1 ตัวที่ชื่อว่า Player เพราะอะไร เพราะเวลาเล่นมันก็จะเท่ากับมี 2 คน คือ คนหนึ่งเป็น x คนหนึ่งเป็น o ใช่ไหมคะ เห็นไหมก็คืออันนี้ถ้า x หมายถึงผู้เล่นคนที่ 1 ข้อใดหมายถึงผู้เล่นคนที่ 2 นั่นเองนะคะ เพราะฉะนั้น Player พอประกาศตัวแปร กำหนดค่าเริ่มต้นมันก็เริ่มจากคนแรกเสมอนะคะนะคะ พอคลิกไปนี่ก็แสดงว่า มาถ้ามาร์กลงไปปุ๊บนี่ คนแรกก็คือคนที่ 1 นะคะ คนต่อไปก็คือจะเป็นตำแหน่งของคนที่ 2 ที่เขาคลิกเขาจะมาสามารถคลิกได้นะคะ ที่นี้ในครั้งก่อนที่เราใช้คำสั่ง Print มาร์กไว้เราจะลบมันออกได้เพราะว่าเดี๋ยวเราจะมาทำตัวมาร์กก็คือในครั้งก่อนมันจะไม่มีตัว x ตัวขึ้นมาครั้งนี้เราจะเริ่มมาทำ x กับ o นี่นะคะ เพื่อจะให้มันพอเวลาเรามักลงไปว่าคนที่ 1 เป็น x นี่คลิกลงไปตรงนี้ x ก็จะต้องขึ้นมาคนที่ 2 เป็น o คลิกลงไปตรงนี้ o ก็จะต้องขึ้นมาอย่างนี้นะคะ เพราะฉะนั้นเราก็จะลบ ลบไอ้มาร์กครั้งเก่าไป เพราะว่าไม่ได้ใช้นะคะ จะทำการลบออก ที่นี้สิ่งที่เราจะทำในขั้นตอนต่อมาก็คือรอ มาร์กกำหนดฟังก์ชัน กำหนดฟังก์ชันก็คือเพื่อสร้างอะไร เพื่อสร้างเห็นไหมคะ สร้างตัว X ดูไว้กำหนดสีเขียวเป็น x ตัวที่เราสร้างสีแดง จะเป็นตัวให้สีแดงเป็นตัว o นะคะ ก็จะมีการกำหนดค่าสี อ้าว ลืมแก้ความจริงต้องเป็น Green Red นะคะ สีเขียวกับสีแดงนะคะ นี่ให้ดู ว่าพอเวลาเรา ว่าเพราะเมื่อเรากำหนดนี่ มันก็จะไปเช็กค่า เห็นไหมคะ โดยมีเงื่อนไขว่าตำแหน่ง ตำแหน่งที่ x post นี่เริ่มที่ศูนย์นี่นะคะ เมื่อเรากินไหมคะถ้าวาด x ก็คือใช้คำสั่ง y นะคะ Doll Eye ก็คือว่าเส้นเห็นไหมคะ ก็เลยต้องว่า 2 เส้น เพราะว่าต้องให้มันทแยงนึกออกนะ ตำแหน่งที่วาดก็จะอยู่ตามตัวอย่างนะคะเดี๋ยวจะบอกในตอนโค้ดดิ้งการใช้วิธีวาดตัว x ของเรา ก็คือใช้คำสั่งวาดเส้นนะคะ ส่วนตัวของเราเราจะใช้คำสั่งรอขึ้นเห็นไหมคะฟังก์ชัน Circle เป็นฟังก์ชันสำหรับการวาดวงกลมนั่นเองนะคะมันก็จะมีรูปแบบของมัน เดี๋ยวอธิบายตอนโคดดิ้งอีกทีหนึ่ง ให้ดูคร่าว ๆ ก่อนว่าเราจะทำอะไรในช่องตารางนี้ จะทำอะไรลงไปในนี้ได้บ้าง แล้วทีนี้เมื่อทำแล้วก็คือ ถ้าถ้าแค่นี้ถ้าถึงแค่นี้ตัวนี้มันจะวาดแค่ 1 อันใช่ไหม เพราะฉะนั้นในช่องตารางเรามันมีทั้งหมดนี่ 9 ช่องนี่ทำอย่างไรจะให้มันวาดได้ครบทั้ง 9 ใช่ไหมคะ เราก็จะต้องทำรูปให้มันใช่ไหมคะ ก็คือให้มันทำซ้ำ คลิกซ้ำได้ใช่ไหมคะ คลิกซ้ำได้เพื่อวนรอบ การวาดก็คือคนที่ 1 กลับมาเล่นได้อีกครั้งหนึ่ง แต่เล่นได้ไม่เกินเท่าไหร่คะ มันจะมีตัวเช็กให้นะคะ นี่พอเราเขียนฟังก์ชันนี้เสร็จ คราวนี้เราจะไม่ลืมแล้ว ครั้งที่แล้วเราจะรอ เราไม่เรียกมันมาใช้ ก็คือทุกครั้งที่เราสร้างฟังก์ชันเสร็จนี่ เราจะเรียกมันมาใช้งาน เพราะไม่เรียกมันมาใช้งานก็เท่ากับไม่มีอะไรเกิดขึ้นนะคะ เราก็จะเรียกมันมาใช้งานนะคะ ตอนนี้สมาชิกครบแล้ว รอเปิดเครื่องนะคะ เดี๋ยวอธิบายต่อไปก่อน ใบเตยเสร็จหรือยัง ของใบเตย ใบเตยโค้ดเสร็จหรือยังนะคะ เห็นไหมคะเพราะว่าได้แล้วเราก็ต้องเช็กให้ได้ด้วย ว่าใครจะเป็นคนชนะ ก็คือเราจะสร้างฟังก์ชันสำหรับเช็กผู้ชนะนะคะ หรือชื่อฟังก์ชันว่าเช็ก winner วิธีการเช็กจะเช็กไปตามแถวก่อน เช็กตามนี้นะคะแกนแถวนี้ไปว่า x กวาดครบตามหลักของ EXO ก็คือใครที่วางตัว X หรือตัวครบ 3 ตัวใช่หรือเปล่า ถึงจะเป็นคนชนะใช่ไหมคะ เหมือนอย่างนี้ยังไม่มีใครชนะ เดี๋ยวให้ดูนะคะ สมมตินี่เห็นไหมคะ สีแดงถึงก่อนก็คือสีแดงโอเคมันก็ขึ้นว่า Player 2 Win ให้แสดงข้อความ ว่าผู้ชนะคือคนที่ 2 คนเล่นผู้เล่นคนที่ 2 นะคะแล้วทีนี้ถ้าต้องการเล่นซ้ำกดที่ Play Again ก็จะเคลียร์หน้าจอทั้งหมด แล้วให้เล่นซ้ำได้วิธีการเช็กเขาจะเช็หไปตามแถว แถวที่ 1 ครบไหม มี x หรือ o ครบ 3 ตัวไหม แถวที่ 2 มีครบไหม 3 ตัวไหม เห็นไหม สงสารน่ะ ผลรวมมันจะอยู่ที่ 3 เพราะอะไรเพราะช่อง ช่องของตาราง XO เรามีตามแถวว่ามี 3 ช่องใช่ไหมคะ ตามคอลัมน์ก็มี 3 ช่องใช่ไหมคะ มันต้องเช็กไปทั้ง 3 แถว แล้วนอกจากเช็กตามแถวแล้ว เราต้องเช็กตามแนวด้วย แนวทะแยงได้ด้วยหรือ cross ใช่ไหมคะ เพราะตามหลักของ EXO ก็คือเรียงเรียงตามแนวทะแยงอย่างนี้ได้ นึกออกนะ ลืมอันนี้ เอาใหม่ เอาใหม่ เรียงตามแนวทะแยง เช่น นี่เห็นไหมคะ อันนี้คือตอนนี้ให้ตัวเองเล่นเองคนเดียวมันก็เลยดักทางกันเองได้ แต่ถ้าเราไปกำหนดเงื่อนไขเพิ่มว่าเหมือนให้คนเล่นเข้ามาเล่นได้ 2 คนอย่างนี้นะคะ มันต้องใช้วิธีการอย่างไรอะไร อย่างไรนี่ตอบเป็นขั้นตอนต่อไปสกิลการใช้งานก็จะเพิ่มขึ้นอันนี้เอาให้รู้ basic มันก่อนว่าจะให้มันเกิดสิ่งพวกนี้ขึ้นมาได้แล้วทำอะไรบ้างนะคะ มีเช็กตามแถวนะคะแล้วต้องมาประกาศตัวแปรให้ผู้ชนะประกาศตัวแปรให้เวลาเกมหรือเกมโอเวอร์นั่นเองนะคะด้วย เพราะจะได้เก็บค่าข้อมูลไว้ว่าใครคือผู้ชนะผู้ชนะเป็นใครคนแพ้จบเกมเป็นอะไรนะคะ นี่นะคะเช็กยังไม่เสร็จนะคะ เช็กแถว เช็กคอลัมน์ เช็กตามคอลัมน์เห็นไหม แกน Y นะคะ และสุดท้ายก็จะเช็กตามแนวทะแยงหรือ Cross อันนี้จะเล็กเพราะว่าโคตรมันยาว แต่ตอนเราคีย์ คีย์ต่ำไอ้นี่อยู่แล้ว ก็จะเห็นอยู่นะคะ แล้วมีสิ่งหนึ่งที่เราจะต้องมาเรียกใช้งานมันชื่อ keyword ที่ว่าที่เรียกว่า Global มันจะเป็น keyword ที่ใช้เรียกสำหรับเรียกตัวแปร ตัวแปรที่อยู่ข้างนอกน่ะมาใช้งานนะคะเมื่อเราเมื่อเราสร้างฟังก์ชันนี้เสร็จเราก็ต้องเรียกใช้มัน แต่ทีนี้มันจะไม่ได้เรียกใช้อยู่ตำแหน่งปกติ มันจะเรียกใช้เมื่อมันจะมีการคลิกเมาส์หรืออะไร แล้วตำแหน่งที่เรียกใช้ต้องเรียกเช็กตำแหน่งด้วยนะคะ บางทีก็ใส่ตรงที่ 1 บางทีก็ใส่ตรงที่ 1 ไม่เหมือนกันนะคะ สิ่งที่เราจะทำต่อไปก็คือให้มันเช็กเวลาเกมจบ เกมน่ะ Game Over หรือจบสิ้นสุดเกมนั่นเอง ก็คือเล่นครบ 9 ช่องแล้วนะคะ ก็ต้องมากำหนดเงื่อนไขให้นะคะ กำหนดเพื่ออะไร กำหนดเพื่อสมมุติว่าแสดงว่าเมื่อกี้ปิดไปแล้วไม่สมมติ ไม่สมมติแล้ว เปิดให้ดูเลยคือคือเช็ก 9 ช่องแล้ว ก็คือตอนตอนคำสั่งนี้นะคะตอนคำสั่งที่กำหนดรูปแบบฟอนต์นี่มีมาเพื่ออะไร ให้ดูนะคะ ก็คืออยู่ดี ๆ นี่ถ้ากดไปอย่างนี้จะครบไหม ไม่ครบคำสั่ง font จะใช้เพื่อแสดงข้อความที่เราต้องการให้ปรากฏอย่างนี้ขึ้นมาเห็นไหมคะ ประกาศตัวแปรชื่อว่าฟอนต์ แล้วก็บอกว่าให้เลือกฟังก์ชันของขวัญมาใช้นะคะแล้วก็กำหนดตำแหน่งให้มันขึ้นอยู่ตรงไหนมีค่าเป็นค่าว่างนะคะก็คือคำสั่งนี้ฟอนต์นี่จะเปลี่ยนไปตามที่เราเงื่อนไขของเรานั่นเองนะคะนี่เห็นไหมรอ Winner นี่หมายถึงให้ให้เว่าหรือแสดงข้อความน่ะบอกเมื่อผู้เล่นชนะเห็นไหมคะก็คือเรากำหนด font เพื่อให้มันแสดงส่วนนั้นขึ้นมานี่นะคะมีการทำกรอบให้มันด้วยมีข้อความเดี๋ยวจะดูยากใส่กรอบเข้าไปอย่างนี้นะคะนี่นะคะเราก็มากำหนดสีสีน้ำเงินเพื่อเป็นสีของข้อความนะคะนี่คือตรงฟังก์ชันนี้จะเป็นให้แสดงกล่องข้อความเมื่อเวลาเราเล่นเสร็จเล่นจบเกมนี้เล่นครบนี่นะคะนี่พอทุกครั้งบอกแล้วเมื่อสร้างฟังก์ชันใดเสร็จอย่าลืมเรียกใช้มันนะคะก่อนจะเรียกใช้มันต้องเช็คก่อนว่าไอ้ถ้า Game Over จริงเห็นไหมคะทูลมันถึงจะไปใช้เรียกใช้ฟังก์ชันนี้ขึ้นมานะคะก็คือโปรแกรมมันจะเช็คก่อนว่าเราเล่นไปจนครบ 9 ช่องแล้วมันก็จะขึ้นตัวนี้ขึ้นมานะคะสร้าง winnerแล้วก็สร้าง Play Again สร้าง 2 ปุ่มสังเกตมันจะมี 2 ปุ่มเห็นไหมคะ2 กรอบข้อความกรอบข้อความแรกแสดงผู้ชนะกรอบข้อความที่ 2คือเมื่อเล่นจบไม่ใช้ถ้าไม่มี Play Again นี่มันจะปิดไปเลยเกมมันจะจบไปเลยเล่นซ้ำไม่ได้แต่บางทียังอยากเล่นต่อเพราะฉะนั้นมันต้องมีเพลียเย็นให้นึกออกนะเล่นอีกเล่นอีกรอบนึงเล่นใหม่อะไรอย่างนี้นะคะก็คือ play againก็จะสร้างแบบเดียวกันนะคะแต่รูปแบบนี้เห็นไหมมีการสร้างรูปสี่เหลี่ยมขึ้นมาด้วยกรอบสี่เหลี่ยมขึ้นมากำหนดค่าให้กับตัวแปรที่ชื่อAgain Laterนะคะเท่ากับสี่เหลี่ยมผืนผ้านั่นเองนะคะแล้วก็ตามด้วยขนาดของมันนะคะเดี๋ยวพอสร้างเสร็จในแต่ละส่วนจะมีให้ลองรันดูนะคะ รันโค้ดดิ้งดูนะคะเพราะฉะนั้นพอเมื่อใดที่มีการคลิกแปลกเจนี่นะคะก็หมายถึงให้เล่นใหม่มันต้องทำการรีเซ็ตแล้วพอกด Play Again ปุ๊บเพราะ Resetค่าทั้งหมดทั้งปวงที่จะเกิดขึ้นก็คือค่าของตัวมาร์กค่าของตำแหน่งค่าของ player winnerก็คือเพราะมาร์กก็คือตัว XO ใช่ไหมคะเพราะก็คือตำแหน่งที่จะเริ่มมาร์กจุดเข้าไปแล้วก็ Player ก็คือผู้เล่นคนแรกเริ่มที่ผู้เล่นคนแรกเสมอนี่ มันจะต้องรีเซ็ตเพื่อให้เห็นไหมคะ กระดาน XO เราต้องเคลียร์ออก กระดานปาเป้าอีกครั้งหนึ่งเพื่อเล่นใหม่ได้อย่างนี้นะคะก็จะมีการเผื่อค่าด้วยนะคะ รีเซ็ตค่านั่นเอง คืนค่ากลับไปให้มันกลับไปเริ่มใหม่ เริ่มค่าใหม่นะคะ และสุดท้ายท้ายที่สุดมันจะเช็กอากาศทางตำแหน่งในการมาร์ก ที่มาปรากฏ เห็นไหมคะ ลบออกให้หมดเลย เคลียร์ออก อันนี้ให้ดูทีละท่อนนะคะ เห็นไหมนี่คือสุดท้าย เคลียร์ให้หมด เคลียร์ค่าทั้งหมดทั้งปวง ว่าจะสามารถรันได้นะคะ ทดสอบ สอบถามสุดท้ายก็จะเป็นตัวนี้พร้อมจะเคลียร์หรือยัง รอใครอยู่ ส่วนน้อยยังไม่เปิดหรือตอนนี้ถ้าเปิดตามเทคนะคะให้เราไปยังตำแหน่งที่ในครั้งก่อนที่เราพิมพ์ไว้ก็คือจะอยู่ที่ Event Event ที่จบเกมนั่นเองPlay Gameหายไป 1 บรรทัดเดชหายอ๋อมิน่า หาเจอหรือยัง หาตรง Event ทายเกมบรรทัดนี้เจอหรือยังคะเกือบสุดท้ายก่อนจบเราอย่าลืม function Update นะคะ ของเด็กๆน่าจะยังอยู่ สงสัยเผลอไปลบเมื่อกี้ตอนที่รัน เดี๋ยวที่นี้จะรันของครั้งก่อนของเรานะคะมันจะเป็นอย่างนี้ใช่ไหม เป็น Mark รอเรายังไม่ขึ้นใช่ไหมคะเราบอกว่าต้องเรียกใช้งานในสัปดาห์ที่แล้วก็คือที่เราลืมไปก็คือเราสร้างมันนะมาแล้วแต่เราไม่เรียกใช้มันนะคะพอเรียกใช้ปุ๊บกินหรือเปล่าขึ้นมาแล้วเราจะมีช่องตารางขึ้นมา แบบนี้ในครั้งก่อนเรามีตอนนี้นะคะ คือ เราแปรงฟังก์ชันมาแล้ว สร้างตารางมาแล้ว แต่ไม่ได้เรียกใช้มัน ก็เลยไม่ขึ้นในครั้งแรก ที่สัปดาห์แล้ว Error ไปนะคะ ที่นี้สัปดาห์นี้ไม่ลืมแล้ว สร้างฟังก์ชันเสร็จเรียกใช้มันทันที ห้ามลืม ห้ามลืม ก่อนอื่นนะคะ ก่อนอื่นบอกแล้ว ว่าทุกครั้งก่อนจะเขียนนี่ ควรจะแฮชแท็กก็คือทำ Comment บอกว่า เราจะทำอะไร ในขั้นตอนนี้นะคะ ในสไลด์บอกว่า เราจะกำหนดเหตุการณ์เมื่อคลิกเมาส์นะคะ เพราะฉะนั้น Comment ของเรา ก็จะบอกว่า ใส่แฮชแท็กนะคะ พิมพ์แฮชแท็กแล้วก็พิมพ์ว่า กำหนด Event ก็ได้น่ะ กำหนด Event ก็คือกำหนดเหตุการณ์ให้เมื่อมีการคลิกเมาส์นะคะจะเอาเป็นภาษาไทยไห ก็คือในส่วนนี้เราจะกำหนดเหตุการณ์เมื่อเราทำการคลิกเมาส์นะคะเงื่อนไขตัวแรกนี่ตัวแรกอยู่ตำแหน่งนี้นะคะแล้วก็เสร็จประโยคมัน Statement ที่ 2 ของเรานี่เห็นไหม อยู่ตำแหน่งเดียวกันเพราะว่า เป็นเงื่อนไขคนละตัวแล้วนะคะ ชีตจะเริ่มตรงกับตำแหน่ง if แรกนะคะ 2 ตัวนี้อยู่ตรงเลย ตำแหน่งนี้จะอยู่ตรง เพราะฉะนั้นเช็กเวลาแถบ Tab ไป 1 ครั้ง เห็นไหมคะ จะตรงกับ Floor เราจะต้องมาอยู่ตรงกับ if ต้องแท็กอีกครั้งนึงเห็นไหม ตรงแล้วให้ตำแหน่งมันตรง เห็นไหมคะ เห็นไหม เพราะไม่อย่างนั้นเดี๋ยวพอรันแล้ว เดี๋ยวจะขึ้น idola เสมอ ถ้าไม่แท็กอย่าไปกด Space Bar ให้กด Tab นะ บอกว่ากด Tab ให้ กด Tab รู้จักแถบไหมปุ่ม Tab น่ะ ต่างกันนะคะ ระหว่างกด Space Bar กับแท็กมันจะต่างกันเพราะคอมพิวเตอร์มันรู้นะคะ มันอ่านค่าคีย์บอร์ดได้เพราะฉะนั้นถ้าบอกให้กด Tab ต้องกด Tab นะคะ กด Space Bar ค่อยกด Space Bar นะ เริ่มด้วยฟังก์ชัน If เสมอเพราะเมื่อกำหนดเหตุการณ์จะต้องใช้ If เป็นตัวกำหนด ใช่ไหมClickเฮ้ย พิมพ์ พิมพ์ i ปุ๊บ เฮ้ยเปลี่ยน i ปุ๊บ เห็นไหมคะ if ที่เราเลือกก็คือconnectionไม่ใช่ Key If keywordนะคะ เราจะเลือกคลิก connectionเพราะอะไรเพราะถ้าเลือก if อันนี้ปุ๊บเห็นไหมระยะเยื้องมันจะขึ้นมาให้เราจะได้ไม่เกิดปัญหาidentification อีกนะคะเวลา Error errorหรือไอเด็น Error นี้จะไม่เกิดขึ้นแล้วตามด้วยอะไรเหมือนเดิมเพราะเราบอกว่า Event เราจะกำหนด Event นะคะดูในสไลด์นี่เห็นไหมEvent ท้ายเสมอเลยเมื่อพิมพ์ใช่ไหมคะเท่ากับเท่ากับแต่ตัวที่ฟังก์ชันที่เราจะเรียกมาตรวจสอบก็คือฟังก์ชั่นเมาส์เดี๋ยวดูมันจะเรียกอย่างไรนะคะพร้อมนะคะ if แล้วก็E Bookก็แล้วก็เรื่อง statement Event นึกออกนะไม่ต้องพิมพ์ต่อพิมพ์แค่ตัว E แล้วก็คลิกเสร็จแล้วพิมพ์อะไรพิมพ์ก็ก็คือถ้ามันขึ้นตรงตัวไหนที่เป็นสีเทาๆนี่กด Enter ได้เลยอย่างนี้นะคะแล้วตามด้วยอะไรคะ Space Bar 1 ครั้งแล้วตามด้วยเครื่องหมายเท่ากับเท่ากับในภายเกมหรือในpythonบอกแล้วว่าจะต้องเป็น 2กด 2 ครั้งนะคะ แล้วก็ตามด้วย space bar 1 ครั้งแล้วก็พิมพ์ P แล้วเลือกที่ complie gamemodeถ้าใครอยู่ตำแหน่ง pygame module แล้วนะคะในหน้าต่างที่มันขึ้นมานี่หน้าต่างตัว Pop Up ที่มันขึ้นมานี่ถ้าไม่อยู่ในภายเกมโมดูลต้องเลื่อนไปแล้วกด enterทันไหมจ๊ะทีนี้ตัว M M ต้องเป็นตัวใหญ่นะคะเมื่อเวลาเราจะใช้ pygame ในตำแหน่งนี้เวลาพิมพ์นี่ข้อความนี้จะต้องคลิปเสมอ m m o เพื่อหาเมาส์ เงื่อนไขแรกหรือเหตุการณ์แรกนะคะ เราจะกำหนดค่าเมาส์เป็นเป็นอะไรไปดูกัน buttom dowm ก่อนนะคะMเห็นไหมคะเรื่องไวไปไหมเอาข้าง m m ใหญ่พิมพ์ใหญ่ปุ๊บเลือกตัวนี้นะคะนี่ๆเลือกเมาส์ Bottom downเห็นไหมm o u s e b u Double t o nแล้วก็ D O W n ยาวๆ หน่อยสังเกตเมาส์แล้วก็จะมีไอ้ข้างหลังยาวกว่าเพื่อนเลยเมาส์ button-downเครื่องตัวนี้กด enterโอเคนะก็คือตอนนี้บอกแล้วว่าถ้าปล่อยเมาส์อะไรจะเกิดขึ้นหลังจากตรง statement นี้นะคะเราไปมันจะไปบอกว่าถ้าปล่อยเมาส์ก็คือคลิก คลิกเท่ากับ True ก็คือการตรวจสอบก็คือเมื่อมีการคลิกปุ๊บนี่นะคะ ตรงตำแหน่ง Class นี่ให้เด็ก ๆ มาที่ตำแหน่ง Class นะคะอันนี้จบประโยคของเงื่อนไขแล้วว่าถ้ากดถ้าใช้ถ้าเลือกใช้ Bottom downนี่ เพราะฉะนั้นเมื่อตรงทางนี่ถ้าแล้วหรือตรงพัดนี่เราทำแผลที่เพรสเหมือนเดิมนะคะแล้วพิมพ์คลิกลงไปเลยสิพิมพ์นะคะพิมพ์l iอันนี้ต้องพิมพ์ก่อนเพราะว่าเรายังมันเป็นตัวแปรเรายังไม่ได้ประกาศมันนะคะเจ็บด้วยอันนี้ต้องพิมพ์เอานะคะL I C KPD คริกเก็ตก็คือถ้าคลิกถ้าเลือกเมาส์ถ้าปล่อยมาปุ๊บนี่มันจะเช็กที่เมื่อมีการ Click เกิดขึ้นนี่นะคะกำหนดค่าให้คลิกเท่ากับTrue True ใช่ไหมค่าของพริกเท่ากับTrue ก็คือเป็นจริงนะคะก็คือถ้ามีการคลิกนี่นะคะเลือก เลือก ทรู ที่ขึ้นทรูตัวใหญ่ตัวนี้นะคะ True True keywordเ ท่ากับทรูตัวนี้ กด Enter มันจะเปลี่ยนให้เองเลยเห็นไหมอันนี้ปล่อยเมาส์มีปล่อยมันก็ต้องมีกฎใช่ไหมเพราะฉะนั้นไม่อยากให้พิมพ์ จะให้ไม่อยากให้กลับจะให้เราก็ จะเพิ่มเหตุการณ์อีก 1 ครั้งนะคะ ตำแหน่งของ if จะอยู่ตรงกับตำแหน่งนี้เห็นไหม ตรงกันนะคะ เหมือนเดิมเพิ่ม is condition กด i แล้วก็เลือก If condition เป็น เธอได้เลยเลือก Eastin นะคะกด Enter เลยเหมือนเดิม Event Typeไปเรื่อย ๆ นี่จนถึงเมาส์ นี่แต่เปลี่ยนจากเม้าส์ Bottom Down เป็นเมาส์พิมพ์ Event Event ที่ statementกด enter เลือก Event statement นะคะ Typeใช้ statement กด enterเราก็ = = 2 ครั้ง ผิด กดผิด ขอโทษ กดเครื่องหมายเท่ากับ 2 ครั้งแล้วก็ตามด้วย pygame Model เหมือนเดิมนะคะ โมดูลที่เราจะเรียกก็คือเม้าท์เหมือนเดิมMเห็นไหมทำเอาตัวเล็กมันจะไม่ค่อยขึ้นเรารู้แล้วว่าคำสั่ง Mouse เป็นตัวใหญ่ M แต่เลือกเป็นอะไรคะท่อน up ตัวที่ 2 แทน Down ไม่เอาอาบแทนตรงข้ามกันกดปล่อยกดปล่อยนั่นเองนะคะก็คือปล่อยรถปล่อยแล้วก็มาเลือกกดเหตุการณ์ในการใช้เมาส์จะมี 2 เหตุการณ์ที่บอกก็คือกดแล้วก็ปล่อยใช่ไหมกดเพื่อวางแล้วก็ปล่อยเพราะฉะนั้นในส่วนของตรงนี้นะคะ ถ้าแล้วถ่ายแล้วก็คลิกเหมือนเดิมพิมพ์คลิก คริกเก็ตเราพิมพ์ครั้งแรกไม่ขึ้นแต่ครั้งนี้ขึ้นเพราะมันเราประกาศมันไปแล้วเรียกใช้มันมาแล้วครั้งหนึ่งแล้วก็มาเลือกขี้คริกเก็ต statement ได้เลยกด Enter ได้เลยแล้วก็กดเท่ากับกำหนดค่าให้คลิกเช่นตัวนี้ต้องเป็นอะไรคะ ตรงข้ามกับตัวแรก ห็นไหม มี Tools แล้วก็มีเบานะคะตัวแรกเป็นจริงตัวนี้ก็ต้องเป็น False ก็คือเท็จนะคะเอาตัวใหญ่เลยพิมพ์ตัวใหญ่เลยเพราะเราแล้วรู้แล้วว่าkeyword ของ TRUEเขาต้องพิมพ์ด้วยตัวใหญ่โอเคไหมเราจะยังไม่ลั่นตอนนี้เพราะมันยังไม่มีอะไรเกิดขึ้นเลยมันแค่เช็กเฉยๆว่าเราMouseหรือปล่อยเม้าส์แค่นั้นเองนะคะ ตอนนี้เราได้ 2 บรรทัดนี้แล้ว เหมือนในสไลด์นะคะ เห็นไหมนี่ เมาส์ที่มันเลือกใช้มันมี 2 ตัวนี้ Bottom Down 2 ตัวนะคะ อันนี้อธิบายไปแล้วนะคะ สิ่งที่จะทำต่อมาก็คือ ทำอะไรไปความจริงแล้วเราต้องไปประกาศตัวแปร คริกเก็ตก่อนนะคะ ให้ค่าเริ่มต้นมันเป็นฟองสิ่งที่เราจะทำต่อไปก็คือ ไปที่ตำแหน่งที่เราประกาศตัวแปรทั้งหลายทั้งแหล่ไว้นึกออกไหม เห็นไหมไม่แน่ใจเด็ก ๆ ทำ remark Comment ไว้ด้วยหรือเปล่า ที่ไปตำแหน่งที่เราประกาศตัวแปรนะคะไปเลยไปหามันเลยแล้วตัวแปรที่เราใช้ก็คืออะไรคะ Clicket Enter ลงไปกำหนดค่าก็คือเท่ากับค่าเริ่มต้นเริ่มที่เฝ้านะคะเป็นเทปก่อนเป็นเท็จเสมอจะทำงานเมื่อเป็นจริงพอเข้ามาในนี้นะคะ ทำงานเมื่อเป็นจริงเมื่อประกาศตัวแปรไปแล้ว สิ่งที่เราจะต้องมาเช็กต่อ ก็คือถ้าปล่อยเม้าส์นะคะ มันก็จะเป็นประโยคต่อมา ตรงนี้เห็นไหมคะปล่อยเมาส์และค่าคลิก เมื่อ เมื่อมีการปล่อยเมาส์ และค่าในการคลิกนี้ penfolds ต้อง Bottom upนี่ถ้าค่าในการคลิกจะเป็น True นะคะ สลับกันเห็นไหม ก็คือมีเงื่อนไขที่ที่ผูกพันตามมา ให้มันเช็กด้วยนะคะ ตรงนี้แล้วเพิ่มประโยคต่อไป and คือ keyword กด Enter ได้เลยแอดฟังก์ชั่น Clicket เลือก statement Clicket นะคะ 4 แล้วพิมพ์เลือก statementเท่ากับให้ค่ามันเป็นอะไรpenfoldsเห็นไหมค ะตรงตำแหน่ง Bottomก็ แอด and keyword enter Spacebar ตามด้วย คลิกที่ statement เหมือนเดิม กด enter แล้วก็เท่ากับ ถ้าจะตรงกันข้ามสังเกตด้วยสังเกตด้วยเห็นไหมตรง ข้ามกัน True นะคะ เลือกทรู True keyword โอเค แล้วเช็กค่ามัน จะทำการเช็กแล้วเช็กเมื่อเมื่อมีการคลิกนี่ ถ้าไม่ได้คลิก ถ้าไม่ได้คลิก ก็คือเห็นไหมคะ ก็คือเป็นการปล่อยเมาส์แต่ถ่ายคลิปนี่เป็นการกด Mouseถูกไหมคะ โอเคไหม ดูตำแหน่งเข้าดี ๆ นะคะ ครั้งแรกนี่เพราะค่าแรกของเทคนิคคือเป็นฟองก็คือหมายความว่า ถ้าปล่อยปุ่มกดหนีก็คือไม่ได้คิดใช่ไหมไม่ได้คิดก็คือเป็นเป็นเท็จถ้ากดนะคะถ้าตัวนี้เห็นไหมคะ ถ้าบังคับเล็กก็คือเป็นจริงก็คือมีการกดเห็นไหม ถ้าแล้วหรือนั่นล่ะ ถ้าแล้ว ถ้าปล่อยเมาส์และไม่ได้คิดอะไรท้าย Click ก็จะเป็นจริงถ้าปล่อยถ้าคลิกเมาส์แล้วก็คลิกด้วยนี่ก็จะเป็นจะไม่ทำงานเมื่อเป็นฟ้องก็คือการใช้ If นี่เงื่อนไขจะทำงานก็ต่อเมื่อคำสั่งหรืออะไรที่อยู่ในนั้นนี่ ก่อนมันจะไปทำในนั้นก่อน ตอนนี้เรากำหนดมาเอาไปแล้วสิ่งที่เราจะทำต่อไปนะคะ คือแค่คลิกปล่อยเม้าส์นี่ไปแล้วมันก็ต้องมารู้ตำแหน่งของเมาส์ที่จะคลิกลงไปนะคะ เพราะฉะนั้นเราจะใช้การสร้างตัวแปรที่ชื่อว่า Pos หรือ Position เพื่อให้รับค่าเห็นไหมคะ คลิก Pos รับค่า คือ รับค่าของตัวรับค่าของตำแหน่งที่เราคลิกเมาส์ลงไปนั่นเองคลิกเมาส์ปล่อยเมาส์นั่นเองนะคะ เพราะฉะนั้นมันจะต่อจากบรรทัดนั้นนะคะบรรทัดพิมพ์ postอันนี้ต้องพิมพ์เอานะคะpostพิมพ์เพราะเป็นตัวแปรที่เรายังไม่ได้ประกาศตามด้วยเท่ากับเครื่องหมายเท่ากับเห็นไหมคะ pygameMouseนะคะจะเรียกใช้เม้าส์แล้วจะเรียกใช้เมาส์เรียก โมดูล เมาส์ Mouse นะคะที่นี้ Mโมดูลเมาส์มาใช้งานเห็นไหมคะเรียก module แล้วกด enterตามด้วยฟังก์ชัน Get นะคะ เลือก post เห็นไหมคะ เลือกฟังก์ชั่นgetก็คือ get Post หมายถึงฟังก์ชันนี้หมายถึงฟังก์ชันที่รับค่าของตำแหน่งมาสร้างไว้แล้ว เราไม่ต้องไปสร้างเห็นไหม บ้าง function มันจะสร้างไว้ให้แต่บ้าง function เราต้องสร้างใหม่เองนะคะ ในภายเกมเขาจะมีที่บอกมันจะมี Library ที่สร้างไว้แล้วกับยังไม่สร้าง คือ ถ้าเมื่อใดที่สร้างเอง เราก็รู้วิธีสร้างแล้วนะคะ เลือก Get Post กด enterอย่าลืมว่า พอบอกว่าเป็นฟังก์ชันเด็กๆ จะต้องใส่อะไรคะ เครื่องหมายวงเล็บเสมอใช่ไหมนะคะ ต้องใส่เครื่องหมายวงเล็บเสมอ มันจะขึ้นมาเองวงเล็บน่ะ แค่คลิกที่วงเล็บเปิดวงเล็บปิดมันจะตามมาเพื่อระบุว่า get Post เป็นฟังก์ชันที่เราจะใช้งานเห็นไหมคะ ประโยคที่Get post แล้วเราก็ไปประกาศตัวแปรโพสต์โดยกำหนดค่าให้มันเป็นไอ้วงเล็บใหญ่นี่บอกแล้วว่ามันก็คือข้าวบ้างหมายถึงค่าในช่องวงเล็บใหญ่นี่กินข้าวบ้างนะคะเพราะฉะนั้นเราก็จะไปที่ตำแหน่งไหนคะประกาศตัวแปรที่ต่อจากคลิกเมื่อกี้นี้มีคลิกก็มีโพสต์พี่ปุ๊บโพสต์จะขึ้นมาเห็นไหมเลือกโพสต์postเลือกที่ตำแหน่งโพสต์เห็นไหมคะกด enterแล้วใส่เท่ากับสี่เหลี่ยมใหญ่เห็นไหมถ้าใส่สี่เหลี่ยมใหญ่บอกแล้วนั่นก็คือค่าค่าในช่องค่าของตัวนี้เป็น none หรือค่าว่างนั่นเองนะคะได้ค่าว่างของตำแหน่งล่ะ ค่าของ Position แล้วนะคะสิ่งต่อไปที่เราจะทำมันก็จะต้องเช็กสิเช็กตำแหน่งตามแกน x แกน Y น่ะ ระบุตำแหน่งของแกน x หรือเซลล์ x เห็นไหมคะ แกน Y หรือเซลล์ Y จะใช้ตัวแปรที่ตั้งชื่อว่าเซเว่นเท่ากับโพสต์ตำแหน่ง โพสต์นะคะ มีค่าเป็นศูนย์ถ้าว่างให้ค่าตำแหน่ง x x กับ Y ด้วยนี่นะคะก็จะอยู่บรรทัดที่ต่อจากโพสต์นั่นเองนะคะ อยู่บรรทัดที่ต่อจากโพสต์เลยนะคะก็คือพิมพ์เอานะคะ เพราะมันเป็นตัวแปรที่เราสร้างขึ้นมาเองเพื่อใช้ระบุตำแหน่งของแกน x แกน Y นะคะ ก็คือพิมพ์คำว่า beegcew แล้วก็อันเดอร์สกอร์แล้วก็ตามด้วยตัว X Xอย่างนี้นะคะ แล้วก็กำหนดค่าให้เซลล์นี้เท่ากับเท่ากับอะไร ลืม เท่ากับโพสต์ ในวงเล็บใหญ่ โพสต์ที่มีค่าเท่ากับหนึ่งในส่วนของเซลล์ x นี่เราพิมพ์โพสต์แล้วกด enter แล้ว ก็ตามด้วยวงเล็บใหญ่ใส่ 0 เข้าไป ใส่ค่าให้วงเล็บใหญ่โพสต์ที่ว่างเปล่าเพราะถ้าอยู่ในตำแหน่ง x นี่โพสต์จะเริ่มที่ศูนย์นะคะ มี x แล้วก็ต้องมีอะไรคะ ก็เหมือนการพิมพ์เหมือนกันเซลล์อันเดอร์สกอร์ Y ตัวเล็กนะคะ แล้วก็ตามด้วยเครื่องหมายเท่ากับ แล้วก็เหมือนเดิมพิมพ์โพสต์ลงไปโพสต์สเตทเม้น กด enter แล้ว ก็ใส่วงเล็บใหญ่ ค่าที่เลยไม่ใช่ปีกกา ขอโทษขอโทษ เผลอกด Shift วงเล็บใหญ่แล้วก็ตามด้วยค่าในนั้นก็คือ 1 เห็นไหมคะ บอกตำแหน่งของ x y แล้ว โอเคไหม ทันไหม ทำไมไม่ขึ้น แสดงว่าเด็กไม่ได้เปิด ไม่เป็นไร ทันนะคะทันอยู่นะ โอเคเราต้องไปต่อนะคะยังไปไม่ถึงครึ่งทางเลย สิงโตมากำหนดตำแหน่งให้เซลล์ Excel ไว้แล้วต่อไปเราก็มันจะมาเช็กเงื่อนไข เมื่อเมาส์คลิกไปตามตำแหน่งในเซลล์ Excel ไฟล์ที่เราตั้งไว้เมื่อกี้นะคะ ด้วยใช้ฟังก์ชั่นเฮ้ยใช้ If เหมือนเดิม ใช้ If เพื่อกำหนดเงื่อนไขนะคะ เงื่อนไขของอะไรของตัว Markers เรานั่นเอง ว่าถ้า Markers อยู่ตำแหน่งเซลล์ ตำแหน่งนี้ปุ๊บหรืออยู่ Level ตำแหน่งนี้ จะเท่ากับก่อนอื่น ๆ นะคะกด Tab ไปให้ตรงกับเซลล์ อุ้ย เกินเลือกไหนเป็นตัวใหญ่กว่า condition เหมือนเดิมนะคะ ที่นี้สิ่งที่เราจะเช็กก็คือเช็กอะไรเช็ก มักเกอร์พิมพ์ M แล้วเลือก Master statement เห็นไหมm a r k e s ของเราที่เราสร้างไว้แล้วตั้งแต่ครั้งก่อนมาร์คเกอร์นะคะกำหนดค่าให้แล้วเช็คค่าแล้วสังเกตค่าของ Position มันจะเป็นนี่วงเล็บใหญ่นี่ก็คือเป็นเขาเรียกว่าเป็น aray นั่นเองถ้าแบบอารีนะคะอยู่ในลักษณะวงเล็บใหญ่นี่คืออาร์เรย์ 3 มิตินะคะ ก็จะมีแต่ของเราจะมีเซลล์ Excel ไว้ที่เรากำหนดไว้ มันมี 2 อันนะคะหารด้วย 100 จาก 0 นี่หารด้วย 100 ค่าที่มีนี่หารไปนะคะพิมพ์ beegเลือกค่ะเลือกเซลล์ x เห็นไหมคะ ลืมอะไร ขอโทษ ขอโทษ ตอน Markers เสร็จ ลืม ลืม ลืมไปว่า Markers แล้วพิมพ์วงเล็บใหญ่ก่อน เห็นไหมคะ พิมพ์วงเล็บใหญ่แล้วก็ตามด้วยเซลล์ x ของเรานะคะ เลือกเห็นไหมเซเว่น statement มันจะขึ้นเลยมันจะรู้เลย ว่าเป็นลักษณะที่เรากำหนดค่าเป็นอาร์เรย์ที่บอก เสร็จหาร100 แล้ว ก็เล็ก แล้วก็มีอะไรมีเซลล์ y ใช่ไหมคะ นะคะ วงเล็บใหญ่แล้วก็เซลล์ y/100 เลือกเซลล์ y นะคะ Cell_y statement แล้วก็ตามด้วยหาร 100 หลังมาร์คเกอร์นี้ กำหนดค่าให้เพื่อเช็กว่าเมื่อมันเป็นจริงนี่ มันจะต้องมีค่าเท่ากับ 0 นะคะ ส่วนต่อมา Mark ครั้งที่ 1 แล้ว อย่าลืมว่าตอนเช็กนี้ มันมีทั้งคนเล่นมีกี่คน มี 2 คนใช่ไหมคะ เพราะฉะนั้นมาร์กแรก มาดูมาร์กที่ 2 เช็กมาร์กที่ 2นะคะ ทำเหมือนเดิมครอบคำว่า press แล้วก็พิมพ์มาร์กลงไปเลย Markers ลงไปเลย Markers แล้วก็เหมือนเดิม ให้มันเร็วขึ้นเพราะเท่ากันเลยใช้วิธี copy มาร์คเกอร์ตรงนี้มาเลยครับ ถึงกอล์ฟมา ทั้งCopy เลยนะ เร็วกว่าประโยคเดียวกันเพราะค่าเดียวกัน แต่เช้าเรียนตรงไอ้ตรงนี้ค่าตรงนี้เท่านั้นนะคะ ตำแหน่ง ดูตำแหน่ง ตำแหน่งมาร์กเกอร์จะเคลื่อนมาหน่อยหนึ่งนะคะ จะอยู่ไม่เท่ากันวิธีการก็คืออยู่ตรงแผลที่ตาว่าแล้วก็กดวางได้เลย เห็นไหม ที่นี่ค่าตรงนี้เอา 0 ออก เอาค่า 0 ออก ถ้ามันต้องเป็นคนละค่า ถ้าตรงนี้จะเป็นอะไร บอกแล้วว่าการมาร์กมันจะมีคนเล่น 2 คนใช่ไหมคะ คนเล่นคนที่ 1 มากมาย แล้วเพราะฉะนั้นก็จะต้องเป็นเช็กว่าผู้เล่นคนที่ 2 มาร์กหรือยัง เพราะฉะนั้นสิ่งที่เราจะทำก็คือเป็นการไปประกาศตัวแปร Playerประกาศตัวแปรของผู้เล่นด้วยกำหนดค่าเริ่มต้นกำหนดค่าให้ผู้เล่นเริ่มที่หนึ่ง ก็คือผู้เล่นคนแรกก็คือ player one ไปประกาศตัวแปรก่อนนะคะ เพื่อจะรู้ว่า Player ของเราเป็น Player ไหน เราก็จะไปที่ตำแหน่งการประกาศตัวแปร ก็คือที่อยู่ต่อจากเมื่อกี้ ที่เราประกาศตัวแปร ชื่อว่า โพสต์ ที่นี้เราจะประกาศตัวแปร Player อันนี้ต้องพิมพ์เพราะเราสร้างตัวแปรขึ้นมาเอง p l a y Player แล้วก็ตามด้วยเครื่องหมายเท่ากับ ถ้าของ player ที่เราให้ก็คือคนที่ 1 เริ่มที่คนที่ 1 นะคะ เมื่อประกาศตัวแปรเสร็จ ที่นี่ตรงตำแหน่งนี้ เราก็มาเลือกใช้ตัวแปรนั้นได้เลย สิ่งที่เราจะต้องใช้ก็คือเราจะเรียก Player เพื่อเช็กว่าไอ้ที่มาร์กนี่เป็น Player คนไหนนั่นเองเป็น Player คนที่ 1 หรือ 2 นะคะตรงเท่ากับที่เราก๊อบมาตอนแรกมันเป็น 0 น่ะ ลบ 0 ออกใช่ไหมคะ แล้วแก้เป็นพิมพ์ผิดแล้วเลือก Player statement ของเราลงไปอย่าลืมเอาโคลอนจะไม่เว้นวรรคอย่างนี้นะคะ โคลอนจะเข้ามาชิดนะคะติดประโยคเราจะได้ตัวมาร์กสำหรับเช็กพูดเล่นแล้ว ผู้เล่นคนที่ 1 คนที่ 2 มาร์กลงไปแล้ว ถ้าผู้เล่นมาร์กนี่อะไรจะเกิดขึ้นนะคะ เดี๋ยวจะลองรันแล้ว ใกล้แล้ว ใกล้แล้วเ นื่องจากตรงนี้มีต่อเมื่อมันเช็ก Player นี่เห็นไหมคะPlayer x เท่ากับลบ 1 ค่าของ player ก็คือมันจะต้องไปเช็กก่อนว่า Player ที่เข้ามาเป็นพรีเซ็นเตอร์คนที่เท่าไร เพราะฉะนั้นพอมีสติเม้นนี้มีเงื่อนไขแล้วมีไปต่อนี่เราจะพิมพ์เราจะลบโคลอนออกนะคะ ลบโคลอนออก แล้ว แล้ว ก็พิมพ์การเช็กค่า ครั้งต่อไปเข้ามาก็คือเช็กว่า Player พิมพ์ Play people เลือก Player ใส่เครื่องหมาย Star หรือ x = ลบ 1เห็นไหมคะ ก็คือมันจะทำการคำนวณว่า Player คนนี้เป็น Player คนที่เท่าไร 1 - 1 ก็คือ 0 ค่าเริ่มต้น ก็คือ 1 อย่าไปสนใจให้เครื่องมันคำนวณไปไอ้ตรงนี้อย่าไปสนใจมันโอเคนะคะ อธิบายแล้วยิ่งจะงงเข้าไปใหญ่ เพราะฉะนั้นตรงนี้คือการคำนวณของมันเสร็จแล้ว เราจะไปลบคำสั่งprint มาร์คที่เราprint มาร์คเกอร์ที่เราสร้างไว้ ตอนสัปดาห์ก่อนนี้ออก เพราะว่าเราจะไม่ใช้ตัวนี้แล้วเพราะเดี๋ยวเราจะสร้าง Marker ที่เป็นคือครั้งก่อน เราแค่เช็กว่าเมาส์เลื่อนไปมันแค่มีตำแหน่งมาก็ขึ้นมาเท่านั้น เพราะขั้นต่อไปเราจะสร้าง Marker เป็นที่เป็นเอกสารขึ้นมา เราจะลบปริ้นมาสเตอร์ตัวนี้ออก เพราะฉะนั้นเราจะไปที่คำสั่งปริ้นมาเกิดเราลบตัวนี้ออกนะคะ เพราะฉะนั้นก็อยู่นี่อยู่ตรงนี้ อยู่ตรงเงื่อนไขนี้ให้เด็ก ๆ ไปที่ตำแหน่ง print marker แล้วก็ลบเลย กดทำแถบครอบทั้งหมดแล้วก็ delete ได้เลย ลบออกได้เลยนะคะ เราไม่ได้ใช้มันแล้วเราก็จะลบออก OK ไหมลบหรือยังหาเจอหรือเปล่า ถ้าหาไม่เจอวิธีการมันจะมีวิธีให้ค้นหาอยู่ที่แถบเมนูที่ชื่อว่าไฟล์เห็นไหมคะแล้วกดคำว่าไฟล์ข้างล่างมันจะมีให้เราหาคำว่า เดี๋ยวโอนคืนดูราคาเราจะหานะคะ click coding ถ้าใช้ไฟล์นี้มันจะไปตำแหน่งนั้นให้ พอเราเจอแล้ว เราก็ลบออกได้เลย ใช้วิธีค้นหาได้ในโค้ดดิ้ง บางทีให้นึกถึงเวลาโค้ดจริง ๆ นี่ ยกมานี่อีกบ้างโปรแกรมนะคะ อันนี้ยังถือว่าแค่ร้อยกว่าบรรทัดถือว่าน้อย เพราะฉะนั้นใช้เมนู file ให้เป็นประโยชน์นะคะ ช่วยค้นหาคำในเครื่องนี้ได้นะคะ เพราะฉะนั้นถ้าจะไปตำแหน่งไหน ใช้ตัวนี้ช่วยก็ได้นะคะ ถ้าไม่ใช้ก็ปิดเราลบ print Marker ไปแล้วสิ่งที่จะทำต่อไปก็คือเราจะมาสร้าง ขอโทษ สร้าง function เรามาเกิดก็คือฟังก์ชันที่จะว่าตัวมาเกิดเรานั่นเองนะคะ มาดูกันฟังก์ชันนี้มันจะอยู่ตรงไหน ก็อยู่ตำแหน่งตรงที่ เมื่อกี้ที่เราลบเป็นมาร์กเกอร์ไปนั่นเอง อยู่ตำแหน่งนี้เลย Enter ไป 2 ที แล้วก็ใส่แฮชแท็กเข้าไปแล้วก็บอกว่าเราจะสร้างอะไรคะ บอกไปเลยว่าเราจะสร้างฟังก์ชันที่ว่าตัว x หรือตัว o ของเรานั่นเองนะคะ คำสั่งในการสร้างฟังก์ชั่นก็คือ D เห็นไหม เลือกThe functionแล้วก็ตามด้วยชื่อฟังก์ชันที่เราจะสร้างก็คือคำว่า Draw รอตามด้วยอันเดอร์สกอร์MKรอมาเกิดมาร์กเกอร์เรามี 2 ตัวไม่ได้มีตัวเดียว มีตัว x กับตัว y ก็เลยใส่เองใส่ S เข้าไปตามด้วยการระบุตำแหน่งของมาร์กเกอร์เรานั่นเองนะคะ เพราะเมื่อจะสร้างมันต้องบอกตำแหน่งที่จะสร้างใช่ไหม ต้องแพ้ลบออกแล้วก็ใส่นะคะ ตำแหน่งแรกคือ x assistance มาเลย มันหามาให้แล้วเท่ากับ เท่ากับ x หรือ Y นะ งง โพสต์เราใส่เป็น Express นี้ เอาใหม่ ๆ ก็คือตำแหน่งที่เราประกาศโพสต์ไปนะคะอันเดอร์สกอร์โพสต์หายไปไหน โพสต์แล้วยังไม่ได้ใส่ใช่ไหม เราประกาศตัวแปรเลย Express เท่ากับค่าเริ่มต้นคือ 0 เสมอเห็นไหมคะ ตำแหน่งของแกน x เริ่มที่ 0 เสมอ เสร็จแล้วก็ทำลูป investor รูปสำหรับ x apocalypse นะคะพิมพ์ for เลือก for Loop กด Enter เห็นไหมคะ เลือก x ตามเขาเลย แต่อินเปลี่ยนเป็นอันนี้เปลี่ยนจาก xxx เล้งเป็นมาสเตอร์ของเราเลือก Marker statement ของเรา แล้วก็ตามด้วยอะไรเครื่องหมายโคลอนเลยนะคะ เพราะ เพราะอะไร เพราะmarkerเราระบุตำแหน่งที่เราทำไว้ มันมันเป็นการระบุตำแหน่งหรือค่าไว้แล้วก็คือเป็นค่าว่างเห็นไหมคะเราเรียกใช้มันมาก็คือเมื่อสำหรับแกน x name ค่านี่นะคะ สิ่งที่เราจะกำหนดต่อไปเงื่อนไขนี่ในรูปนี้นะคะ ต้องสร้างโลกเพราะมันต้องเช็กตามรูป เมื่อเช็กแกน x แล้วก็ต้องเช็กแกน Y เห็นไหมคะ y โพสต์ค่าเริ่มต้นของ y ก็คือช่องตารางที่เคยบอก อ่ะ หน้าจอเราเวลาเริ่มต้นมันก็เริ่มต้นจาก 0 0 เสมอเพราะฉะนั้น y ของเราก็ต้องเท่ากับ 0 เหมือนกัน y_ แปลนี้มีค่าเท่ากับ 0 นะคะ เด็ก ๆ ดูตำแหน่งแถวดี ๆ ด้วยนะ นี่เห็นไหม Tab มันจะเยื้องไปนะคะ มันจะไม่อยู่ตรงกันนะ เพราะมันเป็นรูปอันนี้คือรูปในแถว XXXX แถวใช่ไหมต่อไปเราจะทำรูปใน yfortinetก็คือคอลัมน์ตามแถวเช็กไปตามนึกออกนะ นี่นี่คือแถวใช่ไหมมันจะเช็กไปตามแถวก่อน แล้วค่อยคอลัมน์ในแถวที่ 1 แถวที่ 2 อะไรอย่างนี้ ไล่ไปคอลัมน์นี้ แถวนี้ แถวนี้ คอลัมน์นี้ แถวนี้ แถวนี้ ไปตามแถวนะคะ ตามคอลัมน์ไปตามแถวอย่างนี้นะคะเวลาเช็sก็ใช้ for Loop เหมือนเดิม poru เปลี่ยนจาก x เป็น y in อะไรคะ in ex เอาค่าออก เพราะกำหนดค่า x แล้วเป็นเท่าไร แม่ค้าเพราะว่ายีนส์ edwin ไหม ทีนี้มาเช็ก มาเช็กลูปแล้ว เริ่มจะเช็กลูปแล้ว ถ้า Y = 1 เกิดมาร์กลงไปในตำแหน่งนี้ ตำแหน่งที่ 1นะคะ สมมุติ สมมุติ ก็คือใช้เงื่อนไข if สร้าง If condition ขึ้นมา if y = 1 เราจะมีเงื่อนไข เพื่อตรวจสอบ แล้วเมื่อวานอะไรจะเกิดขึ้น สิ่งที่ทำต่อมา เราจะเป็นกำหนดค่าสี สีที่เราจะใช้ก็คือสีเขียวกับสีแดง โดยที่สีเขียวจะไว้สร้างตัว X นะคะ สีแดงจะไว้ใช้สร้างตัว o เห็นไหมคะ Green จะสร้างเอง Red จะสร้าง o ขึ้นมา เพราะฉะนั้นไปตำแหน่งประกาศตัวแปรเพื่อประกาศตัวแปรให้กับสีนะคะ สีเขียว สีแดง เรานั่นเอง มันเป็นตัวแปรที่ตัวเองแล้วก็ใส่เครื่องหมายเท่ากับใส่ค่า ค่าสีนี้มันจะใส่ตามแถว ไอ้นี่ตอนที่รันอยู่ไหน แถวไปตามแนวน่ะ แนวเส้นที่เราสร้างนี่ล่ะ แนวตารางที่เราสร้างนะคะ ก็คือเริ่มที่0 แล้วก็ไม่เต็มพื้นที่มาก 2555 ให้มันใส่ค่าอยู่เพราะพื้นที่ของดินเราคือ 300 แต่เราจะให้มันใส่เต็ม 300 อยู่แล้วนะคะ แล้วก็ 0 จะมี 2 ค่า ต่อไปสีแดง Redreg.pim เท่ากับประกาศตัวแปรเท่ากับค่าสีจะสลับเห็นไหม สีเขียว 02 550 สีแดง 25 500 วงเล็บนะคะ วงเล็บเปิด วงเล็บปิด 255 แล้วก็ 0 เพราะอะไร เพราะมันมี 3 คอลัมน์ 3 แถว ค่ามันก็เลยไปตามคอลัมน์ ตามแถวที่ขึ้นนั่นล่ะ เห็นไหมคะ ได้ตัวแปรสำหรับสีเขียวสีแดงแล้ว สิ่งต่อไปที่เราจะทำการวาดตัว X นะคะ คำสั่งที่ใช้วาด ก็คือpygame dry ก็คือคำสั่งในการวาดเส้น มาดูรูปแบบกาดตี๋จะได้ใช้ได้ เมื่อกี้ตรงนี้นะคะ ส่งแคทเราลบ cache เราออกเพื่อจะวาดแล้ววาด พรายโมเดิร์น ภายเกมดอทรอดีดีเลือกฟังก์ชันที่ชื่อว่า Line line แบบไม่มี S นะ นี่มันมี 2 line เห็นไหม LINE ที่เราใช้ก็คือ line ตัวแรกนะคะ LINE function ตัวที่ 1เราจะระบุค่าในไลน์ ระบุค่าเส้นนั่นเองนะคะ ดูค่าเส้นที่จะระบุนะคะ เราต้องบอกตำแหน่งก่อนว่า นี่ในหน้าจอนี้ ในหน้าจอนี้ เห็นไหมเราต้องเลือกหน้าจอนี้ขึ้นมาด้วยนะคะ เพราะมันจะได้ว่าตรงไปถูก ว่ามันจะ ว่าตรง ตรงไหนก็เลยเรียกสกรีน Y นะคะ ตามด้วยสกรีนก่อนเห็นไหมคะเลือก screen statement นี่นะคะ แล้วก็ตามด้วยคอมมานะคะ วาดแล้วก็ตามด้วยสีที่เราจะใช้วาด ก็คือGreen Green ของเรา Green statement นั่นเอง ก็คือว่าตรงไหนระบุพื้นที่ เห็นไหมคะ ก็คือตัวสกรีนนี้ที่เราทำไว้ นี่ ๆ นี่สกรีนเท่ากับนี่ก็คือตัวนี้ที่กำหนดจากตัวนี้มานะคะ ก็ไปเรียกใช้มัน แล้วก็ตามด้วยสีตัวแปรสีนะคะ เสร็จแล้วตามด้วยอะไรตามด้วยตำแหน่งเห็นไหมคะ ตำแหน่งเจนแกน Y นั่นเองนะคะ ตำแหน่งแรกดูเพราะเวลาตัวนี้มันไล่ มันจะไล่จากไป โคลอนนะคะ ใส่คอมมาแล้วก็ตามด้วยเครื่องหมายวงเล็บ ใส่วงเล็บก่อนนะคะ เห็นไหมคะ เพราะในนี้ตำแหน่ง x โพสต์ เรื่องโพสต์นะคะ ตำแหน่งของ Gen X X ก็คือตำแหน่งของแกน x ของเรา จะเริ่มที่คูณร้อยบวก 15 ใส่ 115 เลยก็ไม่ได้มันต้องไปทำการคำนวณก่อน เพื่อลดค่าความคลาดเคลื่อนต่าง ๆ นะคะ ตำแหน่งนี้ ก็คือตำแหน่งของ x โพสต์ ซึ่ง Express เราเริ่มที่ 0 ให้ Expressไป x 100 วรรคนะคะ กด Space Bar กด สตาร์ต กด Space Bar แล้วก็กด 100 แล้วก็กด Space Bar อีก 1 ครั้ง วัดแล้วก็กดบวกและก็วัดตามด้วย 15 เดี๋ยวให้ดูตำแหน่งให้ดูตำแหน่งอีกทีหนึ่ง ให้นึกถึงเห็นไหมตำแหน่ง x0 Y0 นี่ x เริ่มจากนี่คือแกนนี่ แกนนอนเห็นไหมคะ x0 Y0 เพราะฉะนั้น x เริ่มที่นี่ Express เท่ากับ Express เท่ากับx Post คือ Express *100/15 มันก็คือ 115 นั่นเอง มันก็จะเริ่มจากจุดนี้ 115 ใช่ไหมคะโพสต์ทีนี้มันจะได้แค่จุด แต่ถ้าลากเส้นมันต้องเพิ่มตำแหน่งของแกน Y ด้วย ต้องบอกตำแหน่งของแกน Y ด้วย เมื่อบอก x ไปแล้ว ก็ต้องมาบอก y โพสต์ เห็นไหมคะ ก็พิมพ์ y แล้วเลือก WiFi โพสต์ ก็เป็น ครูเหมือนกันคูณสาย Star Space Bar แล้วก็ 100 แล้วก็คูณเฮ้ย Space Bar บวก 15 ตำแหน่งเดียวกันก็คือเริ่มบรรทัดที่ 115 คอลัมน์ที่ 115นี่ดูตำแหน่งนะคะ ก็คือจะเริ่มจากจุดนี้ เสร็จแล้วให้มันลากมาจากนี่ เพราะฉะนั้นมันก็ต้องเพิ่มก็คือวงเล็บแรกวงเล็บแรกนี่คือจุดเริ่มต้นของเส้นใช่ไหมคะ เพราะฉะนั้นเราจะเพิ่มอีกวงเล็บที่ 2 เห็นไหมคะ ก็คือจุดสิ้นสุดของเส้นรูปแบบคำสั่ง LINE ก็คือจะบอกอันนี้คือวงเล็บแรกนี่คือจุดเริ่ม เพราะฉะนั้นใส่โคลอนแล้วก็ตามด้วยวงเล็บที่ 2 วงเล็บที่สองก็คือจะบอกตำแหน่งของจุด จุดสิ้นสุดของเส้นก็เหมือนกัน ก็ต้องเริ่มใช้โพสต์ก่อน Express นะคะ สังเกตที่ตำแหน่งที่ 2 ดี ๆ เห็นไหม อยู่ที่ร้อยเท่าไรไม่ถึง 200 ก็เลยบอกว่าอยู่ที่ประมาณ 185 เพราะไม่ให้ขึ้นเต็มจอ ถ้าขีดเต็มจอก็คือ 100ถึง 200 ใช่ไหมคะ นึกออกนะถ้าขีดเต็มนี่ ถ้าไอ้นี่เลื่อนไปเต็มนี่มันจะคิดช่องเลย แต่เราไม่เอาเต็มช่อง เราก็เลยเว้นพื้นที่ไว้ให้มัน 15 ช่องไฟ เพราะฉะนั้น100-15 ก็คือ 85 นั่นเองนะคะ เพราะฉะนั้นตรงตำแหน่งสิ้นสุดจะเป็น Express เท่ากับ x star star Space Bar 100 Space Bar 85 เพราะฉะนั้น y ตำแหน่ง y โพสต์ต้องเป็นStar 100 85 เหมือนกันนะคะ ที่นี่ที่ใส่ต่อจากตัวนี้ Line LINE width LINE Wilth นี่ ก็คือความกว้างของเส้น เราเคยประกาศความกว้างของเส้นไว้ไปแล้ว ในตอนต้นเห็นไหมคะ ให้มันกว้าง 5 นะคะ เพราะฉะนั้นคือเรากลัวเส้นที่ประวัติออกมาเล็กไง เพราะฉะนั้นเราก็เลือกใช้ได้เลย เพราะฉะนั้นเรามีแล้วเราก็ตามด้วยค่าของเส้น ก็คือพิมพ์ LINE แล้วก็เลือกline width เม้นเห็นไหม แปลที่เราประกาศใช้ไปนี่เลือกมาได้เลย นั่นคือเส้นที่ 1 ใช่ไหมคะ เพิ่งได้เส้นเดียวถูกไหม เพราะฉะนั้นเส้นที่ 2 เลยแล้วค่อยมาเปลี่ยนค่าเอาพี่ใช้วิธี copy เอาไปให้สุดนะ ให้ถึง LINE wiltd เลยนะ ก๊อ [ปี้เลยนะคะ Copy ที่ตั้งแต่ภายเกมไปที่ได้เลย แล้วก็กดวางได้เลยสิ่งที่เราจะมาเปลี่ยนก็คือค่าในตำแหน่งแกนอะไรคะ Tab ให้มันตรงนะคะ มาดูเปลี่ยนค่าในแกนอะไร มาดูกันนี่ X ใช่ไหม นี่คือเส้นที่ 1 ดูเส้นที่ 2 เส้นที่ 2 ค่าเริ่มต้นมาเริ่มจากมุมนี้ มานี่เห็นไหมคะ เพราะฉะนั้นแกน x เท่าไร เท่าเดิม แกนอะไรเปลี่ยนแกน Y เปลี่ยนใช่ไหมคะ เพราะฉะนั้นเราไปดูตำแหน่ง y post ของเรา y post 15 ไม่ได้ y post เท่ากับเช็กง่าย ๆ y post ตรงกับตำแหน่งของตัวนี้เห็นไหมคะ ก็คืออะไรคะ ตำแหน่งนี้คือ 80 เท่าไร 85 นั่นเอง ต้องไหมเห็นไหม ตำแหน่งมันตรงกัน เพราะฉะนั้นเปลี่ยนตรงนี้เป็น 95 เปลี่ยนเป็น 15 เราเปลี่ยนที่ y post นะคะแล้วต้องนี้ 85 เปลี่ยนเป็น 15 ถูกต้องไหม เพราะตรงนี้คือตำแหน่งที่ลงมานี่เห็นไหมคะ ตำแหน่งที่ลงมานี่ y เราอยู่ที่ 15 นะคะ Express อยู่เท่าเดิม ดูแกนนะคะ แกน y คือแนวนี้ แนวตั้งเพราะฉะนั้นจาก 18 โอเคไหม เช็ก ๆ อย่างไร ดูตัวตัวบนกับตัวล่างเห็นไหมคะ ตำแหน่ง y ดูที่ตำแหน่ง Y เท่านั้น เห็นไหม y post อันบนเป็น 15 แต่อันล่างต้องเป็น 85 นะคะ อันนี้ก็เหมือนกันสลับนะคะ โอเคไหม เปลี่ยน 2 ตำแหน่งนี้เท่านั้น ลูกได้ตัวแกน x แล้ว โอเคไหม แก้แล้วนะ ไม่เป็นอะไร ใครไม่แก้เ ดี๋ยวตอนรันก็รู้มันจะวาดเอามาเป็นอะไรเดี๋ยวก็เห็นเองเดี๋ยวก็เห็นผลเองไม่เป็นอะไรนะคะ ไปต่อได้กันเองแล้วต่อไปได้ตัว X แล้วทีนี้เราจะมาว่าโตคำสั่งในการวาด OOO ก็คือ Circle เห็นไหมคะ pygame Download Circle แต่ค่าในตัวเองจะมีแค่ให้นึกถึงการวาดวงกลมวง กลม ก็คือตำแหน่งจุดศูนย์กลางใช่ไหมคะ ก็ตำแหน่งแล้วก็ค่าของเส้นผ่านศูนย์กลาง ก็คือตัวนี้อันนี้คือค่าของจุดศูนย์กลางใช่ไหม เวลาวาดวงกลมก็ว่าจะผ่านศูนย์กลางให้นึกถึงวงเวียนถูกไหมคะ วงเวียนแล้วก็ไอ้ตัวรัศมีวงเวียนใช่ไหม จุดกึ่งกลางไว้ แล้วก็วนไป วนรัศมี เอารัศมีความกว้างเท่าไหนวงกลมก็จะมีขนาดกว้างตามรัศมีนะโอเคนะคะ มาดูกัน เมื่อกี้เราได้อะไรแล้วนะ ก็จะเป็นเงื่อนไขที่ 2 นะคะ เงื่อนไขที่ถ้าไม่ใช่ถ้าไม่ใช่ผู้เล่นคนที่ 1 ผู้เล่นคนที่ 1 ก็คือว่าผู้เล่นคนที่สองก็จะว่าโต เพราะฉะนั้นนะคะกำหนดเงื่อนไขเพิ่มตรงตรงกันเลยตรงกับ statement ไว้อันแรกนะคะ เพราะฉะนั้นไปให้มันถึงที่เห็นไหมคะให้ตรงกันสังเกตแถบด้วยต้องตรงนะคะแล้วก็เปิด If condition enter เหมือนเดิม พิมพ์ py เลือก py game นะคะ pygame module ตามด้วย รอเหมือนเดิม เราโมดลูดอทอะไรคะ dot Circle function Circle เห็นไหมคะ Circle function บอกแล้วเมื่อเป็นฟังก์ชันให้ ให้ใส่วงเล็บเสมอ ที่นี้เหมือนเดิม เหมือนรายน่ะ เห็นไหมผิดยังไม่เริ่มอันนี้ต้องเช็กก่อน ไอ้นี่เอาไว้ข้างล่าง if ตามด้วย y ก่อนระบุตำแหน่งก่อน y statement ทำไมไปโดน y post bar เอาใหม่เราเลือก y statement นะ ไม่ได้เลือก y post นะ เท่ากับอันแรกเป็น 1 อันที่ 2 มันเป็น -1 นะคะ ก็คือไม่ใช่คนที่ 1 น่ะไม่ใช่ผู้เล่นคนที่ 1เป็นไม่ใช่ตำแหน่งคนที่ 1 ก็เป็นตำแหน่งที่ 2 ว่าอย่างนั้นเถอะนะคะ เหมือนเดิมโคลอนตกลงไปแล้วดึงขึ้นมาก่อน เดี๋ยวเอา tab ออกนะคะ ลบแชทออกตำแหน่งก็จะคล้าย ๆ กันเห็นไหม pygame The Circle เลือกใช้สกรีนเหมือนกัน สกรีนนะคะสกรีน statement เหมือนกัน 84 ของเราเป็นอะไร บอกแล้วว่าโตเป็นสีอะไรคะ สีแดงใช่ไหม เพราะฉะนั้นตัว o ก็ต้องเป็น Red นะคะ กำหนดสีให้เป็น red นะคะ เลือก statement Red เพราะเราประกาศตัวแปรไปแล้ว ตามด้วยค่ะ ก็คือเปิดวงเล็บวงเล็บเปิดปิดค่าในตัวก็คือแกน x ก่อนมันจะขึ้น Express เสมอ เลือกโพสต์นะคะ x Post กำหนดค่าเริ่มต้นจุดศูนย์กลางให้เริ่มที่ในรูปเริ่มที่เท่าไร ประมาณร้อยเห็นไหมคะ x 100 50 ครึ่งหนึ่งของตรงกลางของ ให้มันอยู่ตรงกลางเพราะฉะนั้นครึ่งหนึ่งของ 100 หรือ 200 ก็คือ 150 นั่นเองนะคะ ให้อยู่กึ่งกลางมันก็อยู่ที่ 50 นั่นแหละ 150 x Post ก็ใช้เหมือนเดิม x star s-100 50 ตำแหน่ง y post ก็เหมือนกัน ก็จุดศูนย์กลางเหมือนกัน จุดศูนย์กลางนะคะ เริ่มที่จุดศูนย์กลางเหมือนกันก็เลือก y post Star 100 50 เหมือนกันมันถึงจะเป็นตำแหน่งตรงนี้ เห็นไหมจุดศูนย์กลางตรงนี้เห็นไหม เพราะหลักการวาดวงกลม ให้นึกถึงตอนเราใช้วงเวียนวาด เอาขาวงเวียนเป็นจุดศูนย์กลาง เห็นไหมคะ ไอ้ตรงเหล็กน่ะมันจะเป็นจุดศูนย์กลางเป็นตำแหน่งที่วางไว้ แล้วไอ้ตรงขามันที่เรากำลังออกไปน่ะ คือ รัศมีของวงกลมน่ะ ก็จะเป็นตัววาดก็จะทำให้วงกลมพอหมุนรอบวงกลมกรมมันก็จะมีรัศมีตามที่กำหนดนะคะ เมื่อกี้ได้ตำแหน่งจุดศูนย์กลางแล้วทีนี้รัศมีก็คือคือลองแล้วว่า 38 น่ะ วงกำลังสวยคือเยอะกว่านี้มันจะค้างนึกออกนะ ก็เลยได้ค่ามาที่ 38 นะค ะคือลองมาให้แล้วนะคะ เพราะฉะนั้นแต่เวลาเราไปทำถ้าเราวาดเองก็ไปดูว่ารัศมีเท่านี้พอดีไหม ถ้าไม่พอดีเราก็ขยายเพิ่มได้อะไรอย่างนี้ นึกออกนะคะ ตามด้วยให้ไปหลังวงเล็บ แล้วก็บอกค่ารัศมี ก็คือใส่โคลอน แล้วก็ตามด้วยค่ารัศมีซึ่งที่กำหนดของที่ตารางนี้ก็คือให้ที่ 38 นะคะ แล้วก็บอกอะไรอีก บอกความหนาของเส้น ก็เลือกเลือกใช้ Line y statement นะคะ อันนี้คือบอกค่ารัศมี 38 นี่ก็คือรัศมีของวงกลมนะคะ แล้วก็ line y ก็คือบอกความหนาของเส้นที่เราสร้างไว้ได้วงกลมแล้วเห็นหรือเปล่า ได้ตัว O จะบอกว่าวงกลมก็คือตัว S ก็คือเส้นใช้เส้นวาด โอเค ก็ใช้วงกลมวาดนั่นเองนะคะ ที่นี้ก่อนมันจะทำ เราจะต้องหลบเสียก่อนเพราะเราเปิด for ไปกี่อันเห็นไหม เปิด for ไป 2 อันใช่ไหม มีเฟซกับฟองใช่ไหมเพราะฉะนั้นปิดมันด้วยครับ ปิดมันด้วยเห็นไหมคะ เปิดไปแล้วนี่รูปเรา รูปเรา เราก็จะต้องปิดตำแหน่งปิดด้วยค่ะก็คือทำให้ลูกมันเพิ่มขึ้นก็คือมันวนรอบเพิ่มขึ้นไปเพิ่มทีละ 1 นะคะ เพิ่มทีละ 1 ฃเพราะฉะนั้นบรรทัดใหม่ตำแหน่งดูตำแหน่งนะคะ รูปแรกอยู่ตรงกับ For x พอแรกก็คือตัวนี้เห็นไหมนี่ ๆ นี่ปอตัวนี้เลยนี่หยุดตรงตำแหน่งของ y ขาวตัวนี้ของ for y นี้นะคะ ตัวนี้ก็อยู่ตำแหน่งของ x ตัวนี้นะคะ ดูนะคะดูตำแหน่งดี ๆ Tab ไปหน่อย เกินเพราะฉะนั้นy post ตัวนี้คือ y post เท่ากับไม่ใช่เท่ากับ เท่ากับเครื่องหมายบวกนะคะใส่เครื่องหมายบวกแล้วก็ใส่เท่ากับเพราะเราจะให้เพิ่มครั้งละ 1 ก็เลยต้องใช้บวกเท่ากับนะคะ ใน python นะคะ คือถ้าในภาษา C คือจะเป็นบวกบวกเพิ่มทีละ 1 นะ แต่อันนี้จะเป็นบวกเท่ากับ 1 ทีนี้รูปที่ 2 มันจะตรงกับ x นี้นะคะ X ตัวนี้นะคะตัวนี้เห็นไหมค่า X ตัวนี้เพราะฉะนั้นตรงนี้ก็จะเป็น X post เลือกโพสต์เหมือนกันเท่ากับ เท่ากับ 1 เหมือนกัน ก็เพิ่มทีละ 1 วนไปรอบที่ 1 โอเคนะดูตำแหน่งดูตำแหน่ง บอกแล้วว่าเวลาทำรูปดูตำแหน่ง โลก พอตอนจะปิดรูปต้องดูตำแหน่งรูปนะคะ มันจะตรงกับตัวแปรที่ตั้ง เพราะไม่อย่างนั้นเดี๋ยวพอเรากด ctrl B น่ะ แล้วแท็ก Error มันจะขึ้นถ้าใส่ตำแหน่งไม่ถูกเพราะมันไล่ไม่ถูก ไล่ไม่ถูกเพราะว่ามันไปปิดตรงไหนนะคะ จากนั้นเราเสร็จแล้วเราทำฟังก์ชันเรา Markers เสร็จแล้วเพราะฉะนั้นเราก็มาเรียกใช้มัน เพราะฉะนั้นเดี๋ยวจะดูไม่ได้ เรียกใช้ตรงไหนตรงตำแหน่งที่เรารัน ร้านเห็นไหมคะเพราะฉะนั้นก็มาเรียกใช้งานนี่ก็อยู่ตรงจากล็อกเก็ตเรียกใช้ Draw มาร์กเกอร์ ก็พิมพ์ D แล้วก็เรียกเลือก draw Marker function ของเราเ ลยบอกแล้วว่าพอใส่ฟังก์ชันก็อย่าลืมใส่วงเล็บไม่อย่างนั้นมันจะไม่ขึ้น สีเขียวอย่างนี้มันจะไม่รู้ว่าเป็นฟังก์ชันไง จะได้ใส่วงเล็บให้มันทีหลังนะคะ เสร็จแล้วลองกด ctrl B ค่ะ Control B เพื่อทดสอบเดี๋ยวปิดไอ้ตัวที่ทดสอบครั้งแรกไปก่อนเสร็จแล้วนะคะ สำหรับการสร้าง draw Marker แล้วลองรันดู โดยกด controlปีClickคลิกซิขึ้นไหม ไม่ขึ้นอะไรหายไป เห็นไหม ไม่ขึ้นมา ก็ยังไม่ขึ้น ขาดไปตำแหน่งไหนล่ะนี่ Error ไม่ขึ้น ไม่เป็นอะไร ยังรันไม่เสร็จไ ปต่อได้แปล แต่ดูว่าเราเช็กคลิกลงไปได้ใช่ไหม มันยังไม่วาดเลิกใช้แล้ว draw Marker ของใครขึ้น ezerraบรรทัดที่เท่าไหร่เช็กบรรทัดครับ บรรทัดที่ค่านี้หรือเปล่า ค่าคลิกนี่หรือเปล่าค่าคลิกถูกต้องไหม เห็นหรือเปล่าเช็กค่าด้วยค่ามันจะส่งสลับกันไปสลับกันมา นี่เช็กดี ๆ ด้วยสลับข้าด้วยเดี๋ยวไปต่อเดี๋ยวไป ต่อต้องต่อ ไม่อย่างนั้นมันไม่ขึ้นไงมันไม่ขึ้นตอนนี้มันแค่มาร์กไว้ใช่ไหม มันยังไม่โชว์ อะไรหายไป อะไรกันเมื่อให้มัน มากแล้วทีนี้จะมาสร้างฟังก์ชันฟังก์ชันเพื่อจะเช็ก เช็หว่าใครเป็นคนชนะ ก็คือพอคลิกไปแล้วนี่นะคะ XO ลงไปแล้วนี่ เมื่อมันครบ 3 น่ะถ้ามันเรียงครบน่ะ มันก็ต้องมีคนชนะ เราก็จะหาคนชนะกัน เราก็เลยจะมาฟังก์ชันชื่อว่าเช็ก winner เราต้องโค้ดให้เสร็จก่อนแล้วเดี๋ยวค่อยแก้ Error ทีเดียวนะ อย่างนั้นมาโค้ดดิ้งเช็ก Error อยู่ตรงตำแหน่งไหน อยู่ตรงจากตำแหน่งที่เราสร้างมาร์กเกอร์แล้วนะคะ เราก็ไปต่อเลยนะคะ ตรงรอ Marker 1 2 พิมพ์ comment ว่าปางฟังก์ชันเช็ก Winner หาคนชนะ ใช้เช็กใหญ่ เช็กเล็กนะใช้เช็กเลกนะคะ c h e e rเริ่มที่ตัวแรกเลยดีเลือกทำไม def ไม่ขึ้นd e f ไม่ขึ้น เลือก def ฟังก์ชั่น อินเทอร์แล้ว ก็ใส่ชื่อฟังก์ชันใส่ function check Winner ลงไปนะคะ แล้วทำรูปว่าค่า SD ในมาร์กมีค่าเท่านี้ เห็นไหมคะ 3 ครั้งนี่ครบ 3 ครั้งนี่ ผลรวมของ x นี่เท่ากับ 3 ก็คือมาร์กลงไป มาร์กลงไป 3 ครั้ง ว่าอย่างนั้นเถอะ Winner ก็ต้องเท่ากับ 1 ก็คือ Winner คนที่ 1 นะคะ แล้วเมื่อจบเกมนี่ถ้าจะเป็นจริงก็คือเมื่อเล่น เล่นครบ ถ้ามันก็จะเป็นจริงก็คือ Game Over ตรงแพ้นะคะใส่ for Loop ค่ะ for loop เห็นไหมคะ for Loop ด้วยค่า x ของเราใน Marker อินตรงนี้เปลี่ยนเป็น marker แทนเลือก Marker statement Marker มีค่าเท่ากับ ถ้า x ใน Marker มีการX ลงไปนี่นะคะ มี x ใน Marker นี่ ตรงนี้เงื่อนไขก็จะมาตรวจสอบว่าค่า If เรื่อง If condition ถ้าผลรวม sum ก็คือมาจากผลรวมเลือกใช้ฟังก์ชันเลือก sum function ใส่วงเล็บเปิดเหมือนเดิม ทำอะไรซ้ำของ x เรานั่นเองนะคะ sum ของ x =เ ท่าไหร่คะ 3 ก็คือผลรวมของ x นี่เห็นไหมคะ ได้ 3 ปุ๊บนะคะ เราก็บอกเลย winner ประกาศตัวแปร Winner เลย Winner อันนี้ต้องพิมพ์เองนะ W I W Winner แล้วก็ตามด้วยเครื่องหมายเท่ากับนะคะ ตัวแปร Winner มีค่าเท่ากับ 1 นะคะ แล้วก็เมื่อครบ 3 นี่ถ้า x มันครบ 3 นะคะ รวมแล้วได้ 3 นี่เพราะฉะนั้นคนนี้คือชนะแล้วก็ถึงว่าจบเกม เพราะว่าถ้ากา x มันครบหรือยังมันครบ x หรือ Y x หรือ o เรียงกันครบนี่ มันก็คือมีคนชนะแล้วหรือยัง ครบ 3 อัน เพราะฉะนั้นต้องเป็นคนชนะคนใดคนหนึ่ง คนที่กล้าด้วยx หรือคนพิการด้วย o มาร์กด้วยหรือมาร์กด้วย o นี่ เป็นคนชนะเพราะฉะนั้นมันก็จะเกมเลยสร้างตัวแปรชื่อว่าเกมโอเวอร์ อันนี้พิมพ์เอานะคะ อันเดอร์สกอร์พิมพ์ g a m e ตามด้วยอันเดอร์สกอร์แล้วก็ตามด้วยคำว่า Over o v e r Game Over ก็คือจบเกมเท่ากับTrue เช็กด้วยว่าเป็นจริงหรือเป็นเท็จใช้ true กับ flase เท่านั้นนะคะ ก็คือถ้าอย่างนี้แสดงว่าจบเกมก็คือว่าเป็นจริง ก็คือหมายถึงให้มันจบเกมนั่นเองนะคะ ที่นี้รูปแรกนี้เช็กจากแถวละ เช็กจากแถวแล้วนะคะ เราต้องมักกะประกาศตัวแปรให้ winner เกมโอเวอร์เห็นไหมคะ ก็คือ Winner โดยมีค่าเริ่มต้นที่ 0 Game Over มีค่าเริ่มต้นเป็น flase นะคะ ไปประกาศตัวแปรให้ 2 ตัวนี้ตรง Player นะคะประกาศตัวแปรชื่อว่า Winner มีแล้วคลิกได้เลยเท่ากับค่าเริ่มต้นของ Winner คือ 0 เริ่มที่ 0 แล้วก็เกมโอเวอร์ เมื่อกี้สร้างแล้วก็คลิกเลือกได้เลย เลือกเกมโอเวอร์มาได้เลย แล้วก็ให้ค่าเริ่มต้นเท่ากับ O ในค่าที่เช็กเป็น True เพราะฉะนั้นค่าเริ่มต้นของเกมโอเวอร์จะเริ่มที่ for เสมอ ก็คือยังไม่จบเกมน่ะ เสมอเพราะมันยังเล่นอยู่ เสมอไงนะคะ เมื่อประกาศตัวแปรเสร็จ มาต่อมาทำเงื่อนไขต่อรูปที่ 1 แล้วนะคะก็จะเป็นรูปที่ 2 นะคะเงื่อนไขนี้ถ้าไม่ใช่คนที่ 1 แล้ว Winner คนที่ 2 คือใครนะคะ Winner 2 ก็เหมือนกันก็อบมาได้เลย ก๊อบจากข้างบนนี่มาได้เลยนะคะ แล้วเปลี่ยน เปลี่ยนค่าตรง 3 นี่เท่านั้นเอง ค่าตรงนี้วิธีการไม่ต้องพิมพ์เลือกเลือกตรง iด ถึง Sum sum ของเราถูกไหม แล้วเราก็กลับพี่ได้เลยกดก๊อบปี้ แล้วก็วางมันเสียปิดแผลไม่ต้องพิมพ์ใหม่ เพราะเรามาเปลี่ยนค่าไง เปลี่ยนแค่ค่าถ้านี้จาก 3 ก็เป็นลบ 3 ค่านี้จาก 1 ก็เป็น 2 คนที่ 2 ผู้ชนะคนที่ 2 ถึงจะเป็นผู้ชนะ Game Over จาก True ก็เป็นเห็นไหมคะ Over ยังเป็น True เหมือนเดิมนะคะ Over ไม่เปลี่ยน เปลี่ยนแค่ตรงซ้ำกับตรง Winner เห็นไหมคะ จาก 3 เป็น -3 1 เป็น 2 แค่นั้นเองโอเคไหม เปลี่ยน 2 ที่ตรงนี้ตรงนี้เปลี่ยน 2 ตำแหน่งพอจาก 1 เป็น 2 จาก 3 เป็น - 3 game over เหมือนเดิมอันนี้ไม่ต้องพิมพ์ใหม่นะคะ ก๊อบมาได้เลยเพราะคำสั่งเดียวกันเลยเช็กเหมือนกัน เปลี่ยนแค่ค่าการคำนวณมันเท่านั้นเอง ต่อไปก็คือเมื่อกี้เช็กไปตามแถวแล้ว ทีนี้จะเช็กตามคอลัมน์ เห็นไหมคะ ตามคอลัมน์ ก็คือตามตำแหน่งที่เป็นแนว แนวนี้ แนวนี้มันจะเช็กไปตามแนวนี้บ้างก็คือเมื่อกี้เรียงตามแนวนอนใช่ไหม ก็คือถ้าถ้า x เรียงไป 3 แถวนี้นี่คือแนวนอนถ้าเรียงตามแนวคอลัมน์ eglips 3 แถว 3 คอลัมน์ครบทั้ง 3 คอลัมน์ ก็จะใช้เงื่อนไข มาร์กนะคะ มาร์ก 0 เพิ่ม เพิ่ม If condition เข้าไป Eastin เลือก เลือกเรื่อง statement มาร์กนะคะ เลือกอาเรย์ค่าอะไรเท่ากับค่ะ ผิดอีกแล้ว ค่าในมาร์กเริ่มที่0 นะคะ แล้วก็ตามด้วยอะไรเอ่ย y post อาเรย์ต่อไป ก็คืออาเรย์ของ y โพสต์นะคะ ในนี้ใส่พิมพ์ y post เลือก y post ตอนนี้เราจะเช็กไปตามแนวแถวแล้วนะ แนวคอลัมน์แล้วนะ เมื่อกี้เช็กแถวเสร็จแล้ว เช็คคอลัมน์แล้ว ทีนี้นะคะ แล้วก็ไประบุข้าให้ y post เริ่มที่ 0 ด้านบนตรงตำแหน่งเหนือ forrest นี่นะคะ เนื้อฟอยล์เห็นไหมแต่ตำแหน่งตรงกับ for เลยนะคะให้ y postEnter มีค่าเท่ากับ 0 ค่าเริ่มต้นกำหนดค่าเริ่มต้นให้ y post เท่ากับ 0 นี่เห็นไหมคะ เพราะไม่อย่างนั้นมันจะเข้ามาเช็คตัวนี้ไม่ได้มันจะเข้ามาจากไหน y postมาจากต้องเชื่อมกันเ พราะฉะนั้นตรงตำแหน่งคอลัมน์มันไม่ได้มีคอลัมน์เดียวเห็นไหมคะ ก็จะมีคอลัมน์ที่ 0 1 2 ก็คือคือใน array มันจะนับคอลัมน์แรกเป็น 0 1 2 เพราะฉะนั้นเราก็ต้องเพิ่มค่าคอลัมน์เข้าไป วิธีการไม่ต้องพิมพ์ นึกออกนะ ปีได้ก๊อบไปก๊อบตั้งแต่คำว่า Mark 0 y post นี่ไปแล้ว ใส่โคลอนมาแล้วก็กดวางครั้งที่ 1 ใส่คอมมาแล้วก็กดวางครั้งที่ 2 เปลี่ยนตำแหน่งมาร์ก เป็น 1 แล้วก็ช่องที่ 2 ก็เป็น 2 แค่นั้นเองเปลี่ยน 2 ตำแหน่ง เริ่มจาก0 เห็นไหมคะ เริ่มจากหนึ่งแล้วก็เริ่มจาก 2 ไม่ได้ใส่คอมมา โทษ ๆ มันต้องเป็นบวกมันเพิ่มเพิ่มขึ้น เพราะมันเช็กว่ามาร์คเข้าไป 1 ช่อง นะคะ ใส่หมวกแทนตรงคอมมาใส่เครื่องหมายบวกแทนนะคะ ตรงโคลอนใส่เครื่องหมายบวกแทน ผิดพูดถูก ชอปเปอร์นะคะ เปลี่ยนเป็นเครื่องหมายบวกเห็นไหมคะก็คือถ้ามีมาร์คที่ 1 และที่ 2 มาที่ 3 ก็คือมันครบ 3 อันตามแถวตามคอลัมน์นี่ครบ 3 ช่องนี่ 123 ปุ๊บนี่เห็นไหมคะตำแหน่งนี้สิ่งที่จะทำต่อก็คือก็จะมาบอกว่านี่นะคะเห็นไหมคะค่าของตำแหน่งนี้เท่ากับ 3 แล้วค่อยมาเพิ่มบรรทัดนี้ เพิ่มอย่างไรดูตรงy postนี้ใช่เท่ากับ 3 เข้าไปใส่ค่าเท่ากับนะคะ แล้วก็ตามด้วย 3 ลงไปนะคะในบรรทัดนี้ Copy อันนี้มาครับ Winner กับwinne rGame Over มาเพราะ Winner ที่เราใช้ก็คือ Winner ที่ 1 ขอโทษกดไวไปหน่อย Winner ที่ 1 เห็นไหมนี่ Game Over ไปก๊อบ Winner ที่ 1 กับ Winner 2 ก๊อบตรงนี้มา เห็นไหมคะ ก๊อบได้เลยตัวเดียวกันใช้ตัวเดียวกันเพื่อจะบอกว่า เมื่อครบอันนี้ก็คือใครบอกว่าผู้ชนะคือคนนี้นะคะ ถ้าคบคอลัมน์ตามแนวนี้ก็ไม่ต้องแก้เห็นไหมคะแล้วแล้วอะไรต่อแล้ว ก็เช็ก เห็นไหมคะ เช็กกับธรรมชาติของคนที่ 1 มาร์กนี่ก็ต้องเป็นของคนที่ส่องมาร์กแก้แคบ Copy จากไหนใช้วิธีก๊อบจากนี้เลยจะก๊อบมาร์กอันนี้ เห็นไหมคะ จนถึงเกมโอเวอร์น่ะ แล้วมาเปลี่ยนค่าตรงไหนคะตรงค่าสุดท้ายจาก 3 เป็น -3 แล้วก็เปลี่ยนค่าตรง Winner จากคนที่ 1 ก็เป็นคนที่ 2 เพราะมันเช็กตามคอลัมน์ไง มันเช็กตามคอลัมน์ก็เหมือนอันนี้ ที่มาเช็กตามแถว เห็นไหมคะ เพราะฉะนั้นก็สไตล์เดียวกันตีมาได้เลย แต่สิ่งที่มีมาเพิ่มก็คือเห็นไหมคะรูป รูปของการเช็ก y post เพิ่มขึ้นมาอีก 1 ตรงบรรทัดสุดท้ายก็คือเพิ่มคำว่า y post เลือก y post มีค่าเท่ากับบวกเท่ากับ 1 ให้มันเพิ่มเพิ่มรอบ รอบในการทำงานเพิ่มรูปเข้าไป เท่ากับ ทำไมเป็นบวก บวก เท่ากับ 1 เพิ่มรอบเข้าไป 1 รอบครั้งละ 1 รอบ วนรอบ วนรอบ Express อยู่ ตอนนี้โอเคไหมทันนะคะ ทันไหม ทันไหม OK เมื่อกี้เช็กแนวนี้ แนวแถวกับแนว Column ไปแล้ว ทีนี้เช็กทแยงค่ะ ก็คือจากนี่จากนี่นึกออกนะ ทแยงจากมุมบนลงมาข้างล่างนี่ทั้งด้านซ้ายด้านขวานี่นะคะ เช็กมุมทะแยงนี่นะคะล ก็ต่อจากเมื่อกี้นั่นล่ะเอาตัวแรกมาก๊อบตัวนี้ มาก๊อบตัวที่ 1 มาเลยนะคะ ดูดี ๆ นี่เห็นไหมตัวที่ 1 กับตัวที่ 2 นี่มาเลย ดูนะครับ แล้วมาเปลี่ยนอะไร ก๊อปอันแรกก่อน แล้วค่อยไปเปลี่ยนอันที่ 2 ง่ายกว่า ก๊อบ if นี่ถึง Game Over to นี่พอนะคะ นี่นะคะถ้าตรงให้คลิกย้อน 1 ตำแหน่งเปลี่ยนค่าใน y post เป็น 1 ดูนะคะ ดูค่าที่เปลี่ยนเห็นไหมเริ่มที่ 0 1 2 3012012OK รู้แล้ว 0 อันนี้ 0 ก่อน 0 ก่อนช่องแรก 0 ใช่ไหม ช่วงนี้ y post เป็นหนึ่งช่องนี้ y post เป็น 2 เดี๋ยวนะ 00 10 22 เท่ากับ 3 มาร์กเกอร์ 0010 เอาใหม่เอาใหม่ 0000 0 1 0 มันเช็ก เออใช่ มันเช็ก ตามแนวนี้ไง นี่ ๆ เห็นไหม อันแรกน่ะ 00 ถูกแล้วอันที่ 2 มันจะเป็นหนึ่งกับ 1 กับ 0 x x เป็น 1 X 1 กลายเป็น 0 ตัวมาร์กอยู่ที่ช่องที่คอลัมน์ คอลัมน์เริ่มอาเรย์ที่ตัวแปรที่ 1 อันนี้ 0 ถูกแล้วอันนี้ 22 ค่าเท่ากับ 3 แล้วก๊อบตรงนี้นะคะ ตรงนี้ซ้ำอีก 1 ครั้ง ก๊อบจากมาร์กจนถึงเท่ากับ 3 นี่นี่ก๊อปปี้แล้วก็ใส่อะไรเครื่องหมายบวกใช่ไหม ปญอคั่นด้วย all ถ้าหรือใส่ all เข้าไปนะคะ รอตรง 3 พิมพ์ก่อนนะ ครั้งเรื่อง All Key Word แล้วก็กดวางไอ้ข้างเมื่อกี้ แล้วก็มาเปลี่ยนค่าใน array เรานี่ในช่องตารางนี่นะคะ จะเริ่มที่ all 20110002 เปลี่ยนค่าในช่องนี้เป็น 2 กับ 01 กลับ 1 0 2 แล้วก็ 0 กับ 2 ตำแหน่งที่เปลี่ยน โอเคไหม แล้วก็ค่า 3 จะเป็นถ้าสุดท้ายจะเปลี่ยนเป็นยังเท่ากับ 3 อยู่ winner ร์เท่ากับอันนี้เสร็จแล้ว ก๊อบตั้งแต่ตรง if นี่ลงมา เปลี่ยนค่าตรงกลางแค่นั้นเห็นไหม ค่าตัวเลขเปลี่ยนแต่ค่าตัวเลขลบจาก 3 เป็น -3 แล้วก็ค่า Winner เป็น 2 วิธีการเหมือนเดิมยาวไปล้นเยอะเกิน เดี๋ยวจะไม่เห็นก็จะก๊อบตั้งแต่มาจนถึงเกมโอเวอร์ทูนะคะ จะทำการก๊อบ if มาจนถึงเกมโอเวอร์ 2 แล้วก็วางเรามาเปลี่ยนค่าเฉพาะแคปไปให้มันตรงเปลี่ยนเฉพาะค่าตรง 3 เห็นไหมคะเป็น -3 ใส่ลบเข้าไป หรือเปล่าค่าใน array ตรงกันหมดเลยเท่าเดิมไม่ได้เปลี่ยนนะคะ ถ้าในนี้เหมือนเดิมแล้วก็มาเปลี่ยนค่าที่ Winner อีกที่หนึ่งจาก 1 เป็น 2 แค่นั้น เรียนอยู่ 1 จุดเห็นไหมคะจุด 3 เป็น -3 แล้วก็ Winner เป็น 2 แค่นั้นทำให้เร็วขึ้นก๊อบมาตัวนี้ คือตัวจะเช็กแถวที่ทะแยงถ้ามันแย่เรียงทะแยงลงมาเห็นไหมช่องที่ 1 ช่องที่ 2 ช่องที่ 3 นี่ ก็คือถ้าแถวนี้มันได้ครบ 3 เมื่อไร คนที่คลิกถ้าคนที่คลิก x ทแยงลงมาครบ มีคนที่คลิกก็จะเป็นคนชนะ แต่ถ้าโอ OK โอก็ชนะอย่างนี้นะคะ อันนี้คือการเช็กตามแนวทะแยงนั่นเองนะคะ สิ่งที่โผล่มาก็คือก่อนจะปิดก็คือใช้ keyword ที่ชื่อว่า Global เพื่อนเรียกใช้ตัวแปร winner เกมโอเวอร์นั่นเอง ที่เราประกาศไว้นะคะ ก็คือมันเรียกใช้อยู่ตรงนี้ชีวิต Global นี่นะคะ อยู่ตรงตำแหน่ง post นี่เอง ก็คือตรงนี้นะคะ วิธีการนะคะพิมพ์ G-L เดี๋ยว global มันจะขึ้นมา ที่นี้มันจะมี 2 Global Global ที่เป็น keyword กับ Global ที่เป็นฟังก์ชัน บอกแล้วว่าเราจะเลือกใช้คีย์เวิร์ดเพราะฉะนั้นเราเลือก Global keyword นะคะ Global keyword แล้วก็ตามด้วยตัวแป รwinner winner นะคะ แล้วก็ตัวที่ 2 Global เหมือนเดิมเลือก Global keyword แล้วก็ตามด้วยตัวแปร Game Over G-A Game Over ขึ้นมา แล้วกด Print Markers คือรูปมันเยอะเห็นไหม เพราะฉะนั้นมันเลยใช้วิธีใช้คีย์เวิร์ดมาช่วยเรียก เรียกมาจะให้อยู่ตรงนี้นะคะ เริ่มต้นเพื่อจะเรียกค่าเริ่มต้นมันน่ะคือถ้ามันจะต้องกลับเพราะมันจะต้องกลับไปเช็กปั๊ม เห็นไหมคะเช็ก เพราะฉะนั้นต้องเรียกค่าเริ่มต้นใหม่ เรียกมาใหม่เรียกมาใช้ก็คือให้มันเริ่ม Winner เรียก Winner มาปุ๊บ Winner เข้ามาครั้งแรกมันจะมีค่าเป็น 0 ไง Game Over ก็จะมีค่าเป็น 0 แต่พอเห็นไหม Winner เข้าไปถ้าเป็น 17 Power ถ้าเป็น True นะคะก็เลยต้องมาเลือกใช้ keyword Global Globalจะเป็นการเรียกตัวแปรที่อยู่ข้างนอกมาใช้งาน ก็คือไปเรียกวันนี้มาพอเรียนเสร็จแล้วทำอะไรต่อเรียกใช้ function Winner เอาไว้ที่ไหนเอาไว้ที่ตำแหน่ง ตำแหน่งที่เราเช็กมาร์กเกอร์ไง เห็นไหมคะ อยู่ตรงนี้นะคะ อยู่ตรงนี้ ตรงนี้ ตรงนี้ก่อนบรรทัด Update ตรงนี้ ตรง Player เห็นหรือเปล่า นี่มาตรงนี้เพราะพรุ่งนี้มันจะมาให้เช็กมาใช่ไหม เช็กก่อนจะจบก่อน จะอะไรด้วยเช็กทุกอย่างแล้ว เช็กเทรนไหมเช็กเซลล์มาก Player 1 เช็กผู้เล่น เห็นไหมคะ เพราะฉะนั้นตำแหน่งของอันนี้ก็คือเลือกเช็ก เช็ก winner เลือก function check Winner ขึ้นมา ใช้งานOKเสร็จหรือยังแล้วก็ไปให้มันเช็ก ว่าถ้าเกมโอเวอร์มีค่าเป็น 0 นี่นะคะ นี่ล่ะคะ แล้วลองทดสอบโปรแกรมเพราะมันจะต้องเปิดเงื่อนไขของเกมโอเวอร์มาด้วย ก็คือถ้าจบเกมนะมันถึงจะเช็กได้ใช่ไหมง หมายถึงตอนไหนล่ะเช็ก Winner หรือย้อนไปอีกไอ้นี่หรือยัง ไม่ใช่ถูกเปล่า หรอพอเรียกใช้ keyword Global Set นะคะ ก็จะเรียกเช็ก winner แต่ก่อนจะเรียกใช้เช็ก Winner ได้ก็คือกำหนดเงื่อนไขให้ ว่าถ้าเกมมันโอเวอร์ให้ค่าของเกมโอเวอร์เท่ากับ 0 ก็คือจะอยู่ตรงตำแหน่งบนคนไหน Event ไหนที่กดเราจะคิดเมาส์ เห็นไหมคะ ก็คืออยู่ตรงตำแหน่งนี้ ตำแหน่งที่เลือกคลิกเมาส์นี่นะคะ ฟังก์ชัน condition แล้วก็ Game Over Game Over กำหนดค่าให้เท่ากับ 0 เอาแพทแล้วมันก็จะมาประโยคนี้ต่อเราจะลองรันดูในขั้นตอนนี้ มาร์กแล้ว อะไรแล้วได้ไหม ได้ไหม Clrt B ครับกด ctrl B เมื่อใส่เงื่อนไข เข้าไปแล้วกด ctrl B ดูขึ้นไหม ลืมเรียกอะไรแน่ ๆ เลย ทำไม marker ตัวนี้ไม่ขึ้น เดี๋ยวนะเช็กก่อน เช็ก winner มีแล้วรอ marker มีแล้วเราจิตมาแล้วโพสต์รอ marquez y post Error ไม่ขึ้นเสียด้วย เช็ก winner รอ marker อยู่ไหน เรามาก็อยู่นี่ไปดูชื่อสิตั้งชื่อถูกไหมนี่ DrDW dormicumขึ้นหรือยังขึ้นไหม เด็ก ๆ ปรากฏของตัวเองไม่ขึ้น งงเลย เดี๋ยวนะ ค่อย ๆ ไล่ อะไรหายไป Error ก็ไม่ขึ้น นี่สิปัญหา เดี๋ยวขอเซฟ เดี๋ยวขอเซฟ แล้วขอเคลียร์ขยะก่อนนะคะ เดี๋ยวขอปิด เผื่อมัน Error มันค้าง มันเลยหาไม่เจอ นี่ไม่รู้อันไหนเป็นอันไหนนี่ ขอเคลียร์แล้วร้องเปิดใหม่ โค้ดดิ้งไปเยอะ ๆ เครื่องมันก็ Error ได้เหมือนกันนะครับ ไม่เฉพาะคน เดี๋ยวจะลองรันใหม่ ctrl B ใหม่ ขึ้นไหมรอบนี้ เอา marker เราไม่ขึ้น เราไปผิดตรงไหนหว่า ลืมอะไรไปบรรทัดที่ dramatical นี่ล่ะ ไม่ขึ้น ขอดูตำแหน่ง ขอเทียบกับค่าเดิม ค่าผิดหรือเปล่านะ ค่าอะไรผิดสักค่าหนึ่งแน่ ๆ เลย เดี๋ยวขอดู draw Marker ก่อนนะ เรา marker มาแล้ว Expo เท่ากับ 0 portugal ถูกต้อง y post = 0 for violating ถูกต้อง ถ้า Y=1 วาดเส้น เส้นทำไมไม่วาดให้นะ ตัวแปรประกาศแล้ว Green Red ก็ประกาศแล้วนี่น่า ไม่ได้ลืมประกาศตัวแปรก็ประกาศแล้ว รอสกรีนลายสกรีน Express ถ้า 85 LINE y ขึ้นไหม เด็ก ๆขึ้นหรือเปล่า โทรได้ไหม marker ขึ้นไหม Error ไม่ขึ้นอีกแล้ว ปัญหา y มาติดตรงนี้จะบอกว่า Error ก็ไม่ขึ้น ก็ไม่ติดเดี๋ยวดู for excellent mockup เพลบรรทัดนี้ excellent 3 โปรสูตรคูณ 3 นี่ไหมตำแหน่งตัวเลข 0 คูณ screen y คูณร้อย ก็ไม่สกรีนฟิว Background grid อันนี้เราหรือใช้ไปแล้ว ทำไมตอนรันไม่ขึ้น Error นี่ ดูยากมากเลย ทำไมไม่มาร์กให้ มาร์กเกอร์ไม่ขึ้น เดี๋ยวขอขอลบตรงนี้ เพราะเนื่องจากมันไม่ขึ้นมาจากตรงนี้ มันก็ต้องลบจากตรงนี้ทั้งหมดทั้งปวง ต่อมาร์กเกอร์ก๊อบมาเลยทั้งยวง ขอก๊อบ เดี๋ยวลองอันใหม่ นั่นไง จัดไป ตำแหน่ง y post 43 45 for x ผ่านแล้ว 46 ไล่ไปทีละจุด 47 นี่พอก๊อบแล้ว จะเป็นอย่างนี้ตลอด 48 พอก๊อบแล้วจะเป็นอย่างนี้ 49 51 50 51 52 53 ไม่ได้ก๊อบมาแล้ว ไม่ได้ตรงไหนนะ ต้องไปให้สุด อย่างนั้นได้draw marker แล้วหาอีก Game Over กำหนดอันนี้ก็คือจะสร้างไอ้ตัวกล่องข้อความนะคะ กล่องข้อความเพื่อแสดงข้อความ เมื่อเล่นเสร็จ เดี๋ยวจะลองใส่ให้มันก็คือจะสร้าง Winner ขึ้นมานะคะ มันจะอยู่ที่ตำแหน่งที่เดี๋ยวจะลองไปให้สุด ให้มันเสร็จแล้วจะค่อยรันทีเดียว ตัวนี้นะคะ เราจะเอาไว้ที่ตำแหน่งที่ต่อจากเกมโอเวอร์ เมื่อกี้นี้นะคะ ก็คือตำแหน่งนี้วางฟังก์ชัน สำหรับเป็นกับเวอร์ชัน อยู่บ้านก็เป็นเครื่องที่บ้านกับเครื่องที่นี้ไม่เหมือนกัน สร้าง function เพื่อเขียนกล่องข้อความนะคะ กล่องข้อความแสดงว่าใครคือคนชนะ แล้วก็จะเอาไว้ให้เล่นซ้ำอีกรอบหนึ่ง สร้างให้เสร็จ เอาให้สุด ทำไมไม่ขึ้นตัวเลข def เลือกฟังก์ชัน ฟังก์ชันนี้ชื่อว่า Windows_ ตามด้วย winner นะคะปัญหา error OK ก็คือบอกว่ากำหนดตัวแปรชื่อ winner เท่ากับ Player ให้แสดงคำว่า Player แล้วก็ตามด้วยสตริงสตริงก็คือค่า Winner นี่ว่าเป็น Winner 1 หรือ Winner 2 เห็นไหมคะแล้วก็ตามด้วยวินก็คือผู้ชนะอันนี้สามารถเปลี่ยนเป็นภาษาไทยได้ใน Single quote นะคะ ประกาศตัวแปรชื่อ underscore พิมพ์เอานะคะ เพราะเป็นตัวแปรของเราเอง ที่สร้างขึ้น win text == Single quote ใส่ข้อความได้ก็คือผู้เล่น player ถ้าแปลเป็นไทยก็คือผู้เล่น ในภาษาไทยก็คือผู้เล่นนะคะ foodlandแล้วก็บวกสตริงเลือกคลาสปลิงนะคะ Class สตริงนะคะ ที่ตามด้วยwinnerวงเล็บข่าว วงเล็บเปิดวงเล็บปิดแล้วก็พิมพ์ Winner ลงไป เห็นไหมพิมพ์ statement Winner ลงไป แล้วก็บวกด้วยข้อความปกตินะคะ ข้อความที่เราต้องการให้โชว์ เครื่องหมาย Single quote แล้วก็ผู้เล่นคนที่ผู้เล่นคนที่อันนี้ใช้คำว่าพูดเล่นพรุ่งนี้วินก็คือหมายถึงชนะภาษาไทยแปลว่าชนะ วินแปลว่าชนะต้องการให้มีเว้นวรรคข้างหลังก็ใส่อย่างนี้นะคะ สิ่งที่จะทำต่อมาก็คือมาประกาศตัวแปร Font กำหนดรูปแบบฟอนต์ของเรานะคะ ขาด อะไรขาด อะไรหาย พิมพ์font f o n t มาที่ประกาศตัวแปรนะคะ Font= pygame.font เรียกใช้ function ภายในเกม ont นะคะ pygame Thai Gay model Font F เลือก Font mold เลือกจอดsissysเลือกซิ ฝันเห็นไหมคะเลือกฟังก์ชั่น cyst ใส่วงเล็บเข้าไปข้าก็คือนอน keyword คือ none=40 นะคะ กำหนดค่าให้ Font เพื่อจะได้เล่นได้เลย none เป็น 40 มีค่าเป็น 40 นะคะ เมื่อกี้แสดงข้อความเมื่อกี้ ตอนนี้เราประกาศตัวแปร แล้วเราให้แสดงข้อความบอกใช่ไหม ว่าผู้เล่น 1 ชนะ แล้วเราไปประกาศตัวแปรเสร็จแล้ว ขั้นตอนต่อไปก็คือเราจะทำกรอบให้ข้อความของเรา ก็คือตัวที่ 2 นี่เห็นไหม win image เท่ากับเรียกใช้ฟอนต์ที่ประกาศเมื่อกี้ เมื่อกี้ประกาศตัวแปรหรือยัง ใบเตยประกาศหรือยัง ประกาศแล้วใช่ไหม พอประกาศตัวแปรตรงนี้เสร็จ เราก็จะมาสร้างไอ้ตัวต่อไปก็คือตัวกรอบตัวที่ 2 นี่เห็นไหมบรรทัดที่ 2 win Image =Font ตอนที่เราสร้างไว้เมื่อกี้ blendtec แล้วก็สีที่กำหนดให้ก็คือ ฺBlue ก่อนอื่น โอเคนะต้องเป็นอันนี้ก่อน win image ก็คือพอบรรทัดที่เราก็จะกลับมาที่บรรทัดอันนี้ของเรา นี่ ๆ บรรทัดที่วินรอ Winner นี่แล้วเราก็เปลี่ยนเป็น win Image ทำไมเป็นตัวใหญ่กด Caps lock กดพิมพ์นะคะ win win _imgเท่ากับเรียกใช้ฟอนต์ที่เราประกาศไปเรียก font Statement ที่เราประกาศไป vendor function Render พอขึ้น ว่าฟังก์ชัน Render ก็ใส่วงเล็บเหมือนเดิม ในวงเล็บตามด้วย win text แล้วก็ค่า True ก็ Blue เลือก win text นะคะแล้วก็โคลอน' แล้วก็ค่า True เลือก True keywordก็โคลอนแล้วก็ตามด้วยค่าสี b l u eพิมพ์เอาเพราะเรายังไม่ได้ประกาศตัวแปรสีน้ำเงินพอ Blue เสร็จแล้วสิ่งที่จะทำต่อไปก็คือนี่พอพิมพ์ถึงบลูเสร็จนะคะที่เคยประกาศไปแล้ว Blueblขึ้นมาแล้วกด enter แล้วก็ใส่เท่ากับค่าสีก็คืออยู่ในวงเล็บถ้าของ Blue ให้เริ่มที่ 0 0 กับ0 0 กับ 255 ก็คือมี 0,0, 255 255 เมื่อประกาศตัวแปรตรงนี้เสร็จ เราก็จะเรียกใช้ตัว screen build เห็นไหมคะ function screen Build เพื่อจะสร้างไอ้ win นะคะ พอกำหนดประกาศตัวแปรสีนี้แล้ว มาที่ตำแหน่งเดิม ตำแหน่งโทรวินเด้อเราเหมือนเดิม แล้วก็พิมพ์จีนstatement Screen จอดบิลเห็นไหมคะ Build function ใส่วงเล็บตามด้วย win image นะคะ เราลบ Single Google Code ออกแล้วก็ตามด้วย win เราเลือก win image statement นะคะ แล้วก็ใส่โคลอนแล้วก็วงเล็บเปิด วงเล็บปิด อีกหนึ่งคำวงเล็บอีก 1 ครั้งในวงเล็บนั้นเราจะใส่บอกว่าความกว้าง win/2 ก็คือมันจะคำนวณจากพื้นที่สกรีนที่เราสร้างไว้มาหารด้วย 2 แล้วก็ลบออก 100 แล้วก็คำนวณจากความสูงของสกรีน เราหารด้วย 2 แล้วก็ลบ 50 ก็จะได้กล่องข้อความ ก็คือ screen y ก่อนใช่ไหม เลือก screen width ก่อนs screen widthหารใช่ไหมคะหาร 2แล้วก็ลบออกเท่าไหร่ -100 เห็นไหมส่วนอีกตัวหนึ่งก็คือสกรีนอะไร screen height เลือก screen Height หาร 2 เหมือนกัน แล้วก็ลบเท่าไร 50 ความสูง ลบออกแค่ 50 จะได้ตรงที่มันเป็นกล่องข้อความนะคะ ตัวนี้มันจะวาดพื้นกล่องข้อความให้ ที่จะทำต่อมาก็คือไปเรียกใช้ ว่าพื้นที่นี้สีน้ำเงินนี่ขึ้นมาให้วาดสี่เหลี่ยมสีน้ำเงินขึ้นมา ไม่ใช่สิสี่เหลี่ยมผืนผ้าพื้นใส่สีเขียวกรอบที่เป็นสีเขียวขึ้นมานะคะ มันจะอยู่ก่อนหฃ screen Build นะคะ พิมพ์ก่อนบรรทัดนี้เลือก pygame module จอด draw draw เห็นไหมมันจะมี draw function ดอราดอสโพลิกอนรอเห็นไหมคะ ก็คือให้วาดอะไรบ้างเล็ก Cancel Opposite ทีนะคะ ก็คือสี่เหลี่ยมผืนผ้า Little Angel ตามด้วยค่าscrren width หารเท่าไรหาร 2อันนี้ก๊อบมาก็ได้ อ๋อ ลืมระบุเขตพื้นที่ก่อน แล้วก็ใส่สี ก่อนขาดไปท่อนหนึ่ง ใส่screen เฉย ๆ เรียกใช้ลบ screen width ออกเป็น 4 เรียก screen statement เฉย ๆ แล้วก็ colon ตามด้วยสี สีที่เราเรียกใช้ก็คือสีเขียว statement แล้วค่อยมาระบุตำแหน่ง' screen width นี่ไปก๊อบมาได้ จากตัวนี้เลยไปโคลอนก่อนแล้วค่อยวางนะคะ วางที่ก๊อบมาเมื่อเปลี่ยนข้างใน เปลี่ยนแค่ตรงตัวหลัง แล้วก็เพิ่มค่า 200 กับ 50 เข้าไปเท่านั้นเอง เปลี่ยนเป็น 60 แล้วก็เพิ่มค่า 200 นั่นก็คือค่าของความยาวน่ะ แล้วก็ความสูงของไอ้ตัว 200 กับ 50 ก็จะได้ตัวที่มันเป็นตัวนี้นะคะ นี่เห็นไหมไอ้สีเขียวข้างหลังนี่ ไอ้พื้นที่สีเขียวข้างหลังน่ะขึ้นมา ไอ้นี่รันได้ ไอ้ตัวนั้นรันไม่ได้เลย พอได้กรอบแล้วนะคะ ตรงนี้เรามาพิมพ์ winner ใส่เข้าไปตรงฟังก์ชันที่เราสร้างไว้ เพราะตอนแรกมันไม่มีเราเรียกใช้มัน มันไปกดโดนอะไรนี่ พิมพ์ W ขึ้นมา แล้วก็เรียก เรียกนี่ ๆ นี่ไอ้ Winner นี่ขึ้นมา เรียกตัวแปร Winner น่ะค่ะ เรียกตัวแปร Winner มา เสร็จแล้วให้มันเช็ก เช็กว่าถ้าเกมโอเวอร์นี่จริง ก็คือเล่นจบเกมจริง draw winner ต้องขึ้น เพื่อแสดงว่าใครคือผู้ชนะ มันจะอยู่ต่อจากบรรทัดที่มีคำว่า check winner เราจะเอาไปไว้ตำแหน่งนี้นะคะ มันจะอยู่ระยะเยื้อง จะอยู่ อยู่ก่อนอยู่ตรงกับ Display ยังอยู่ตรงกับ Display ตรงกับตัวนี้เพราะฉะนั้นใส่อีกกำหนดเงื่อนไข If condition If condition ก็คือให้มันไปเช็กอะไร เช็ก Game Over Game Over ว่าเป็นจริงหรือเปล่า เกมจริงไหม ไหน เห็นไหมคะ เกมโอเวอร์เท่ากับ 0 ปุ๊บ ก็จะไปเรียกใช้ draw winner ก็จะไปเรียกใช้ฟังก์ชัน draw winnerเรียกใช้ฟังก์ชันเลย draw winner วงเล็บ Winner ของเรานะคะ ทำไมไม่เรียก ปกติเรียก draw ขึ้นนี่หน่า เอาใหม่ จะเป็นอย่างนี้นะคะ เช็กว่าเกมโอเวอร์ไหม ถ้าใช่เรียกใช้ฟังก์ชันนี้ ลองรันดู ขึ้นไหม เดี๋ยวค่อยรันทีเดียวเลย ต่อ ไปต่อทำกรอบให้สร้างข้อความ Play Again เล่นอีกครั้งหนึ่งน่ะ เล่นซ้ำเ ล่นใหม่ Again Text นะคะ ตัวนี้ คือ ตัวนี้จะมีตัวแปรชื่อ again text เพื่อแสดงข้อความ ว่าให้เล่นใหม่ แล้วก็ตัวแปรคือ Again text ที่จะเป็นกรอบข้อความนั้นนะคะแล้วก็ตัวกรอบข้อความนะคะ ไปให้สุดทีเดียวเลย ตัวนี้เป็นตัวแปรเพราะฉะนั้นพิมพ์ใหม่ เท่ากับนะคะแล้วก็เครื่องหมายคำพูดหรือ Single quote เท่ากับ Dubble แล้วก็อีกตัวหนึ่งก็เกณฑ์อันเดอร์สกอร์อิมเมจ size M เท่ากับตัวนี้นะคะ ตัวนี้ไปก๊อบจาก font นี่ Render นี่ได้นะ กินไหมคะ จากตัวนี้มาได้ แต่เปลี่ยนตรง win text เปลี่ยนตรงนี้จาก win text เป็นagain Again Text ของเราแทน จากตรงนี้ได้เลย ตัวเดียวกัน เป็นเหมือนกันนะคะ เช่นเดียวกันกับก๊อบตรงนี้เหมือนกัน Screen Build กันมาเลย เพราะมันคือขนาดเดียวกันเลยเห็นไหม เปลี่ยนค่านะคะ นี่ก๊อบ screen มาเลย ให้มันเร็วขึ้น แล้วมาเปลี่ยนค่าอะไรบ้าง เปลี่ยนค่าตรงตรง win image เป็น artemistny จากร้อยเอาแค่ 80 screen Heigh จาก - 50 เป็น 10 แค่นั้นเอง เปลี่ยนตรงนี้ลบออกแล้วก็พิมพ์ again แล้วเลือก Update Image เห็นไหมคะ -100 เปลี่ยนเป็น 80-50 เป็นบวกเท่าไรนะ 10 เปลี่ยนค่าแค่ตรงนี้ เห็นไหมคะ จะไล่ให้สุด ไปให้สุด สุดขอบกันไปเลย ก็ประกาศตัวแปรชื่อ again นะคะ เผื่อจะกำหนดค่ะ สี่เหลี่ยมไปไหนแล้ว ไปไหนแล้ว ประจักษ์ตรงฟ้อนมีนะคะ พิมพ์ใช้พิมพ์นะคะ เพราะเป็นตัวแปรเกมอันเดอร์สกอร์ react rectangle เท่ากับ จะกำหนดค่าให้นะคะ rectangle = อันนี้เราไปก๊อบค่ามาจากตัวนี้ได้ ตัวนี้เห็นไหม ตัวเดียวกันเลย ค่าเดียวกัน Copy ดีเลยนะคะ เอามาใส่ตรงนี้ ก่อนอื่นพิมพ์ C ก่อนมันเป็น Class นะคะเลือก Class Rectangle ก็คือตัวนี้ตัวใหญ่นี่นะคะ แล้วก็วาง screen width นะคะ ค่ะ80 แล้วก็ 160 50 เปลี่ยนค่าตรงนี้เป็น 80 ตอนนี้เป็นเท่าไรนี่หาร 2 หาร 2 แล้วก็ไม่มีลบนะคะ อันนี้ไม่ต้องลบตามด้วย 160 กับ 50 ลบ 200 ออก เอา 50 OK ประกาศตัวแปรสำหรับสี่เหลี่ยมที่ 2 เพราะฉะนั้นเมื่อกดแล้วก็เลือกมา เรียกใช้เหมือนเดิมใส่บรรทัดก่อนหน้า screen bulid นี่ก็คือเรียกใช้ภายในเกม Dragon แล้วก็เลือก Screen นะคะ ตรงก่อน screen bill pygame game mode รอเหมือนเดิม rectangle เหมือนเดิมแล้วก็กำหนด screen screen statement ตามด้วยสีก็คือ green สีเขียว Green statement เหมือนเดิมนะคะ แล้วก็ตามด้วยตัวสุดท้ายที่เราสร้างก็คือ again ก็คือซ้ำสี่เหลี่ยมผืนผ้าอีกตัวหนึ่ง ก็คือตัวแปร rectangle ทั้งต้นเห็นไหม OK เสร็จหรือยัง แล้วลองเดี๋ยวไปทดสอบเพิ่ม Event ตรงนี้ เงื่อนไข เมื่อคลิกนี้ไม่ได้ทำใหม่นะคะ เดี๋ยวเราจะไปก๊อบ มันจะไปอยู่ตรงไหน เดี๋ยวให้ดูตัวนี้ จะอยู่ตรงเราจะเอาตัวเมื่อกี้มาใส่ตรงตำแหน่งนี้ใช่ไหม เราจะไปก๊อปจากตรงนี้นี่ไง เห็นไหมเห็นหรือเปล่า ถึง pos game เห็นเปล่าคะ เราจะไปก๊อบที่ Event เมาส์คลิกนี่เห็นไหมถึง pos pos นี้พอก๊อบมาเลยไม่ต้องพิมพ์ใหม่ Copy แล้ว ก็เอามาวางตำแหน่งนี้ได้เลย แต่จัดให้ตำแหน่งของ if มันอยู่ตรงกัน Winner แค่นั้นเองติดมินนี่ statement ให้ตรงกับ for Winner เห็นไหม โอเคนะคะ ก็จะได้ลงคลิก เมื่อมันคลิกเมาส์ไปที่ตำแหน่งนี้จะได้ค่าอะไรที่จะเพิ่มก็คือให้รีเซ็ต Reset ตัวแปรตัวนี้ก็ไม่ต้องพิมพ์ เราใช้วิธีไปก๊อบตัวแปรของเราดูนะคะ ตำแหน่งนี้ื Copy ตัวแปรก๊อบจากไหนนี่ไงที่เราประกาศตัวแปรไว้เราจะคืนค่าให้มันนี่ก๊อบเลยค่ะนี่ Copy ตัวแปรตรงนี้เลยก๊อบแล้ว เอามาวางเพื่อจะรีเซ็ตค่านะคะ วางตำแหน่งให้มันตรงกับตำแหน่งของโค้ดนี่นะคะ ใส่เงื่อนไขว่า Live again lektion นี่ลงไปก่อนตรงนี้นะคะ ใส่ statement if condition ครีม again rectal statement แล้วก็ตามด้วยค่าดอกคลอรีน Point นะคะ point point แล้วก็ pod นี่ตัวนี้มันจะขึ้นมาเองจอดพิมพ์คอหรีดเลยพิมพ์ c แล้วก็เลือก college Point collect function นี่ ใส่วงเล็บเข้าไปในวงเล็บใส่ pos ค่ะ ใส่ตัวแปร pos statement นี่ ส่วนตรงที่เราจะใส่นี่ก็คือที่เราจะไปก๊อบตัวแปรทั้งหมดที่จะมารีเซ็ตนี่ เอามานี่ก๊อบนี่จนถึงเกมโอเวอร์นี่มาค่ะ ก๊อบมาแล้วก็เอามาวางตรงนี้เลย ตัวที่เราจะใช้ใช้มีแค่มาร์กเกอร์ pos Player Winner แล้วก็ Game Over คลิกเราไม่ใช้เราก็ลบออก line width เราไม่ใช้ เราก็ลบออกมา สเตอร์เชฟโปรดใช้นะคะ Player ใช้ Winner ใช้แล้ว ก็เกมโอเวอร์ชายคืนค่าแล้วจะ Reset รีเซ็ตค่าใหม่อีกครั้งหนึ่ง ก็คือถ้าเมื่อมีการคลิกเมาส์ตรงปุ่ม Play Again หรือเล่นอีกครั้งนี้นะคะ ไอ้ตัวนี้มันก็จะต้องมารีเซ็ตค่ากลับไปเริ่มต้นค่าเริ่มต้นเสมอ แล้วมันก็จะเช็กตำแหน่งตัวนี้ ก็คือก๊อบมาจากที่เราสร้างไว้ ก็คือตรงนี้นี่ นี่เห็นไหมคะ ตรงตำแหน่ง faurecia นี่ก๊อบมาได้เลย Clean roni ตำแหน่งนี้ เพื่อให้มันรีเซ็ตค่านี้ด้วยเอาให้เสร็จ เอาให้เสร็จ ไม่อย่างนั้นไปต่อไม่ได้ คาใจ โอ.เค.นะคะ น่าจะเสร็จแล้ว นี่จบแล้วพอดีอันสุดท้าย มันจะจบที่ไปก่อน ที่ไอ้ตรงที่มันเช็กมาร์กน่ะ ว่าปรากฏตรงไหนขึ้นมา เสร็จแล้วเราลอง Ctrl B นะคะ กด Ctrl B เพื่อรันโปรแกรม Error มาเลย เป็นแถวเลย LINE 101 ต่อ Winner x บรรทัดที่ 101 ถ้าไม่ถูก ทำไมเวอร์ชันนี้ขึ้นตลอดเลย indication Error อีกแล้ว ไปไหม เหมือนเดิม โอ.เค.ค่ะ เดี๋ยวจะไปหาวิธีแก้ indentation error ก่อนนะ ขึ้นอีกแล้ว ก็คือถ้าส่งเรารัน อันนี้รันจากตัวเครื่องที่บ้านผ่าน ไม่เข้าใจเหมือนกัน ก็คือผล ก็คือเมื่อคลิก x ตำแหน่งนี้คนที่ 1 นะคะ หรือคนที่ 2 คลิก o ตำแหน่งนี้แล้ว เมื่อเล่นไป ถ้าเกิดคนที่ 1 ชนะนี่เห็นไหม มันก็จะขึ้นข้อความแสดง ว่าใครชนะขึ้นมาแล้วก็จะมีข้อความ ว่าให้เล่น เมื่อเรากดที่เล่นอีกครั้งหนึ่ง นี่มันก็จะทำการรีเซ็ตค่าที่เรา pos ขึ้นไป ก็คือเคลียร์ค่ากับคืนไปเริ่มต้นใหม่ เราก็มาคลิกใหม่อย่างนี้นะคะ คนที่ 1 ก็ชนะนี่เห็นไหม เพราะเช็กตามทะแยงก็ถูกต้อง เทรนได้อีกแต่ถ้าไม่เล่นก็คือกลุ่มปิด ก็จะออกจากเกมไอ้นี่ Error ไม่ขึ้นเลย มันไปจำค่าอะไรไว้ ไม่เข้าใจ Build ขึ้นไหม เดี๋ยวลองเคลียร์ก่อน เคลียร์ค่าไม่ได้เลย ctrl b ติดอยู่บรรทัดเดียว Windows แล้วก็แคปไม่ไปด้วยTab ผิดเคืองมาก ไม่เขยื้อนเคลื่อนไหวเลย อะไรมันขึ้นมานี่นะคะ เดี๋ยวจะขอเคลียร์ identation error ก็คือของเด็ก ๆ ออกไหม Test หรือยัง ได้ไหม ใบเตยออกหรือเปล่าคะ รันได้ไหม ขึ้น Error อะไร Tag Error อีกแล้ว ไม่เป็นไร เดี๋ยวเราจะไว้ดูกันเอง ในภายหลังนะคะ งั้นเดี๋ยวเราจะพอแค่นี้ สำหรับสัปดาห์นี้ เดี๋ยวเราจะเช็กปัญหาได้ มันก็อยู่ในเครื่องนี่ นี่ ๆ สไลด์อยู่ในเครื่องอยู่แล้ว มันต้องเช็กดี ๆ นี่ขนาดพอมันมาก็ได้ เดี๋ยวขอบคุณก่อนค่ะ ขอบคุณพพี่ล่ามก่อนสำหรับวันนี้นะคะ ขอบคุณพี่ล่ามที่อยู่ด้วยจนสุด ๆ เลย ขอบคุณมากค่ะ ขอบคุณค่ะ