--- title: (สำรอง1) การเขียนโปรแกรมคอมพิวเตอร์ ปี 1 subtitle: date: วันอังคารที่ 4 มกราคม 2565 เวลา 13.30 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) ใช่ ๆ ของพายุน่ะ เป็นหมาป่า พื้นหลังก็ใช้ภูเขาก็ได้นะ ให้มีเหมือนภูเขาหรือป่าก็ได้ของพายุน่ะ แล้วทีนี้พายุต้องนึกถึงว่าเราจะต้องให้มีสิ่งกีดขวาง ให้หมาป่าเรากระโดดน่ะ พายุนึก อย่างเช่น เมื่อกี้ยกตัวอย่างไดโนเสาร์มันกระโดดข้ามกระบองเพชรนะ ของพายุหมาป่ากระโดดข้ามอะไรดี คือ ภาพที่เราจะต้องได้ใช้น่ะ 1. ตัว Background แล้วใช่หรือเปล่าที่เราจะเอามาใช้เป็น... นะ จะข้ามอะไรก็ได้ (พี่อี๊ด) พายุบอกว่าเอาเป็นต้นไม้ก็ได้ครับ (อาจารย์สุธิรา) โอเค พายุก็ต้องหาต้นไม้หรือตอไม้ไว้นะคะ โอเคนะ ต่อไป เชอรี่ยังไม่ได้ทำ เจ้าอบดีกว่า เจ้าอบ อบ อบไอ้ตัวเกมอบน่ะ เป็นรูปเด็กผู้หญิงหรือเปล่า เด็กผู้หญิงใช่ไหม (พี่การ์ตูน) ใช่ค่ะ ๆ (อาจารย์สุธิรา) เด็กผู้หญิง เราจะเอาเป็นอะไรดีนะ อยากได้ Background เป็นอะไร อยากให้ อบอยากให้เด็กข้ามอะไรน่ะ ให้เด็กผู้หญิงคนนั้นกระโดดข้ามอะไรดี นึกนาน (พี่การ์ตูน) เดินข้าม... (อาจารย์สุธิรา) เดินข้ามอะไรดี นั่นล่ะ กระโดดข้ามอะไรดี อบจะต้องหารูปไอ้ตัวที่จะให้เด็กผู้หญิงกระโดดข้ามน่ะ นึกออกไหม เข้าใจหรือเปล่า เนาะ เพราะเหมือนไดโนเสาร์มันกระโดดข้ามกระบอกเพชร ให้โดดข้ามกระบองเพชรก็จะดูไม่น่ารัก นึกออกไหม เราก็เปลี่ยน เราก็เปลี่ยนเป็นประโดดข้ามอะไรดี นึกดูดี ๆ นะ ดูเด้อ ลองนึกว่าอยากให้มันกระโดดข้ามอะไร โอเคไหม โอเคนะ เข้าใจนะ (พี่การ์ตูน) ค่ะ เข้าใจค่ะ (อาจารย์สุธิรา) ก็คือเด็กผู้หญิงมาแล้วให้ข้ามอะไรเหมือน (พี่การ์ตูน) เด็กหญิง (อาจารย์สุธิรา) น่ารักหน่อยก็กระโดดข้ามต้นไม้ กอไม้ก็ได้ ดอกไม้หรือกอหญ้าก็ได้ คือ มันก็จะมีทั้ง เหมือนเล็ก-ใหญ่อะไรอย่างนี้ สูง-ต่ำนะ อย่างนี้ ลองนึกดูแล้วกันว่าให้ข้ามอะไร ไหนดูเจ้าเขียดสิ มันทำเป็นรูปอะไรนะ มันออกไปแล้วด้วย วริษา เขียดยังไม่เปิดกล้องน่ะ เขียดยังไม่เปิดกล้อง มิ้นก็ได้ค่ะ มิ้นก็... ของมิ้นเป็นรูปเด็กผู้หญิงใช่หรือเปล่า สวัสดีลูก (พี่การ์ตูน) สวัสดีค่ะ ใช่ค่ะ เป็นรูปเด็กผู้หญิงค่ะ // ทีนี้เขียดเห็นมิ้นเห็นแล้วนะว่า... (พี่การ์ตูน) ดอกไม้ น่ารัก ๆ ค่ะ (อาจารย์สุธิรา) อ๋อ ได้ ๆ อย่างนั้นหาดอกไม้นะ หาดอกไม้ให้เขากระโดดข้ามโอเค พื้นหลังก็อาจจะเป็นอะไรนะ เหมือนมีท้องฟ้าโอเค หาไว้ 2 ภาพนะ แต่ดอกไม้ ไอ้ตัวดอกไม้เราเอาหลาย ๆ ภาพก็ได้ เปลี่ยนแบบใช่หรือเปล่า เราอยากให้ข้ามดอกอะไร เลือกมากกว่า 2 ก็ได้ นึกออกนะ โอเค เข้าใจ แสดงว่าเข้าใจอยู่ว่า... (พี่การ์ตูน) เข้าใจค่ะ (อาจารย์สุธิรา) โอเค อย่างนั้นมาดูต่อเลยนะคะ เด็ก ๆ น่าจะเข้าใจแล้วว่า... ก็คือในตัวอย่างของที่แม่ให้ดูน่ะ มันเป็นตัวไดโนเสาร์กระโดดข้ามตัวกระบองเพชร แต่เด็ก ๆ ตัวเกมเด็ก ๆ มันเป็นตัวอื่น เช่น เหมือนของเจ้าอบ เจ้ามิ้นเป็นรูปเด็กผู้หญิง เหมือนเขียดก็น่าจะเป็นเด็กผู้หญิงเหมือนกัน ก็คือเด็ก ๆ ก็ลองนึกว่าเด็ก ๆ จะให้ตัวการ์ตูนของเรานี่ มันกระโดดข้ามอะไร เราก็ไปหาภาพนั้นมาใช้ประกอบนะ โอเคนะคะ โอเค อย่างนั้นเรามาดูสไลด์กันต่อนะคะ ว่าต่อไปก็คืออันดับแรกนี่ เด็ก ๆ ต้องมี Background ก็คืออันดับแรกนี่ เด็ก ๆ ต้องมี นะคะ ในตัวอย่างที่เอาให้ดูนี่ก็คือเพราะเราอยากให้ไดโนเสาร์มันวิ่งบนทะเลทราย เสร็็จแล้วเดี๋ยวพอมันไปเจอต้นกระบองเพขรเราก็จะเอารูปกระบองเพชรน่ะค่ะ มาตั้งลงไปนะคะ แล้วให้ไดโนเสาร์ข้ามผ่านอย่างนี้ นั่นเป็นอุปสรรคหรือสิ่งกีดขวางสำหรับเกมนี้ ก็คือให้ตัวเกมเรากระโดดข้ามสิ่งกีดขวางที่เราหามาวางไว้นะคะ เพราะฉะนั้น ถ้าของใครเป็นรูปอื่นนะคะ เด็ก ๆ จำไว้เลยว่า Background แล้วแต่เด็ก ๆ จะเลือกว่ามันเป็นภาพอะไร ให้มันเหมาะสมเหมือนถ้าเป็นเด็กผู้หญิงแล้ว เด็ก ๆ อยากให้ข้ามดอกไม้อย่างนี้ Background ก็อาจจะเป็นทุ่งหญ้าสีเขียว ๆแล้วก็พื้นอาจจะเป็นทุ่งหญ้าสีเขียวเอาดอกไม้มาวาง เราก็เอาดอกไม้มาวาง สามารถวาด Background เองก็ได้นะคะ วาดเองก็ได้หรือมาดาวน์โหลดเหมือนเดิมนะคะ ทีนี้วิธีการใส่เรามาดูต่อนะคะ มันก็จะมีคำสั่งอยู่ 2 ส่วน ในการนำภาพมาใช้นะคะ ที่ใช้โหลด Background หรือภาพนี่นะคะ เราดูที่รูปแบบก่อนนะคะ ก็คือเราจะต้องกำหนดชื่อตัวแปรภาพ หรือสแลช ตัวแปรของภาพหรือตัวแปรของพื้นหลัง เราใช้ภาพ Background ใช่ไหมคะ แล้ว Background ตัวที่เป็นตัวสิ่งกีดขวางนะคะ เพราะฉะนั้น รูปแบบให้เหมือนกันเลย แต่เราจะต้องเปลี่ยนตัวแปรนะคะ ตัวแปรตัวแรกนี่ สมมติเป็นพื้นหลัง ก็จะมีตัวแปรพื้นหลังนะคะ ตามด้วยกด Spacebar กด Spacebar แล้วก็พิมพ์ py ปุ๊บนะคะ ก็คือ pygame.image.load .image.load pygame ที่ชื่อว่า image.load ก็คือโหลดภาพนั่นเองเห็นไหมคะ pygame.image.load แล้วตามด้วยอะไร ใส่วงเล็บ ในวงเล็บนั้นใส่เครื่องหมายคำพูดเพื่อจะระบุชื่อไฟล์ภาพที่เราจะไปโหลดมา ใส่แต่ชื่อไฟล์ไม่ได้นะคะ ต้องมีทั้งชื่อไฟล์และนามสกุลของภาพ เดี๋ยวจะให้ดูถ้าจากรูปแบบข้างบนนี้ พอเรามาเขียนโค้ดนะคะ จะเขียนแบบนี้นะคะ bg bg ในที่นี้ก็คือมาจากคำว่า "Background นั่นเองนะ จำได้ใช่ไหมครับ เคยบอกไว้แล้วว่าเวลาตั้งชื่อตัวแปรน่ะ ให้เด็ก ๆ ตัวอักษรตัวเล็ก ตัวใหญ่เราจะใช้กับอะไรคะ ใช้กับการสร้าง class ใช่ไหมคะ นะคะ แต่ทีนี้ถ้าเป็นตัวแปรจำไว้เลยว่าให้ตั้งด้วยตัวอักษรตัวเล็กเลยนะคะ จะได้ไม่ไปสับสนกับ class class นี่มันจะขึ้นต้นด้วยตัวอักษรตัวใหญ่หรือตัวพิมพ์ใหญ่ตลอด เพื่อเราจะได้จำง่าย ๆ แล้วขึ้นใจ ก็เลยกำหนดไปเลยว่าให้ตั้งเป็นตัวอักษรตัวเล็กนะคะ แต่ class นี่มันโดนบังคับอยู่แล้วว่าต้องตั้งด้วยตัวอักษรตัวใหญ่นะคะ ก็คือตั้งชื่อตัวแปรว่า bg ซึ่งมาจากคำว่า Background แล้วก็เครื่องหมาย แล้วก็เรียกใช้ Mobule pygame.image.load นั่นเองนะคะ ชื่อไฟล์ ไฟล์ภาพตัวนี้มีชื่อว่า desert ที่แปลว่าทะเลทราบ .jpg jpg ก็คือนามสกุลของไฟล์ภาพ ซึ่งเด็ก ๆ น่าจะจำได้แล้วว่าวิธีดูนามสกุลของไฟล์ภาพดูได้จาก Properties ของรูปภาพเรา ก็คือคุณสมบัติของรูปภาพนั้นแล้วมันจะขึ้นบอกว่าเป็น jpg หรือ png ก็คือ JPG หรือ PNG นะคะ ใส่ชื่อรูป แล้วก็นามสกุลของรูปนี่ อย่าลืมว่ามันจะต้องอยู่ในเครื่องหมาย Single Qoหรือ " ด้วยนะคะ ต้องมีอยู่ในชื่อเสมอนะคะ ทีนี้ที่เด็ก ๆ จะผิดกันมาก ก็คือชื่อภาพเวลาตัวเองไปโหลดมากับเวลาตอนที่มาเรียนน่ะค่ะ เด็ก ๆ จะต้องจำว่าภาพตัวเองที่จะใช้ชื่ออะไรนะคะ อย่ามาพิมพ์ตามชื่อภาพที่แม่ใช้ นึกออกนะ ก็คือมาเปลี่ยนชื่อตรงนี้ ตรงในส่วนนี้นะ ตรงส่วนนี้ก็จะเปลี่ยนไปตามภาพที่เด็ก ๆ ไปโหลดมา นึกออกนะคะ ชื่อตรงนี้นะคะ เราจะไม่มาพิมพ์ตามกันอย่างนี้ เพราะไม่อย่างนั้นเวลาเรียกใช้รูปตัวเองก็จะไม่ขึ้นชื่อที่ไม่รู้จัก มันจะเป็นชื่อที่ เป็นชื่อไฟล์ภาพที่เด็ก ๆ ไปโหลดมา เช่นเดียวกัน ถ้าสมมติว่ารูปนี้เป็นต้นกระบองเพชร เราก็จะตั้งชื่อตัวแปรกระบองเพชรภาษาอังกฤษก็คือ Cactus อย่างนี้นะคะ Cactus ก็คือ = pygame.image.loadตัวที่จะใช้เรียกรูปภาพมา ก็คือ pygame.image.load ก็คือตัวนี้ แล้วก็ตามด้วยชื่อของภาพที่เราจะเอามาใช้ ใช้ name แล้วกัน ภาษาอังกฤษเขียนง่ายกว่าภาษาไทย name นะ แล้วก็ .png อย่างนี้เป็นต้นนะคะ ทีนี้เมื่อเราไปโหลดมาแล้วนี่ เครื่องมันจะไปเรียกภาพนั้นมาเก็บไว้ ขั้นต่อไปเราต้องใช้คำสั่งเพื่อเรียกใช้ Background นั้น Background หรือภาพนั้นนะคะ รูปแบบ ก็คือเราจะต้องมีชื่อตัวแปรฉาก ซึ่งซึ่งหมายถึงพื้นที่น่ะค่ะ นึกออกนะ พื้นที่ที่เราสร้างไว้ให้ตัวโปรแกรมทำงานน่ะค่ะ ก็คือชื่อตัวแปรฉากที่เราตั้งไว้ ตามด้วย .build แล้วก็ตามด้วยวงเล็บ แล้วก็ชื่อตัวแปรภาพนะคะ แล้วก็ต้องระบุตำแหน่งของมัน x, y นี่หมายถึงตำแหน่งของภาพที่จะเอาไปวางน่ะค่ะ ตำแหน่งในแกน y ที่บอกนะ ก็คือหน้าจอคอมพิวเตอร์มันจะแบ่งแนวตั้ง ก็คือแกน x แนวนอนก็คือ แกน y นะคะ ทีนี้อันนี้คือรูปแบบมัน พอเวลาเราใช้เราก็พิมพ์โค้ดว่า screen เพราะในโปรแกรมเราใช้ตัวแปรฉากชื่อว่า screen ใช่ไหมคะ .blit ตัวแปร Background ของเราเมื่อกี้ ก็แล้วแต่นะคะ ชื่อ bg bg นั่นก็คือ background bg ก็คือ Background แล้วก็ตามด้วย 0, 0เพราะ Background มันก็ควรจะอยู่ให้เต็มฉากที่เราสร้างไว้ นึกออกนะ สมมติเราสร้างฉากไว้ขนาดพื้นที่ 600 x 800 เพราะเราเริ่มที่ตำแหน่ง 0 มันก็จะชิดที่ตำแหน่งข้างบน มันจะวางรูปตามตำแหน่งข้างบนบนสุด ลงมามันก็จะเต็มหน้าจอพอดี อย่างนี้เป็นต้นนะคะ แต่ในกรณีที่เป็นตัวอุปสรรคตำแหน่งมันก็จะเปลี่ยน มันอาจจะไม่ได้อยู่ที่ตำแหน่ง 0, 0 แล้ว นึกออกนะ เราจะเอาตัวอุปสรรคไปวางตรงตำแหน่งไหน ตัวเลขอาจจะเปลี่ยนจาก 0, 0 อาจจะเป็นลงมาสัก 200 บรรทัดนะคะ ก็จาก 0 ก็เปลี่ยนเป็น 200 นะคะ ตำแหน่งก็จะอยู่กลาง ๆ หน่อย สมมติอยู่กลาง ๆ ก็สัก 400 อย่างนี้นะคะ ก็จะเปลี่ยนเป็น 200, 400 นะคะ ก็จะเปลี่ยนตามจุดที่เราจะเอาภาพไปวาง ตัวเลขมันเปลี่ยนได้ ก็คือเรากด Ctrl + B รูปมันไม่ตรงตามตำแหน่งที่เราต้องการ เราก็มาแก้ตัวเลขก็ได้นะคะ โอเคนะ นี่คือถ้าเราจะนำภาพหรือ Background มาใช้นี่ มันจะต้องประกอบด้วย 2 คำสั่ง เมื่อกี้นี้ ก็คือ pygame.image.load นี่นะคะ จะไปเรียกใช้ Module นั้น จากที่ไปเรียกรูปนั้นมา มาแสดงนี่ จะต้องใช้นี่ค่ะ รูปแบบนี้ .built แล้วก็ตามด้วยชื่อภาพนั้นแล้วก็ตำแหน่งที่จะวางนะคะ อันนี้ก็คือการนำเป็นคำสั่งสำหรับนำภาพนะคะ มาใช้นะคะ หัวข้อต่อไป กำหนดเหตุการณ์ให้แป้นพิมพ์ กำหนดเหตุการณ์ให้แป้นพิมพ์ เด็ก ๆ จำได้นะ มันจะมีตอนที่เราพอเรากดปุ่มคีย์บอร์ดน่ะค่ะ แล้วตัวเกมเราน่ะมันขยับใช่ไหมค่ะ ขยับตาม เพราะฉะนั้น อันนั้นแค่ใช้คำว่า KEYDOWN ก็คือกดแป้นอะไรก็แล้วแต่ ตัวการ์ตูนมันก็จะขยับ แต่ทีนี้เราจะใช้การตั้งค่าตามแป้นในคีย์บอร์ด ซึ่งมีตรงที่เราจะไปกำหนดค่านี่มันจะอยู่ตรงเห็นไหมคะ จำได้ไหม ตรงใน Loop น่ะค่ะ เห็นไหมคะ ตรงที่กำหนด event type ก็คือกำหนดชนิดของเหตุการณ์ event.type เดิมเรากำหนดว่า pygame if event.type == pygame .KEYDOWN ก็คือ pygame.KEYDOWN นั้นหมายถึงกดปุ่มอะไรก็ได้ ที่อยู่ในเครื่องนะคะ เพราะตอนที่เรากด Ctrl + B แล้วกด Space bar เจ้าไดโนเสาร์เราก็จะขยับ กดตัว A ตัว B เจ้าไดโนเสาร์มันก็จะขยับ pygame.ก็คือเป็นปุ่มอะไรก็ได้นะคะ ทีนี้แต่ที่เราจะมาทำความรู้จักกับแป้นพิมพ์ที่จะใช้ในวันนี้นะคะ ก็คือ... เด็ก ๆ ดูก่อนนะคะ มันมีหลายตัวเลย แต่เราไม่ได้ใช้หมดทุกตัวนึกออกนะ เราจะใช้แป้นพิมพ์ในกลุ่มนี้ค่ะ ในกลุ่ม... ในกลุ่มลูกศรนะคะ K_UP แล้วก็อีกตัวหนึ่งก็คือspacebar Backspace ถอยหลัง เยอะจนลายตาเหมือนกันนะคะ ตัวนี้นะคะ KEYSPACE นะคะ Spacebar ไอ้แป้นยาว ๆ น่ะค่ะ นะคะ รูปแบบนะคะ ก็คือเวลาเราใช้นี่ ก็จะมี ifevent.type == ตามด้วยชื่อแป้นพิมพ์ ซึ่งมีขีดเมนต์ไว้ว่าชื่อแป้นพิมพ์ใน pygame นี่ ชื่อแก้นพิมพ์แต่ละตัว จะพิมพ์ด้วยตัว K K ตัวนี้เป็นตัว K ตัวพิมพ์ใหญ่ แล้วก็ตามด้วยเครื่องหมาย _ เห็นไหมคะ แล้วเด็ก ๆ ดูดี ๆ นะคะ ดูชื่อจำดี ๆ ด้วยนะคะ เห็นไหมคะสังเกตชื่อแป้นพิมพ์ทุกตัวจะเป็นตัวอักษรตัวอะไรคะ ใช้ตัวอักษรตัวใหญ่หมดเลยเห็นไหมคะ ยกเว้นที่เป็นตัวอักษร นะ เช่น \A, B, C, D แต่ถ้าเป็นแป้นที่เป็นพวกตัว Path Shift อะไรพวกนี้มันจะใช้เป็นตัวพิมพ์ใหญ่นะคะ เวลาพิมพ์ เฉพาะที่เป็นแป้นที่เป็นตัวอักษรเท่านั้นที่จะเป็นตัวพิมพ์เล็ก โอเคนะคะ เพราะฉะนั้น เวลาเราจะใช้งาน มาดูเวลาที่เราจะใช้งานแป้นพิมพ์ตัวนี้กัน เมื่อกี้บอกแล้วเราจะใช้อยู่ 4 แป้น 4-5 แป้นนะคะ ก็คือถ้าเราใช้แป้น pygame.K_UP K_UP นี้นะคะ หรือ หรือนะคะ หรือเราใช้ Pygame.K_SPACE Ց มันจะหมายถึงเราต้องการให้ตัวเกมเราน่ะค่ะ เคลื่อนขึ้นหรือกระโดดนั่นเองนะคะ เราจะใช้ 2 ตัวนี้ เลือกใช้ตัวใดตัวหนึ่ง 1 ตัว เพราะโดยปกติน่ะ ถ้าใครเป็นคอเกมนะรู้นะ เวลาเล่นเกม ส่วนใหญ่เขาจะให้ไปกดที่ปุ่ม Spacebar ไงนะคะ ก็เลยว่าถ้าเผื่อแต่บางทีก็ใช้ปุ่มที่ 1 K_UP K_UP เห็นไหมคะ ก็คือตัวลูกศรขึ้น ก็คือให้เด็ก ๆ ไปที่ปุ่มที่มีรูปลูกศรน่ะค่ะ ที่มีรูปลูกศร 4 ทางน่ะค่ะ ชี้ขึ้นข้างบน ชี้ลงข้างล่าง ไปทางซ้ายไปทางขวานั่นล่ะ เราจะไปใช้แป้นพิมพ์ 4 อันนี้นะคะ กับถ้าไม่ใช้อันที่ 1 ที่เป็น K_UP เราอาจจะใช้อีกตัวหนึ่งเป็น SPACE นะคะ เพื่อใช้ในการให้ตัวเกมมันกระโดดกำหนดให้ตัวเกมมันกระโดด แป้นต่อมา pygame.K_LEFT Ցpygame.K_LEFT LEFT ชื่อก็บอกอยู่แล้ว Left ซ้าย ก็บอกอยู่แล้ว นั่นหมายถึงให้ตัว KK เราเคลื่อนไปทางซ้ายนะคะ ความเร็วในการเคลื่อนก็ขึ้นอยู่กับสปีด จำได้ไหมเราจะมีคำสั่ง SPEED Speed อยู่อันหนึ่ง ถ้า Speed เรายิ่งน้อยความเร็วจะยิ่งมากใช่ไหมคะ และอีกตัวหนึ่งนะคะ pygame.K_DOWN นั่นก็คือเมื่อเรากดแป้นลูกศรที่ชี้ลง K_DOWN อาจจะให้ตัวละครก้มลงหรือคลานอะไรอย่างนี้ หรือหมอบนะคะ และตัวสุดท้าย pygame.K_RIGHT Ցก็คือเคลื่อนไปทางขวาใช่ไหมนะคะ ซ้าย ๆ ก็คือเราต้องการให้ตัวการ์ตูนมันไปทางซ้ายน่ะ หรือทางขวานี่ ถ้าไปทางซ้าย ก็คือเลือกกด K_LEFT นะคะ หรือกดปุ่มลูกศรทางซ้าย ต้องการให้ตัวเกมวิ่งไปทางขวานะคะ เราก็ไปกด ก็คือเลือกลูกศรที่ชี้ไปทางขวาน่ะค่ะ แต่เวลาเราเขียนโค้ดเราจะใช้คำว่า pygame.K_RIGHT ก็คือให้โปรแกรมมันรู้ว่าตอนนี้เราจะไปกดปุ่มไหน ตัวนี้คือชื่อของปุ่ม K_LEFT, K_RIGHT ก็คือตัวปุ่มกดลูกศร K_LEFT ลูกศรซ้าย K_RIGHT ก็คือลูกศรขวานะคะ นะคะ นี่คือหัวข้อที่เราเรียนกันในวันนี้นะคะ แต่ที่เด็ก ๆ จะต้องจำให้แม่น เด็ก ๆ จะต้องทำอะไรบ้าง 1. ภาพที่เราจะใช้ทำเป็น Background ใช่ไหมคะ ให้มันตรงกับตัวเกมของเรา เช่น ของพายุเป็นรูปหมาป่าอย่างนี้ พายุก็อาจจะใช้รูปBackground เป็นรูปภูเขาก็ได้ แล้วอุปสรรคอาจจะเป็นก้อนหินหรือขอนไม้ อย่างนี้ ก็คือให้นึกถึงหมาป่ากระโดดข้ามขอนไม้ กระโดดข้ามก้อนหิน เหมือนของมิ้น มิ้นบอกอุปสรรคจะให้เป็นกระโดดข้ามดอกไม้ มิ้นก็ต้องหาภาพดอกไม้ที่จะเอามาใช้เป็นอุปสรรคนะคะ อย่างนี้เป็นต้นนะคะ คือ ดูหลักการจากตัวนี้นะคะ นี่วิ่งไปพอกระโดดนี่ เด็ก ๆ สังเกตเห็นไหม ไซซ์ของพี่บิวเพิ่งเข้ามา เรียน... ดูจากไดโนเสาร์ตัวนี้ใช่ไหมคะ วิ่งมาตอนแรกไม่มีอะไร พอสักพักกระบองเพชรโผล่ แล้วเด็ก ๆ ดูนะคะ จำนวนกระบองเพชร มีทั้ง 1 ต้น 2 ต้น 3 ต้น, 4 ต้น ก็คืออุปสรรคอาจจะไม่ได้ใช้แค่รูปเดียว นึกออกนะ เด็ก ๆ ก็อาจจะมีกระบองเพชรหลาย ๆ ขนาด ทั้งขนาดเล็กขนาดใหญ่อย่างนี้นะคะ หรือดอกไม้ก็เหมือนกันเป็นดอกไม้ชนิดหลาย ๆ ชนิดก็ได้นะคะ ของใครเป็นรูปอื่นอีก ของเอ็มเป็นรูปอะไรครับ (เทพอักษร) เป็นโรบอทครับ (อาจารย์สุธิรา) เอาอุปสรรคเป็นอะไรดีนะ ให้นึกถึงนะ ถ้าหุ่นยนต์นี่อาจจะเป็นแท่งเหล็กก็ได้ หรืออะไรน่ะ กระโดดข้ามรถ อะไรอย่างนี้ก็ได้ เหมือนโรบอทในเมืองอย่างนี้ เพราะฉะนั้น ฉากมันก็จะเปลี่ยนไปตามตัวเกมของเรานึกออกนะ // ครับ (อาจารย์สุธิรา) เพราะฉะนั้น ต้องหาภาพให้มันสอดคล้องกับฉากด้วยนะคะ ภาพอุปสรรคต้องสอดคล้องกับฉากด้วยนะคะ เหมือนของดอม ของดอมเป็นอะไรครับ (พงศ์ภรณ์) เป็นอัศวินครับ (อาจารย์สุธิรา) อ๋อ อัศวิน อัศวินนี่ข้ามอะไรดี ได้หลายอย่างอยู่ (นักศึกษาชาย) เอาเป็นหนามกับกับดัก (อาจารย์สุธิรา) เอาเป็นหนามกับกับดัก แล้วแต่นะครับ แล้วแต่จะเอา หาภาพมา ใช้ภาพนึกออกนะ ก็หา Background นะคะ แล้วก็ภาพที่เราจะใช้เป็นอุปกรณ์ให้ข้ามมาประกอบนะคะ ส่วนตอนคีย์น่ะค่ะ เราจะต้องมาทำในห้อง เพราะเด็ก ๆ บางคนไม่มีเครื่องใช่ไหมคะ แล้วตัวเกมเรามันก็อยู่ที่ ที่ไหนเอ่ย อยู่ในห้องเรานะ เพราะบางคนยังรันไม่ผ่านก็มี บางคนยังติดอยู่นะคะ เหมือนของพายุน่ะ ติดอยู่บรรทัดหนึ่งยังแก้ไม่ได้ นะคะ เราจะมาเขียนโค้ดจริง ๆ จัง ๆ กันในสัปดาห์หน้านะคะ แต่ตอนนี้ให้เด็ก ๆ ต้องรู้ก่อนแล้วว่าจะต้องหาอะไรบ้าง หาภาพที่เอามาใช้ประกอบนี่ ก็คือภาพที่เป็น Background กับภาพที่จะใช้เป็นอุปสรรคนะคะ ส่วนตัวโค้ดวิธีเขียน Key ควบคุมนะคะ เราจะไปเริ่มเขียนในคลาสกันนะคะ เพราะไม่อย่างนั้นก็จะไม่เข้าใจ เพราะเวลาใช้ Sublime อย่างที่บอกมันจะต้องรอใช่ไหม รอให้ Key ให้เห็นแล้วเราจะเลือกใช้ แต่ที่อยากทบทวน ก็คือจุดที่เด็ก ๆ จะชอบผิดบ่อย นึกออกนะ ที่เด็ก ๆ ชอบผิดบ่อย เช่น เช่นอะไร ชื่อใช่ไหมคะ ชื่อตัวแปรใช่ไหม ชื่อตัวแปรกับชื่อของ class นี่ วิธีการที่ทำให้ไม่ผิดบ่อยก็คือบอกไว้แล้วว่า Class มันจะต้องประกอบด้วยตัวพิมพ์ใหญ่ เราจะเลี่ยงไม่ให้ตัวแปรไปซ้ำกับ class ก็คือเวลาตั้งชื่อตัวแปรเราจะตั้งเป็นตัวเล็กเสมอนะคะ ชื่อก็จะได้ไม่ไปซ้ำกันนะคะ ส่วนการเลือกใช้ขั้นตอนอื่นนี่มันก็จะอยู่ในตัว Sublime มันก็จะช่วยอยู่แล้ว พอคีย์ไปปุ๊บถ้า class นี้สร้างไว้แล้วนะคะ มันขึ้นมา เปิดให้ดูนะคะ ตำแหน่งของที่มักจะผิด เดี๋ยวจะเปิด Sublime ให้ดู แป๊บหนึ่งนะ C : โอเค เรามาดูหน่อย Sublime อยู่ไหนนะ เดี๋ยวเปิด Sublime ให้ดูนะคะ นี่เห็นไหมคะ เหมือนอย่างที่บอก ถ้า class จำได้นะ เราต้องสร้าง class นี่ เรามี class ของตัวไดโนเสาร์แล้ว แล้วเราก็มี... ฟังก์ชันให้มันวิ่งแล้ว ฟังก์ชันต่อไปเราให้มันกระโดดใช่ไหมคะ วิ่งไปทางซ้าย-ทางขวา กระโดดนี่เพิ่มขึ้นมานะคะ สิ่งที่เราจะเพิ่มเข้ามา ตอนนี้เรามีCaption กับ icon แต่ที่เราจะเพิ่ม ก็คือคำสั่ง load.Background ใช่ไหมนะคะ ที่บอกว่าฉากของเรานี่ใช้ตัวแปรชื่อว่า screen เห็นไหมคะ ตัวนี้ ใช้คำสั่ง pygame.display.set กำหนดพื้นที่ของฉากนี่นะคะ ตอนเก่านี่ Background นี่เป็นแบบ Screen.fill ก็จะเติมสีพื้นเข้าไป ก็เลยใช้คำสั่งนี้ แต่ตัวใหม่เราจะเป็นการเรียกใช้รูปใช่ไหมคะ ก็จะเป็น screen.blit แล้วก็ตามด้วยชื่อ ชื่อของ Background ที่เราจะเอามา และที่เราจะมาเขียนเพิ่มก็คือ loop ก็คือ loop loop ของการที่ให้เดินไปทางขวา โดยใช้แป้นพิมพ์ที่เป็นลูกศร ซ้าย-ขวา ขึ้นบน เหมือนที่เอาให้ดูใน PowerPoint นะคะ เราก็ต้องไปเพิ่มเงื่อนไขนึกออกนะ เมื่อมี event.type แล้วนี่ event.type นี่คือมีเหตุการณ์นี้นะคะ โดยเหตุการณ์นี้ก็คือการกดแป้น Key Down เมื่อเรากดปุ่มลงไปนี่ ปุ่มอะไรก็ได้ KEY ก็คือปุ่มใช่ไหมคะ ปุ่มนี้โดนกดนี่ มันถึงจะทำงาน KEYDOWN นี่ก็คือปุ่มอะไรก็ได้ที่อยู่ในคีย์บอร์ดนี่ โดนกดลงไป ก็คือกดลง KEYDOWN นะคะ ก็คือปุ่มมันถูกกดน่ะค่ะ คำสั่งให้ dino.run มันจะRun อยู่กับที่ไม่ได้ เราจะให้มัน Run ไปทางไหน ไปข้างหน้าใช่ไหมคะ นะคะ ไปข้างหน้าก็คือวิ่งไปทางขวานั่นเองนะคะ เราก็จะใช้คำสั่ง pygame.K_LEFT เข้ามาเพิ่มนะคะ มันจะกำหนดอย่างไรเดี๋ยวมาดูในสัปดาห์ ทีนี้ ในสัปดาห์นี้นะคะ เด็ก ๆ ก็ยังเข้ามามหาวิทยาลัยไม่ได้อยู่แล้วจนกว่าสัปดาห์หน้า เพราะในประกาศบอกว่าให้ทำงานเรียนแบบออนไลน์จนถึงวันที่ 9 แต่ถ้าใครอยู่ที่หออยู่แล้วไม่มีปัญหาแต่ก็เข้ามาใช้ไม่ได้ เพราะให้นึกถึงว่าเพื่อนคนอื่นเขาอยู่กลับบ้านอย่างนี้นะคะ เอ็มได้กลับบ้านไหม (เทพอักษร) อยู่หอครับ กลับมาแล้วครับ กลับมาเมื่อวานครับ (อาจารย์สุธิรา) โอเคแสดงว่าเขาให้เข้าอยู่เพราะแฝด แฝดถาม แฝดน่ะถามว่ามาหอได้หรือยัง แสดงว่าเขาให้เข้าหออยู่ใช่ไหม แฝดอยู่หอไหนครับ (อาจารย์สุธิรา) แฝดน่าจะอยู่หอ แฝดไปไหนแล้ว แฝดครับ (นักศึกษาชาย) เอราวัณหรือเปล่า (พี่อี๊ด) ไม่เห็นน้องเลยค่ะ (อาจารย์สุธิรา) แล้วเอ็มอยู่หอไหน (นักศึกษาชาย) ผมอยู่หอกันเกาครับ (อาจารย์สุธิรา) กรรณเกานี่หอใหม่ใช่ไหมครับ // ครับผม (อาจารย์สุธิรา) อ๋อ หอ A มันจะหอเก่านะ ที่อยู่ทางฝั่งทานตะวัน โรงอาหาร แฝด แฝดอยู่หออะไรลูก สวัสดีครับ สัญญาณแฝดไม่ค่อยดี (พี่อี๊ด) แฝดบอกว่าอยู่บ้านครับ รู้อยู่บ้าน แต่ว่าอาจารย์ถามว่าหอพักน่ะชื่ออะไร (อาจารย์สุธิรา) จำได้หรือเปล่า (พี่อี๊ด) ตอนนี้อยู่บ้านครับ (อาจารย์สุธิรา) โอเคไม่เป็นไร คราวหน้าจะอยู่หอ A เพราะว่าถ้าอยู่กับเอ็มน่าจะเจอกัน เขาน่าจะอยู่หอ A โอเคครับ ไม่ เพราะ... (พี่อี๊ด) เห็นบอกว่ามีของจะฝาก จะฝากของให้อาจารย์แม่น่ะครับ (อาจารย์สุธิรา) ของอะไรครับ (อาจารย์สุธิรา) จะฝากอะไรครับ (พี่อี๊ด) แฝด ... อ๋อ อินเทอร์เน็ตน้องมี... เหมือนน้องทำมือว่าจะมีของจะให้อาจารย์น่ะค่ะ แต่ตอนนี้เหมือนอินเทอร์เน็ตน้องไม่ค่อยดีแล้วค่ะ (อาจารย์สุธิรา) ไม่เป็นไรบอกเขา ไว้หลังวันนั้นน่ะ หลังวันที่ 9 เขาค่อนเข้ามา ก็คือวันจันทร์หน้า วันที่ 10 เขาถึงจะมาเข้าหอได้ เจ้าเขียดล่ะ เจ้าเขียดกลับมาหรือยัง เขียดยังไม่เปิดน่ะ เขียดเปิดกล้องหน่อยสิ เขียดอยู่ไหนนี่ เขียดเปิดกล้องหน่อย อยู่ไหนนะ ไม่ได้อยู่หอ กลับบ้านหรือยัง อบก็ยังไม่กลับ เอ็มกลับมาแล้ว โฟร์ไม่ได้กลับใช่ไหมครับ พี่โฟร์ //ไม่ได้กลับครับอาจารย์ (อาจารย์สุธิรา) ดีแล้วล่ะ เจ้าโฟร์ฉีดเข็ม 2 หรือยังลูก (นักศึกษาชาย) ยังไม่ได้ฉีดครับ (อาจารย์สุธิรา) อ๋อ ใช่เพราะวันนั้นโฟร์ฉีดพร้อมอาจารย์พ่อนี่ ต้องรอครบพร้อมกัน ต้องไปฉีดพร้อมกัน โอเคดีแล้ว ๆ ช่วงนี้เอ็มมาแล้วนี่ เอ็มมาช่วยแล้ว เจ้ามิ้น เจ้ามิ้นกลับมาหรือยัง เจ้ามิ้นไปไหน มิ้นยังไม่เปิด บิวล่ะ บิวเข้ามาแล้ว บิวครับ บิวน่ะได้ยินใช่ไหม ไปไหนนะ บิวล่ะ บิวมาหรือยัง ฮัลโหลบิว บิวไม่เปิดกล้องเลย พายุเปิดแล้ว พายุ ๆ อยู่บ้านบ่เจ้าเขียดนี่ สัญญาณเน็ตไม่ดีหลุดออกไปแล้ว โอเคค่ะ อย่างนั้นสัปดาห์นี้เราพอแค่นี้แล้วกันนะคะเด็ก ๆ บางคนสัญญาณเน็ตไม่ค่อยดีเท่าไรนะคะ ก็จะมีอุปสรรคในการเรียนออนไลน์ของเราเล็กน้อยนะคะ ไม่เป็นไร เดี๋ยวสัปดาห์หน้าเราเจอกันใน Class นะคะ ถ้าสถานการณ์ ตามประกาศก็คือถึงวันที่ 9 วันที่ 10 สัปดาห์หน้าซึ่งเป็นวันที่เราจะเข้าเรียนในคลาสได้ตามปกตินะคะ สำหรับสัปดาห์นี้เราก็จะพอแค่นี้ก่อนนะคะ สวัสดีปีใหม่เด็ก ๆ ทุกคนนะคะ อย่าไปเลาะไหนกันมากนะคะ ช่วงนี้เซฟตัวเองด้วย พยายามอยู่กับที่นะ อยู่กับที่นะ อย่าเพิ่งไปที่ที่เป็นแบบห้องแอร์อะไรอย่างนี้มาก ๆ นะคะ ร้านอาหารนี่ก็อย่าไปที่คนเยอะ ๆ แออัดอย่างนี้เลี่ยงนะคะ ถ้าเห็นเยอะก็ถอยออกมาสะ ไปกินร้านอื่น หรือเปลี่ยนสถานที่แทนนะคะ โอเคไหมคะ ถ้าโอเคแล้วก็บ๊ายบายเด็ก ๆ ทุกคน (พี่การ์ตูน) โอเคสวัสดีปีใหม่ อ. แม่ สุขภาพร่างกายแข็งแรงนะคะ (อาจารย์สุธิรา) ค่ะ (นักศึกษาชาย) สวัสดีครับ (พี่อี๊ด) สวัสดีค่ะ