(เจ้าหน้าที่) พี่ล่ามได้ยินไหมคะ
(ล่าม) ได้ยินค่ะ
(อาจารย์สุธิรา) สวัสดีค่ะ
(อาจารย์สุธิรา) มอง
ไม่เห็นล่าม
เด็ก ๆ เปิดเครื่องหมดทุกคนหรือยัง
เปิดเครื่องกันหรือยังเอ่ย
ก่อนอื่นนะคะ เมิื่แเปิดเครื่องแล้ว
เด็ก ๆ จะต้องเปิดอะไรคะ โปรแกรมที่ชื่อว่า
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 แล้วก็ใส่ทั้ง event
Event ก็คือกำหนดค่าให้
กำหนดค่าให้เกมมันดำเนินไป เช่น
เราอยากให้เกมตัวนี้กระโดดได้ นั่นคือ event
หรือให้เกมนี้มันเดิน
ไปก่อน วิ่งไปก่อน แล้วพอไปเจอ
ถ้าเหมือนใน Mario เก็บเห็ดใช่ไหม กระโดดเก็บเห็ด
[เสียงปรบมือ]เจอเหรียญกระโดดเก็บเหรียญ นั่นคือ event ที่จะรุ
ให้เกมเรา
ใน Event จริง ๆ นี่ ก
[เสียงหัวเราะ]
ก็ไม่ได้ยาวแค่ 1 2 3 4 10 บรรทัดแบบนี้
นึกออกนะ ให้นึกถึงว่ายิ่งเกมเรามี
อะไรน่ะ เขาเรียกว่า มีความซับซ้อนหรือ
มีด่าน นึกออกนะ ยิ่งด่านยากขึ้น Event
มันก็จะต้องยากเข้าไปอีกอะไรอย่างนี้นะคะ เพราะฉะนั้น
เหตุการณ์ตรงนี้ ก็ขึ้นอยู่กับที่เรากำหนด
ให้มันทำอะไรได้บ้างเหมือนให้นึกถึงถ้า
เด็ก ๆ ชอบเล่นเกมอะไรนะ
เดี๋ยวนี้ฮิตเล่นเกมอะไรกัน
ถามสิ ถามตี๋น้อย ตี๋น้อยเล่นเกมหรือเปล่า
แม่จะถามตี๋น้อย
ตี๋น้อยเล่มเกมในคอมน่ะ เล่นเกมอะไร
เล่นหรือเปล่า เล่นเกมหรือเปล่า
เล่นเกมอะไรครับ อยากรู้ ๆ
(ล่าม) พวกเกมที่มีวิ่ง มีกระโดด อย่างนี้ครับ
(อาจารย์สุธิรา) เกมกระโดด
เกมอะไรนะ เป็นเกมที่มันกระโดด
หรือ เหมือนที่ฮิต ๆ กัน
ที่ช่วงหนึ่งที่มัน
อะไรนะ เกมที่ขี่รถบนหน้าผา
อะไรน่ะ นึกออกนะ อย่างนั้นน่ะ
เห็นไหมความยากของเกมนั้น ก็คือ
ขีี่อย่างไร ไม่ให้ตกไอ้นั่น
แล้วอะไรนะ ความเร็วใช่ไหมคะ แล้วก็อะไรอีก
มีอุปสรรคมาให้หลบ เห็นไหมคะ นั่นก็คือ event
จะใส่มันจะอยู่นี่ล่ะ ก็คือเราจะเป็นตัว
กำหนดว่าเกมนั้นจะมีความยาก ความง่ายอย่างไร กำหนดลำด
เหตุการณ์ให้มันนะคะ ทำอะไรได้
พอมาถึง
ลำดับที่ 6 เป็นส่วน
ของการอัปเดตค่า นั่นหมายถึงว่า
เมื่อบางครั้งนี่ ที่เกมมันทำงานไปแล้ว
นึกออกนะ แต่บางทีมันอาจจะต้องกลับ
มาเริ่มต้นใหม่หรืออะไรก็แล้วแต่เหมือนตายน่ะ
นึกออกนะ มันก็ต้องมีการอัปเดตใช่ไหมคะ
ไม่ใช่ว่าทำเสร็จแล้วจบตอนนั้น เพราะฉะนั้น
จะต้องมีส่วนที่ให้เกมมันอัปเดต อัปเดตค่าต่าง ๆ นะคะ
เช่น เหมือนเราไปกำหนดค่าเริ่มต้นของ
ฉากนี้ไว้ ตั้งแต่ตอนจะเริ่มวิ่ง กำหร
ใช่ไหม พอวิ่งไปจนสุดฉากนี่ สมมติ
ถ้าเรากำหนดหน้าจอไว้ที่ ความกว้าง 80 0
มันวิ่งมาถึงจุดที่ 800 น่ะ
มันจะทะลุหน้าจอออกมานึกออกไหม
ไปเริ่มที่จุดที่ 1 ใหม่
มันก็ต้องไปอัปเดตไง ให้ค่ามันคืน คืนกลับว่าเป็น
เริ่มต้น หน้าจอนั้นก็จะ... ไอ้โหมดตัววิ่งก็จะ
ให้นึกถึงนะ เหมือรชนเราเล่มเกมไป
วิ่งไปเรื่อย ๆ แล้วพอจุดนี้ก็จะมาเริ่มด่านใหม่
มันก็จะโผล่มาเริ่มต้นใหม่ใช่ไหมคะ อย่างนี้เป็นต้น
ก็คือเกมมันก็ต้องมีส่วนให้มันอัปเดตด้วย
นะคะ และส่วนสุดท้าย บอกแล้วว่า
เวลาเราเขียนโปรแกรม
ในบางโปรแกรมไม่ต้องมีคำสั่งเพื่อ start แต่
ที่ขาดไม่ได้มันต้องมีคำสั่ง
จบนะคะ ตอนในเราเขียน
แบบผังหรืออะไรนี้ต้องเริ่มจากตรงไหน
ใน... ถ้าเริ่มต้นนี่ ให้นึกถึงเลย เพราะถ้าเราไม่สั่ง
คำสั่ง import น่ะ เราก็จะใช้
งาน Library ที่ชื่อ
เพราะฉะนั้ นจุดเริ่มต้นของคำสั่งนี้ ก็คือเริ่มที่ import
เสมอนะคะ แต่จุดที่จะจบ ก็คือ
ฟังก์ชันที่ชื่อว่า quit()
quit ในที่นี้
ออกจากโปรแกรมนะคะ ออกจากโปรแกรมในที่นี้ไม่ใช่ออกจากโปรแกรม Sublime
แต่หมายถึง ออกจากเกมที่เราสร้างไว้น่ะ
บอกให้เกมมันรู้ว่าจะออกแล้ว
ต้องออกได้ ไม่ใช้เกมวน วิ่งวนอยู่นั่นล่ะ
เล่นไม่จบปิดเครื่องไม่ได้
นะคะ เพราะฉะนั้น นั่นคือส่วนประกอบของ
ตัวโปรแกรม Sublime
sublime ที่เราจะเขียน ตัว pygame
ทีนี้บอกโครงสร้างไปแล้ว
วันนี้เราจะทำเกมได้ ก่อนอื่น
ก็คือเราจะต้องมาสร้าง
หน้าจอให้มัน สร้างพื้นที่ให้ตัวเกมของเรา
นะคะ เพราะฉะนั้น เด็ก ๆ เปิด Sublime กันหรือยัง
ถ้าเปิดมาแล้วนะคะ
ให้
เด็ก ๆ นำเข้าโมดูลนะ
ถ้าเปิดมาในสัปดาห์ก่อน
หน้าจอเรามันก็จะมาอยู่ไฟล์ที่เราเปิดไว้ จำได้ไหม เด็ก ๆ
ที่เราใส่ Comment เอาไว้ว่าทดสอบน่ะ
ทีนี้ เราจะไม่ใช้คอมเมนต์ว่าทดสอบนะ
เพราะตอนนี้เราจะทำอะไรคะ เราจะ
กำหนดใช่ไหมคะ กำหนดจอเกม วันนี้เราจะ
มากำหนดหน้าจอเกม เพราะฉะนั้น ใน Comment
เราก็จะเปลี่ยนเป็น
บอกให้
รู้ว่าตัวนี้ตอนนี้นะคะ
เราจะมากำหนดหน้าจอให้เกมก่อน
คอมเมนต์สามารถเปลี่ยนได้ เพราะอะไร เพราะเวลาเรา
เขียนโปรแกรมไม่จำเป็นว่าเราจะต้องเขียนครั้งเดียว
แล้วเสร็จหมดนะ
นะคะ อันดับแรก
ก็คือต้องมีคำสั่ง import pygame ใช่ไหมคะ ทีนี้เราจะเอาคำว่า print
นะคะ
ส่วนที่ 2 ฟังก์ชันที่ชื่อ init()
ที่ชื่อ init() เดี๋ยวให้ดูสไดล
ไม่ไปสไลด์ล่ะนี่
ไหนล่ะ เห็นไหมคะ
เริ่มการทำงาน
ให้ pygame ใช่ไหมคะ นะ เริ่ม
ด้วยฟังก์ชัน init()
วิธีการในบรรทัดต่อไป
ที่ต่อจาก import นะคะ ให้พิมพ์
py เปลี่ยนภาษาก่อน ขอโทษ
เด็ก ๆ ดูนะคะ ดูก่อนนะอย่าเพิ่งพิมพ์
มี p ถ้ามันมีอย่างนี้ขึ้นมา ให้เด็ก ๆ
คลิกไปที่ตัวนี้ได้เลย
เห็นไหม ไม่ต้องพิมพ์นะ เห็นไหมคะ ดูดี ๆ นะคะ
เอาใหม่นะ กด p ปุ๊บ
กด Enter ก็ได้ ถ้าไม่เอาเมาส์ไปคลิกที่
pygame นึกออกนะ พอมี p ขึ้นมานี่
ถ้าไม่เอาเมาส์ไปคลิก เราสามารถกดปุ่ม
Enter คำว่า "pygame" จะมา อย่างนี้
เด็ก ๆ จะพิมพ์ไม่ผิด เห็นไหม นึกออกไหม
สะดวกและรวดเร็ว แต่ต้องดูด้วยไม่ใช่
พิมพ์ปุ๊บ มันจะไม่ได้มีแค่ตัวเดียว พอ
เราเริ่มโค้ดเยอะ ๆ น่ะค่ะ Sublime
เขาเรียกว่าอะไร มันจะไป
จำพวกค่าหรือคำสั่งพวกนี้เก็บไว้
พอเราเริ่มจะเรียกใช้ มันจะขึ้นมาอย่างนี้
แล้วพอกด Enter ปุ๊บ เด็ก ๆ จะไม่
เกิดการ... ปัยหาก็คือการพิมพ์ชื่อพวกนี้ผิด
เข้าใจไหมคะ นะคะ ต่อมา
ตามด้วยอะไร ตามด้วย . 1 .
จุดลงไป แล้วก็ตาม
ด้วยฟังก์ชันที่ชื่อว่า in
it
นะคะ แล้วก็ให้เด็ก ๆ กดวงเล็บ
กดแค่วงเล็บเปิด เดี๋ยววงเล็บปิดมันจะมา
อัตโนมัติ
เวลาเช็ก Sublime
ดูที่สีพวกนี้นะคะ ถ้าเราพิมพ์คำสั่ง
ถูกนี่ พวกสีพวกนี้มันจะปรับเปลี่ยนไปอัตโนมัติ
เลย บอกให้รู้ว่านี่เป้นฟังก์ชันนะ
นี่เป็นคำสั่งที่อยู่ใน Library
เห็นไหมคะ เราได้ 2 บรรทัดแล้ว
ก็คือนำเข้า
โมดูล pygame แล้วก็
มันเริ่มทำงานนะคะ ในบรรทัดที่ 4
สิ่งที่เด็ก ๆ จะต้องทำต่อมานะคะ
กดผิดอีกแล้ว
เราจะสร้าง loop ให้มันก่อน
เห็นไหม กระโดดข้ามได้
นะคะ ในการ coding นี่
แต่ แต่อะไร แต่จะ
ในทุกส่วนถ้าอยากให้เข้าใจว่า
เราไปทำส่วนไหนไว้ comment มีส่วนสำคัญ
นะคะ เพราะฉะนั้น เมื่อเรานำเข้าโมดูล
ด
เว้น 1 บรรทัด กด Enter ให้มันขึ้นเลข 5
ตอนนี้เด็ก ๆ จะอยู่ที่บรรทัดหมายเลข 5
เราต้องการใส่คอมเมนต์เข้าไป เพื่อ
อธิบายส่วนต่าง ๆ ที่เราทำ ตอนนี้
เราจะสร้าง loop
พิมพ์ทับศัพท์เลยนะคะ
บอกให้รู้ว่าตรงนี้
เป็น loop เกม เพราะอะไร เวลา
เรา code เขียนโปรแกรมไปแล้วมันผิด
แล้วแม่บอกว่าผิดตรง loop นึกออกนะ ถ้าเรามาดู
ที่คอมเมนต์ เราก็จะรู้ว่า loop
loop เกมเราอยู่ตรงไหนนะคะ
คำสั่งที่ใช้ในการทำ loop
เกมของเรานะคะ ก็จะมี
ตัวแรกนะคะ ตัวแรกนี่ เป็นคำสั่งในการ
ตรวจ loop ที่
เราจะใช้นี้ เป้น loop แบบ
ใช่ while loop เห็นไหม while
loop 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
เห็นไหมเด็ก ๆ จะได้ไม่พิมพ์ผิด
เห็นไหมคะ while
run ก็คือ ถ้าคำสั่ง 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-e
true เสร็จแล้วพิมพ์ w
1 ตัว
แล้วกด 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
หลังเคอร์เซอร์ให้พิมพ์ r
1 ครั้ง เห็นไหมคะ มันจะไป
ดึงตัวแปรที่ประกาศก่อนหน้า เพราะมันรู้ว่า
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 คำสั่ง for
event ตัวแปร
สำหรับตัวแปลที่ชื่อว่า event
in อธิบายนะคะ ตอนนี้กำลังอธิบาย ว่า
ในบรรทัดที่ 8 เราใช้คำสั่ง for
เพื่อเรียก เพื่อประกาศ เพื่อเรียกตัวแปรที่ชื่อว่า
event กำหนดตัวแปรที่ชื่อว่า event
ใน pygame event.get
นะคะ เสร็จแล้ว มาดูบรรทัดที่ 9
สิ่งที่เราจะทำต่อมาในบรรทัดที่ 9