(เจ้าหน้าที่) พี่ล่ามได้ยินไหมคะ (ล่าม) ได้ยินค่ะ (อาจารย์สุธิรา) สวัสดีค่ะ (อาจารย์สุธิรา) มองไม่เห็นล่ามเด็ก ๆ เปิดเครื่องหมดทุกคนหรือยังเปิดเครื่องกันหรือยังเอ่ยก่อนอื่นนะคะ เมิื่แเปิดเครื่องแล้วเด็ก ๆ จะต้องเปิดอะไรคะ โปรแกรมที่ชื่อว่าsublimeไปที่ตัวเห็นไหมคะ ตัวนี้เปิดโปรแกรมนี้ขึ้นมาเลยค่ะ นะคะ จะต้องอยู่หน้านี้นะถ้ามันขึ้น Update เราก็ Cancel ไลัดแล้วนะคะ ก่อนจะเขียนโปรแกรมนะคะ ให้เด็ก ๆ ดู ภาพบนหน้าจอก่อน เห็นไหมเห็นไหม โครงสร้างในการจะเขียนโปรแกรมด้วย pygameของเรานี่ เห็นไหมคะ มีองค์ประกอบทั้งหมด ดูนะคะ 1แสดงว่าล่ามไม่ได้หรือล่ามได้อยู่ใช่ไหมโอเคดูนะคะ องค์ประกอบในการจะเขียนนี่ มันแบ่งออกเป็นทั้งหมดนะคะ หลัก ๆ ค่ะ ก็คือเวลาเราจะเขียนเกมเสร็จ 1 เกมนี่มันจะต้องมีส่วนประกอบในการเขียนโปรแกรมเรานี่อยู่ 7 ส่วนให้ดูที่ส่วนที่ 1เห็นไหมคะ ส่วน importทุกครั้ง บอกแล้วทุกครั้งเราต้อง importเพื่ออะไร เพื่อจะนำเข้าโมดูล ซึ่งโมดูลของเราตัวนี้ก็คือโมดูลที่ชื่อว่า Pygame นะ ที่สัปดาห์ก่อนก่อนที่ส่วนหัวที่ให้เขียนไว้ทีนี้มาดูส่วนที่ 1 นี่ ขาดไม่ได้ พอเปิดโปรแกรมมาจะต้องมีเสมอนะค แล้วก็ส่วนต่อมาในส่วนที่ 2 หมายเลข 2 เห็นไหมinit() init()แล้วก็มีวงเล็บนี่ มันหมายถึงฟังก์ชัน ฟังก์ชันinit หมายถึงฟังก์ชันที่จัดการค่าเริ่มต้นในที่นี้ฝั่งนี้ที่เป็นขาว ๆ แล้วมีหมายเลขกำกับแล้วก็มีคำอธิบายนะคะ แล้วเวลาเขียน เราต้องมาดูที่ฝั่งที่เป็นสีดำ ก็คือที่เราใช้ Sublime เขียน ในหมายเลข 2 เห็นไหมคะ วิธีการจะใช้ฟังก์ชันนี้ ก็คือเมื่อเราimport โมดูลใดเข้ามา เพราะฉะนั้น เราต้องจัดการค่าเริ่มต้นมันเราก็ต้องเรียกโมดูลนั้น ก็คือpygame เห็นไหมคะ ก็เลยขึ้นด้วยคำว่า "pygame."ก็คือ . นะคะ พิมพ์คำว่า pygame แล้วก็ก็ตามด้วยฟังก์ชัน init() เห็นไหมคะ บรรทัดที่ 2คำสั่งมีแค่นี้ล่ะ ชื่อโมดูลแล้วก็ตามด้วยชื่อที่ชื่อ init() ทีนี้มาดูในส่วนที่ 3คือเวลาเราจะทำเกม 1 เกมนี่นะคะ ไม่ใช่ว่าอยู่ดี ๆ เกมมันมาวิ่งได้เลยเราจะต้องสร้างพื้นที่ พื้นที่สำหรับให้เกมทำงาน สังเกตเมื่อเวลาเราเปิดเกมเข้าไปเล่น มันก็จะมีหน้า หน้าต่างของเกมขึ้นมา นึกออกนะเพราะฉะนั้น อยู่เฉย ๆ เกมมันขึ้นมาบนหน้าจอไม่ได้นะคะ ต้องบอกให้มันรู้ก่อนว่าจะให้มันไปทำงานอยู่ตรงพื้นที่ไหน เพราะฉะนั้น ก็เลยมาเป็นตรงส่วนที่ 3 ส่วนที่ส่วนนี้นะคะ อาจจะไม่ใช่แค่บรรทัดที่ถึงบรรทัดที่ 14 ก็ได้ ก็คือถ้าเรากำหนด...ถ้ามันมีการกำหนดค่าอื่นถ้ามันมีการกำหนดค่าอื่นนะคะ เราก็็มีเพิ่มก็คือโดยที่หลัก ๆ นี่นะคะ ในส่วนที่ 3 นี่ สิ่งที่เราต้องกำหนดค่าลงไป คือ 1.หน้าจอที่จะใช้ทำงานแน่นอนล่ะ2 รูปภาพในทีนี้ก้หมายถึงBackground หรือฉากในเกมเราน่ะ นึกออกนะ ในที่สัปดาห์ก่อน เอาตัวอย่างให้ดูแล้วฉากเกมเขาก็จะมีเหมือน ถ้าเป็นเกมมาริโอมันก็จะเป็น ที่มี...เป็นเหมือนอะไรนะ เหมือนพื้นที่ที่ให้วิ่งไปตามแนวนอนอย่างนี้ใช่ไหมคะ ส่วนต่อมาสิ่งที่ต้องกำหนดต่อมาอีกเสียง เกมเรามีเสียงไหม อยากให้มีเสียงไหมันจะอยู่ในส่วนที่ 3 นี่เราอยากกำหนดอะไรเข้าไปก่อนเริ่มให้เกมเราสมบูรณ์ค่ะกำหนดไว้ที่ส่วนที่ 3 เราจะต้องเอาไปกำหนดไว้ที่ส่วนนี้นะคะ เพราะอะไร เพราะหลักการเขียนโปรแกรมน่ะโปรแกรมมันจะทำงานแบบเรียงคำสั่ง นึกออกไหม จากคำสั่งแรกลงไปหาคำสั่งสุดท้ายนะ เหมือนตอนที่เรียนในเทอมที่แล้วอัลกอริทึม มีเริ่มต้นก็ต้องมีส้นสุดจำ FlowCHART ได้ใช่ไหมแล้วก็ไล่ลงมา เห็นไหม ผังงานมันจะเรียงลงมาตามลำดับเขียนกระโดดไปกระโดดมามันไม่ใช่ ไม่อย่างนั้นคอมพิวเตอร์มันจะงง เวลาทำงาน เหมือนเราน่ะ เวลาแม่สั่ง บอกทำอันนี้เสร็จ เปลี่ยนไปทำอันนี้มันก็จะงงใช่ไหมคะ คอมพิวเตอร์ก็เหมือนกัน ก็เหมือนคนนั่นล่ะไม่ใช่ว่าสั่งอย่างหนึ่ง แล้วมาสั่งอีกอย่างหนึ่งเพิ่ม ลัดไป ลัดมา งงตายนะคะ เพราะฉะนั้น ก็เลยทำให้ดูเป็น Box Box ไง ทำให้ดูเป็นส่วน ๆ อย่างนี้และมีเสียงมีอะไรได้อีก มีตัวเกมที่เป็นตัวเดินเรื่องของเรา หรือตัวเล่นของเรานั่นเองนะคะ หรือนอกจากตัวเกมแล้ว อาจจะมีองค์ประกอบอื่น เช่น องค์ประกอบเล็ก ๆ น้อย เช่น มีเหมือนในมาริโอมีตัวอะไรนะ ตัวศัตรูที่วิ่งเข้ามาอะไรอย่างนี้นะคะ มันจะอยู่ในส่วนนี้ เราจะกำหนดไว้ในส่วนนี้ อาจจะมากกว่า 14บรรทัดก็ได้ ก็แล้วแต่ว่าเราจะกำหนด ก็คือเราจะใส่อะไรลงไปนะคะ มาดูส่วนถัดมาจะอยู่ด้วยกัน 4 กับ 5เพราะตรง 4 นี่คือ loop ก็คือส่วนของ loop กับส่วนของ loop กับส่วนของ eventเวลาเราทำเกมนะ มันไม่ใช่ว่าเล่นรอบเดียวจบใช่ไหม เกมมันจะไปเรื่อย ๆ แต่ในรอบของมันเรื่อย ๆ นี่ อาจจะไม่ใช่รอบที่มันจบอาจจะเป็นรอบของมันผ่านด่านที่ 1 เพื่อไปต่อด่านที่ 2 ด่านที่ 3 นึกออกไหม เพื่อจะไปต่อด่านที่ 2 ด่านที่ 3เกมจะต้องสามารถวน loop ได้กลับไปสู่จุดเริ่มต้นใหม่ได้ หรือสิ้นสุดใหม่ได้ในส่วนนี้เราจะใส่ทั้ง loop แล้วก็ใส่ทั้ง eventEvent ก็คือกำหนดค่าให้กำหนดค่าให้เกมมันดำเนินไป เช่นเราอยากให้เกมตัวนี้กระโดดได้ นั่นคือ eventหรือให้เกมนี้มันเดินไปก่อน วิ่งไปก่อน แล้วพอไปเจอถ้าเหมือนใน Mario เก็บเห็ดใช่ไหม กระโดดเก็บเห็ด[เสียงปรบมือ]เจอเหรียญกระโดดเก็บเหรียญ นั่นคือ event ที่จะรุให้เกมเราใน Event จริง ๆ นี่ ก[เสียงหัวเราะ]ก็ไม่ได้ยาวแค่ 1 2 3 4 10 บรรทัดแบบนี้นึกออกนะ ให้นึกถึงว่ายิ่งเกมเรามีอะไรน่ะ เขาเรียกว่า มีความซับซ้อนหรือมีด่าน นึกออกนะ ยิ่งด่านยากขึ้น Eventมันก็จะต้องยากเข้าไปอีกอะไรอย่างนี้นะคะ เพราะฉะนั้นเหตุการณ์ตรงนี้ ก็ขึ้นอยู่กับที่เรากำหนดให้มันทำอะไรได้บ้างเหมือนให้นึกถึงถ้าเด็ก ๆ ชอบเล่นเกมอะไรนะเดี๋ยวนี้ฮิตเล่นเกมอะไรกันถามสิ ถามตี๋น้อย ตี๋น้อยเล่นเกมหรือเปล่าแม่จะถามตี๋น้อยตี๋น้อยเล่มเกมในคอมน่ะ เล่นเกมอะไรเล่นหรือเปล่า เล่นเกมหรือเปล่าเล่นเกมอะไรครับ อยากรู้ ๆ (ล่าม) พวกเกมที่มีวิ่ง มีกระโดด อย่างนี้ครับ (อาจารย์สุธิรา) เกมกระโดดเกมอะไรนะ เป็นเกมที่มันกระโดดหรือ เหมือนที่ฮิต ๆ กันที่ช่วงหนึ่งที่มันอะไรนะ เกมที่ขี่รถบนหน้าผาอะไรน่ะ นึกออกนะ อย่างนั้นน่ะเห็นไหมความยากของเกมนั้น ก็คือขีี่อย่างไร ไม่ให้ตกไอ้นั่นแล้วอะไรนะ ความเร็วใช่ไหมคะ แล้วก็อะไรอีกมีอุปสรรคมาให้หลบ เห็นไหมคะ นั่นก็คือ eventจะใส่มันจะอยู่นี่ล่ะ ก็คือเราจะเป็นตัวกำหนดว่าเกมนั้นจะมีความยาก ความง่ายอย่างไร กำหนดลำดเหตุการณ์ให้มันนะคะ ทำอะไรได้พอมาถึงลำดับที่ 6 เป็นส่วนของการอัปเดตค่า นั่นหมายถึงว่าเมื่อบางครั้งนี่ ที่เกมมันทำงานไปแล้วนึกออกนะ แต่บางทีมันอาจจะต้องกลับมาเริ่มต้นใหม่หรืออะไรก็แล้วแต่เหมือนตายน่ะนึกออกนะ มันก็ต้องมีการอัปเดตใช่ไหมคะ ไม่ใช่ว่าทำเสร็จแล้วจบตอนนั้น เพราะฉะนั้นจะต้องมีส่วนที่ให้เกมมันอัปเดต อัปเดตค่าต่าง ๆ นะคะ เช่น เหมือนเราไปกำหนดค่าเริ่มต้นของฉากนี้ไว้ ตั้งแต่ตอนจะเริ่มวิ่ง กำหรใช่ไหม พอวิ่งไปจนสุดฉากนี่ สมมติถ้าเรากำหนดหน้าจอไว้ที่ ความกว้าง 80 0มันวิ่งมาถึงจุดที่ 800 น่ะมันจะทะลุหน้าจอออกมานึกออกไหมไปเริ่มที่จุดที่ 1 ใหม่มันก็ต้องไปอัปเดตไง ให้ค่ามันคืน คืนกลับว่าเป็นเริ่มต้น หน้าจอนั้นก็จะ... ไอ้โหมดตัววิ่งก็จะให้นึกถึงนะ เหมือรชนเราเล่มเกมไปวิ่งไปเรื่อย ๆ แล้วพอจุดนี้ก็จะมาเริ่มด่านใหม่มันก็จะโผล่มาเริ่มต้นใหม่ใช่ไหมคะ อย่างนี้เป็นต้นก็คือเกมมันก็ต้องมีส่วนให้มันอัปเดตด้วยนะคะ และส่วนสุดท้าย บอกแล้วว่าเวลาเราเขียนโปรแกรมในบางโปรแกรมไม่ต้องมีคำสั่งเพื่อ start แต่ที่ขาดไม่ได้มันต้องมีคำสั่งจบนะคะ ตอนในเราเขียนแบบผังหรืออะไรนี้ต้องเริ่มจากตรงไหนใน... ถ้าเริ่มต้นนี่ ให้นึกถึงเลย เพราะถ้าเราไม่สั่งคำสั่ง import น่ะ เราก็จะใช้งาน Library ที่ชื่อเพราะฉะนั้ นจุดเริ่มต้นของคำสั่งนี้ ก็คือเริ่มที่ importเสมอนะคะ แต่จุดที่จะจบ ก็คือฟังก์ชันที่ชื่อว่า quit()quit ในที่นี้ออกจากโปรแกรมนะคะ ออกจากโปรแกรมในที่นี้ไม่ใช่ออกจากโปรแกรม Sublimeแต่หมายถึง ออกจากเกมที่เราสร้างไว้น่ะบอกให้เกมมันรู้ว่าจะออกแล้วต้องออกได้ ไม่ใช้เกมวน วิ่งวนอยู่นั่นล่ะเล่นไม่จบปิดเครื่องไม่ได้นะคะ เพราะฉะนั้น นั่นคือส่วนประกอบของตัวโปรแกรม Sublimesublime ที่เราจะเขียน ตัว pygameทีนี้บอกโครงสร้างไปแล้ววันนี้เราจะทำเกมได้ ก่อนอื่นก็คือเราจะต้องมาสร้างหน้าจอให้มัน สร้างพื้นที่ให้ตัวเกมของเรานะคะ เพราะฉะนั้น เด็ก ๆ เปิด Sublime กันหรือยังถ้าเปิดมาแล้วนะคะ ให้เด็ก ๆ นำเข้าโมดูลนะถ้าเปิดมาในสัปดาห์ก่อนหน้าจอเรามันก็จะมาอยู่ไฟล์ที่เราเปิดไว้ จำได้ไหม เด็ก ๆ ที่เราใส่ Comment เอาไว้ว่าทดสอบน่ะทีนี้ เราจะไม่ใช้คอมเมนต์ว่าทดสอบนะเพราะตอนนี้เราจะทำอะไรคะ เราจะกำหนดใช่ไหมคะ กำหนดจอเกม วันนี้เราจะมากำหนดหน้าจอเกม เพราะฉะนั้น ใน Commentเราก็จะเปลี่ยนเป็นบอกให้รู้ว่าตัวนี้ตอนนี้นะคะ เราจะมากำหนดหน้าจอให้เกมก่อนคอมเมนต์สามารถเปลี่ยนได้ เพราะอะไร เพราะเวลาเราเขียนโปรแกรมไม่จำเป็นว่าเราจะต้องเขียนครั้งเดียวแล้วเสร็จหมดนะนะคะ อันดับแรกก็คือต้องมีคำสั่ง import pygame ใช่ไหมคะ ทีนี้เราจะเอาคำว่า printนะคะ ส่วนที่ 2 ฟังก์ชันที่ชื่อ init()ที่ชื่อ init() เดี๋ยวให้ดูสไดลไม่ไปสไลด์ล่ะนี่ไหนล่ะ เห็นไหมคะ เริ่มการทำงานให้ pygame ใช่ไหมคะ นะ เริ่มด้วยฟังก์ชัน init()วิธีการในบรรทัดต่อไปที่ต่อจาก import นะคะ ให้พิมพ์py เปลี่ยนภาษาก่อน ขอโทษเด็ก ๆ ดูนะคะ ดูก่อนนะอย่าเพิ่งพิมพ์มี p ถ้ามันมีอย่างนี้ขึ้นมา ให้เด็ก ๆ คลิกไปที่ตัวนี้ได้เลยเห็นไหม ไม่ต้องพิมพ์นะ เห็นไหมคะ ดูดี ๆ นะคะ เอาใหม่นะ กด p ปุ๊บกด Enter ก็ได้ ถ้าไม่เอาเมาส์ไปคลิกที่pygame นึกออกนะ พอมี p ขึ้นมานี่ถ้าไม่เอาเมาส์ไปคลิก เราสามารถกดปุ่มEnter คำว่า "pygame" จะมา อย่างนี้เด็ก ๆ จะพิมพ์ไม่ผิด เห็นไหม นึกออกไหมสะดวกและรวดเร็ว แต่ต้องดูด้วยไม่ใช่พิมพ์ปุ๊บ มันจะไม่ได้มีแค่ตัวเดียว พอเราเริ่มโค้ดเยอะ ๆ น่ะค่ะ Sublimeเขาเรียกว่าอะไร มันจะไปจำพวกค่าหรือคำสั่งพวกนี้เก็บไว้พอเราเริ่มจะเรียกใช้ มันจะขึ้นมาอย่างนี้แล้วพอกด Enter ปุ๊บ เด็ก ๆ จะไม่เกิดการ... ปัยหาก็คือการพิมพ์ชื่อพวกนี้ผิดเข้าใจไหมคะ นะคะ ต่อมาตามด้วยอะไร ตามด้วย . 1 .จุดลงไป แล้วก็ตามด้วยฟังก์ชันที่ชื่อว่า initนะคะ แล้วก็ให้เด็ก ๆ กดวงเล็บกดแค่วงเล็บเปิด เดี๋ยววงเล็บปิดมันจะมาอัตโนมัติเวลาเช็ก Sublimeดูที่สีพวกนี้นะคะ ถ้าเราพิมพ์คำสั่งถูกนี่ พวกสีพวกนี้มันจะปรับเปลี่ยนไปอัตโนมัติเลย บอกให้รู้ว่านี่เป้นฟังก์ชันนะนี่เป็นคำสั่งที่อยู่ใน Libraryเห็นไหมคะ เราได้ 2 บรรทัดแล้วก็คือนำเข้าโมดูล pygame แล้วก็มันเริ่มทำงานนะคะ ในบรรทัดที่ 4สิ่งที่เด็ก ๆ จะต้องทำต่อมานะคะ กดผิดอีกแล้วเราจะสร้าง loop ให้มันก่อนเห็นไหม กระโดดข้ามได้นะคะ ในการ coding นี่แต่ แต่อะไร แต่จะในทุกส่วนถ้าอยากให้เข้าใจว่าเราไปทำส่วนไหนไว้ comment มีส่วนสำคัญนะคะ เพราะฉะนั้น เมื่อเรานำเข้าโมดูลดเว้น 1 บรรทัด กด Enter ให้มันขึ้นเลข 5ตอนนี้เด็ก ๆ จะอยู่ที่บรรทัดหมายเลข 5เราต้องการใส่คอมเมนต์เข้าไป เพื่ออธิบายส่วนต่าง ๆ ที่เราทำ ตอนนี้เราจะสร้าง loopพิมพ์ทับศัพท์เลยนะคะ บอกให้รู้ว่าตรงนี้เป็น loop เกม เพราะอะไร เวลาเรา code เขียนโปรแกรมไปแล้วมันผิดแล้วแม่บอกว่าผิดตรง loop นึกออกนะ ถ้าเรามาดูที่คอมเมนต์ เราก็จะรู้ว่า looploop เกมเราอยู่ตรงไหนนะคะ คำสั่งที่ใช้ในการทำ loopเกมของเรานะคะ ก็จะมีตัวแรกนะคะ ตัวแรกนี่ เป็นคำสั่งในการตรวจ loop ที่เราจะใช้นี้ เป้น loop แบบใช่ while loop เห็นไหม whileloop while จะทำงานเมื่อเงื่อนไขเป็นจริงมันจะทำงานทำเมื่อเป็นจริง เห็นไหมคะ while run ใส่ for eventเหตุการณ์เข้าไป เมื่อรับค่า event.type ==นะคะ ทำเมื่อเป็นจริง ก็คือถ้าเมื่อpygame สิ้นสุด ก็คือจะออก แต่ถ้ายังไม่จบเกมก็จะ run ก็คือทำงานไปเรื่อย ๆ นะคะ ก็ยังทำงานอยู่ก็ยังวิ่งอยู่อย่างนี้นะคะ คำสั่งแรกเลยนะคะ ก็คือประกาศตัวแปร ไหนล่ะ ประกาศตรงนี้นะคะ เราจะประกาศตัวแปรก่อนบอกแล้วว่าเวลาตั้งชื่อตัวแปรนี่นะคะ เด็ก ๆ จะต้องตั้งด้วยตัวเล็กนะคะ ตัวแปรแล้วก็กำหนดค่าให้ตัวแปรตัวแปรนี้ มีค่าให้เป็นจริงเสมอ ค่าเริ่มต้นของตัวแปรเป็นจริงเสมอนะคะ เริ่มที่ประกาศตัวแปรนะคะ ตัวแปรที่เราจะใช้นะคะ ที่ใช้รันนั่นก็คือหมายถึงเกม เกมมันวิ่งหรือ active ก็ได้ เอา active แล้วกันคือ active ก็จะยาว เด็ก ๆ ก็จะว่ามันยาน่ะ เอา run นั่นล่ะ สั้นดีrun นะคะ ตัวแปรนี้หมายถึงเราต้องการให้โปรแกรมมันวนรอบการทำงานน่ะค่ะ เด็ก ๆ run นะคะ ประกาศตัวแปรชื่อว่า run เสร็จแล้ว= ใส่เครื่องหมายเท่ากับสังเกตนะคะ แม่กดวรรคนี่ เด็ก ๆ ก็ต้องวรรคตนะ เท่ากับ คำสั่งต่อมาrun = ใส่เครื่องหมาย =ต้องการบอกว่าตัวแปรนี้เราจะกำหนดค่าให้มันเป็น true true ที่แปลว่าจริงเดี๋ยวนะพิมพ์อะไรผิดt-r-u-eพิมพ์คำสั่งผิดนี่เองmemory อาจจะ error นะคะ วันนี้กินยา การประมวลผลไม่ทำงาน= True True ตัวนี้ใช้T ตัวใหญ่ T-r-u-e นี่ถ้าพิมพ์ถูกนะคะ สีมันจะเปลี่ยนเห็นไหมเห็นไหมคะ True ในที่นี้ก็คือไปดึงมาจากโมดูลของ Pygame นั่นเองนะคะ ก็คือ loop จะรู้เลยว่า อ ๋อถ้าเป็นจริง ปุ๊บสิ่งต่อมาที่จำให้มันทำ ก็คือคำสั่งวน loop ก็คือคำสั่ง while เห็นไหมคะ มันจะขึ้นwhile loop กด Enter เลือกตัวนี้ได้เลยเด็ก ๆ เห็นไหมถ้ากด Enterมันจะขึ้นโครงสร้างของคำสั่ง while มาให้นะคะ ใครไม่ขึ้นแบบนี้ เอาใหม่นะดูใหม่นะคะ ดูที่คำสั่ง whileนี่ เพราะเราจะทำ while loopพอเห็น while มันก็จะตาม ถ้าเห็นกด Enterrได้เลย เห็นไหมคะ มันจะแบ่งส่วนอย่างนี้ขึ้นมาเห็นไหม โครงสร้างมันจะขึ้นอันนี้ดีอย่างไร เด็ก ๆ จะพิมพ์ไม่ผิดก็คือตัวโครงสร้าง ก็คืออยู่ตำแหน่งนี้ ถ้าเด็ก ๆ พิมพ์เอง เด็ก ๆ จะมาพิมพ์ที่ตำแหน่งนึกออกนะคะ เพราะฉะนั้น ถ้าเป็นอย่างนี้ตำแหน่งมันจะไม่เพี้ยนมันจะใส่ : อะไรมาให้เลยที่เหมือนตอนที่เราใช้ Colab บางทีบางคำสั่งถ้าเราไม่มีโคลอนหรือเซมิโคลอนนึกออกนะ นั่นก็คือ เราเขียนโค้ดผิดแต่ถ้าขึ้นอย่างนี้มันจะไม่ได้ทำให้ผิดนะคะ ของใครไม่ขึ้นแบบนี้ยกมือไอ้มิ่งแก้หรือยังตอนนั้นน่ะ ที่มันลงตอนนั้นน่ะ ที่มันลงวไอนั่นไม่ได้น่ะ ที่ลงPygame ไม่ได้ไง มันต้องเปลี่ยนเครื่องนี่เพราะโมดูล pygame มันไม่มีนี่จำได้ไหม เพราะตอนลงที่ตอนเรียกใช้ Pygame น่ะเครื่องไอ้มิ่งมันเรียกใช้ไม่ได้น่ะไม่ใช่เครื่องไอ้มิ่ง เครื่องกุ้งเต้นมันลงไม่ได้ไงที่เราลง ตอนแรกน่ะ ของไอ...พอเราเรียกใช้ Pygame มันจะขึ้น Finichแต่ของไอ้นี่มันไม่ขึ้นน่ะ มัน...มันน่าจะมีไวรัสน่ะ มันลงไม่ได้บอกอยู่ว่าต้องเแลี่ยนเครื่องให้มันแล้วเครื่องไอ้ต้ามันยังไม่ได้ลงไม่ใช่หรือ ลงแล้วหรือลองเรียก ลองเรียกขึ้นมาสิในระหว่างนั้นเพื่อน ๆ ได้หมดทุกคนแล้วนะไอ้มิ่งเดี๋ยวค่อยตามทีหลัง เดี๋ยวไล่ให้ทีหลังพาเพื่อนทำก่อน ให้เพื่อนได้หน้าจอไว้เล่นเกมก่อนเพื่อนอยากเห็นหน้าจอมันจะเป็นอย่างไรกดผิดอีกแล้วเห็นไหมคะ while while แล้วตามด้วยอะไรเห็นไหมตัวแปรที่เราประกาศก็ต้องเรียกมันมาใช้เห็นไหมคะ เห็นไหมคะ ก่อนหน้าโคลอนให้เด็ก ๆ พิมพ์ตัวแปรที่เราประกาศไปมานะคะ นี่นะคะ เราต้องใช้ตัวแปรนี้ ก้คือพิมพ์ r ปุ๊บrun ขึ้นมากด Enterเห็นไหมเด็ก ๆ จะได้ไม่พิมพ์ผิดเห็นไหมคะ whilerun ก็คือ ถ้าคำสั่ง runค่าเริ่มต้นเป็น True ปุ๊บ สิ่งที่ให้มันวนลูบปุ๊บให้มันวิ่ง run เห็นไหมคะ แล้วตรง passเด็ก ๆ มาตำแหน่งนี้นะคะ ทำแถบสีตรงคำว่า เราตำแหน่งมันจะต้องอยู่ที่นะคะ คำสั่งต่อมา ก็คือ while แล้วก็ตามด้วย for ค่ะ เด็ก ๆ เป็น for loop ถูกต้องแล้ว Enter ได้เลยตัว Box ถัดไปของ for จะขึ้นมาใครยังไม่ขึ้นแบบนี้ยกมือใครไม่ขึ้นแถบโซนนี้ 2 บรรทัดนี้ ยกมือวิธีการจำได้นะ พิมพ์ f ลงไป พอขึ้นว่า forพิมพ์ f ลงไปแล้วขึ้นคำว่า for loopกด Enter เพื่อเลือกเห็นไหมคะ ถ้าไม่ขึ้นต้องให้ import pygame ก่อนเปิด Command prompt ของใครไม่ขึ้นกุ้งเต้นไม่ขึ้นหรือไม่ ตี๋น้อยพิมพ์ใหม่พิมพ์ f ใหม่ให้ตี๋น้อยลบตั้งแต่ while ก่อนดูนะคะ มันจะต้องเริ่มที่พอพิมพ์ while นี่ ขึ้นแบบนี้ไหมเขามีบรรทัดที่ 6หรือยังเอาใหม่บอกเขาลบออกลบตั้งแต่ 6 เลยนะบางคนพิมพ์ตัวแปรที่ชื่อว่าrun ประกาศตัวแปรให้ run ประกาศตัวแปร runวรรค เครื่องหมายเท่ากับ ตามด้วยกำหนดค่าเริ่มต้นของ run เป็น Trueก็คือเป็นจริง T-r-u-etrue เสร็จแล้วพิมพ์ w1 ตัวแล้วกด Enter ไม่ขึ้นอย่างนี้หรือคนที่ไม่ขึ้นดูนะคะ สัปดาห์ก่อนตอนเวลาเราจะตั้งค่าให้โปรแกรม pygame นี่นามสกุลมันจะต้องเป็น .py ตอนนี้คนที่ไม่ขึ้นคือนามสกุลไม่ได้เป็น .py เพราะฉะนั้นคลิกไฟล์แล้วก็เลือก save as ลูกเมนู file ค่ะ มันจะขึ้นสีไอ้นี่มันจะขึ้นอย่างนี้เลย เป๊ะ ตี๋น้อยทำตาม แล้วก็เลือกsave as มิ่งด้วยตรงนี้เห็นไหมลูกใส่ . . ข้างหลังชื่อไฟล์นี้. ลงไป จุดน่ะลูก กดจุดแล้วก็ตามด้วย pyแล้วก็คลิก saveทีนี้ มิ่งลองพิมพ์ while ใหม่เห็นไหมสีเปลี่ยนแล้ว w ขึ้น Enterเรียกใช้อะไรคะ runพิมพ์ run ไอ้มิ่งแม่บอกว่าอย่างไร โปรแกรมนี้ ลบ ไม่ต้องรีบพิมพ์พิมพ์แค่ตัว r ปุ๊บ พอมันขึ้นมิ่งกดEnter เห็นหรือเปล่า มันตจะได้ไม่ผิดใช่ไหม ให้ลบออก แล้วกด fตัว f เห็นไหม ถ้าขึ้นอย่างนี้ให้กด Enterกด Enter เห็นหรือเปล่า มันจะทำให้มิ่งไม่พิมพ์ผิด มิ่งจะรู้ตำแหน่งมันจะเว้นให้นึกออกหรือเปล่าเหมือนที่เราเรียนเทอม 1 จำได้ไหม แค่ไม่เว้นวรรคแค่ไม่ใส่ไอ้นี่นึกออกไหม โปรแกรมก็ run ไม่ได้ใช่ไหมคะ นะคะ sublime มันจะช่วยให้เด็ก ๆ พิมพ์โปรแกรมไม่ผิดนั่นเองเพราะอะไร เพราะถ้าอย่างนี้ปุ๊บนะคะ เพราะเมื่อกด while เมื่อพิมพ์ w นี่มันมาเล็งแล้วว่า ตรงนี้ใส่ค่า True หมายถึงนั่นหมายถึงบอกแล้วมันก็จะไปเรียกใช้คำสั่งในโมดูลใน pygameมันก็จะไปเรียก while loop ขึ้นมาบอกแล้ว กด Enter เวลาเขียนโค้ดนะคะ ไม่ต้องรีบพิมพ์ r-u-n เลยเด็ก ๆ พิมพ์แค่ r ถ้ามันขึ้น runเหมือนตัวนี้เหมือนกันตัวเดียว ถ้ามันขึ้น while loop ให้เด็ก ๆ กด Enterหลังเคอร์เซอร์ให้พิมพ์ r1 ครั้ง เห็นไหมคะ มันจะไปดึงตัวแปรที่ประกาศก่อนหน้า เพราะมันรู้ว่าloop นี้ทำเพื่อเช็กค่าของ run มันจะก็ไปวิ่งไปหา run อัตโนมัตินะคะ ชักเริ่มเจ็บคอกด Enter ค่ะ แล้วในส่วนที่เป็นสีชมพูดอย่างนี้ เด็ก ๆ ทำแถบใช่ไหมคะ คำว่า passนี่ เราไม่ได้ใช้มันเขาเรียกว่าอะไรน่ะมันเป้นโครงของโปรแกรมที่มันสร้างไว้ให้เราก็ Delete ออกนะคะ บรรทัดต่อมาเราจะใส่ event for เพื่อให้มันตรวจสอบ เพื่อให้มัน runเห็นไหมคะ กด f ปุ๊บ ถ้าคำว่า "for loop" ขึ้นมาให้เด็ก ๆ กด Enterมันก็จะมีโครงสร้าง ตรง xสิ่งที่เราจะใส่คืออะไร มาดูสไลด์เราต่อทันหรือยัง 2 คนนี้ ่ตี๋น้อยทันไหมตรง while ปุ๊บนะคะ ไหนล่ะตรง forตรงตัว x สิ่งที่เราจะใส่ เราจะใส่เหตุการณ์ ก็คือ e-v-e-n-t นะคะ ใส่ตัวแรกที่ชื่อว่า eventอันนี้ถ้าไม่มีอะไรขึ้นมานี่ เด็ก ๆ พิมพ์ตามอย่างนี้ก่อน เด็ก ๆ สังเกตครั้งแรกสังเกตเวลาเราประกาศตัวแปรครั้งแรก เวลาเราประกาศตัวแอะไรมา เพราะมันยังไม่รู้ว่ามีตัวแปรชื่อนี้for event ปุ๊บถึงบรรทัดนี้หรือยังตี๋น้อย คนอื่นทันนะคะ ตรงx ran เตรงค่าตรงนี้นะคะ เด็ก ๆ ที่ทำไฮไลท์ไว้ตรงค่านี้เห็นไหมคะ เราจะไปเรียกเห็นไหมpygame.event.getนั่นก็คือเมื่อมัน... มันจะเป็นโมดูลที่ชื่อว่า get น่ะค่ะ ฟังก์ชัน getนะคะ นะคะ p เลือก pygame เห็นไหมถ้าขึ้นอย่างนี้ เอาเมาส์ไปคลิกที่คำว่า pygameแล้วก็ใส่ .พิมพ์ e เห็นไหม eventขึ้นมาแล้วตัวแปร event ขึ้นมาแล้วแล้วก็ใส่ . อีก 1 คครั้ง ไม่ใช้จุดไม่ใช่ : พูดผิดg-e-t นะคะ getแล้วก็ตามด้วยวงเล็บเปิด ไม่ใช้วงเล็บเปิดต้องมี _ ก่อน _ ก็คือขีดล่างใส่ขีดล่างนะคะ จะไปใช่ฟังก์ชันที่ชื่อว่าgetลบในวงเล็บนี้ออกget แล้วก็ตามด้วย _ แบบนี้นะคะ ขีดล่างก่อน แล้วก็วงเล็บ เห็นหรือเปล่าอย่างนี้นะคะ ถึงจะถูกบรรทัดที่ 8 คำสั่ง forevent ตัวแปรสำหรับตัวแปลที่ชื่อว่า eventin อธิบายนะคะ ตอนนี้กำลังอธิบาย ว่าในบรรทัดที่ 8 เราใช้คำสั่ง forเพื่อเรียก เพื่อประกาศ เพื่อเรียกตัวแปรที่ชื่อว่าevent กำหนดตัวแปรที่ชื่อว่า eventใน pygame event.getนะคะ เสร็จแล้ว มาดูบรรทัดที่ 9สิ่งที่เราจะทำต่อมาในบรรทัดที่ 9