--- title: การเขียนโปรแกรมภาษาคอมพิวเตอร์_030364 subtitle: date: วันพุธที่ 3 มีนาคม 2564 เวลา 08.50 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์) สวัสดีค่ะ สวัสดีค่ะ ก่อนอื่นนะคะ เปิดโปรแกรม Sublime เราขึ้นมา ครั้งก่อนถึงไหนแล้ว ยังไม่ได้ให้เลื่อน ใช่ไหม ครั้งก่อนเราเอารูปลงแล้วมันติดปัญหาที่รูปมันไม่ได้นะ ทีนี้ก่อนอื่น ๆ ให้เด็ก ๆ เข้าไปใน Google แล้วค้นรูปเพิ่มอยากได้ลูกอมที่เป็นชิ้นเดียว เป็นรูปลูกอม 1 อันน่ะค่ะ แต่เอาหลาย ๆ แบบ อย่างน้อย 5 รูป ไปโหลดไปเก็บไว้ที่ไหนจำได้ไหม อย่าลืมที่เก็บที่เดิมของเราคืออะไรคะ มันจะต้องอยู่ที่ C Colon ใช่ไหม จะต้องเก็บไว้ที่... เดี๋ยวนะคะ นี่ ๆ Drive C ใช่ไหม แล้วก็ My Game ที่เราสร้างไว้ Folder ที่เราสร้างไว้ต้องเก็บไว้ในนั้นนะคะ เพราะตอนที่โปรแกรมไปเรียกไฟล์รูปมาจะได้หาง่าย ๆ เดี๋ยวหาไม่เจออีกเหมือนครั้งก่อน เพราะฉะนั้น ต้องเก็บไว้ใน Folder ที่เราสร้างเกมที่เราจะเขียนนั่นเอง เราถึงตั้งชื่อมันว่า "MyGame" น่ะนะคะ จะมีรูปมาอยู่ในนี้ เหมือนตัวอย่าง ทีนี้ถ้าเป็นไปได้ ถ้าเป็นไปได้ รูปภาพที่จะโหลด พยายามเลือกที่ไม่มีพื้นหลัง สังเกตภาพที่ไม่มีพื้นหลัง มันจะมีเหมือนตารางจุด ๆ สีเทาแบบนี้ อย่างนี้นะคะ เดี๋ยวเปิดให้ดู นี่ ลักษณะภาพพื้นหลังมันจะมี แต่รูปลูกอมลอยอยู่ แล้วด้านหลังมันจะเป็นเหมือนเส้นตาราง แล้วมีจุดสีเทา ๆ แบบนี้อยู่ข้างหลัง ถ้าอย่างนี้เวลาเราเอารูปมาใช้น่ะ มันจะไม่เป็นรูปทรงสี่เหลี่ยม มันจะเป็นรูปทรงของลูกอมเลยไงนะคะ จะเป็นรูปลูกอมเลย อยากได้แต่รูปตัวลูกอม แต่ถ้าหาไม่ได้จริง ๆ ก็มีพื้นหลังก็ได้ เดี๋ยวจะมาพาเอาออกว่าเอาออกอย่างไร เช่น รูปนี้มีหรือเปล่า ถ้าเหมือนอย่างนี้สังเกตพื้นหลังมันเป็นสีขาว แสดงว่ามันมีพื้นหลังนะคะ เอาออกได้ เดี๋ยวพาเอาออก มีเว็บช่วยเอา Remove Backgr ออกเอาพื้นหลังออกอย่างนี้ใช้ได้ ก็คลิกแล้วก็เสร็จ Save ไปเก็บไว้นะคะ เดี๋ยวเอาออกได้นะคะ โอ.เค. ไหม อย่างละ 1 เอาแบบไม่เหมือนกันนะคะ เอาคนละแบบ รูปท็อฟฟี่เราเอาหลาย ๆ แบบ อย่างน้อย 5 แบบเพราะเกมที่เราจะทำ ก็คือครั้งก่อนเราเอาตะกร้าใส่แล้วนะ เราจะเหลือลักษณะเกมนี้ ก็คือลูกอมหล่นลงมาจากข้างบน แล้วให้ตะกร้าไปรับลูกอม ลูกอมน่ะนึกออกนะ ใช่ค่ะ ให้มีรูปท็อฟฟี่หล่นลงมา แล้วก็ให้เลื่อนตระกร้าไปรับ รับท็อปฟี่ที่หล่น มีท็อปฟี่แบบเดียวมันก็ธรรมดาไปมันต้องมีหลาย ๆ แบบใช่หรือเปล่า เราก็ควรมีหลาย ๆ แบบ เหมือนถ้าเก็บท็อฟฟี่เม็ดนี้ได้ อาจจะได้คะแนนเยอะ เราอาจจะเพิ่มการให้คะแนนจากตัวท๊อฟฟี่ก็ได้ แบบแปลก ๆ เราก็จะใช้ Topfy เป็นตัวกำหนดคะแนนด้วยนะคะ เพราะฉะนั้นก่อนอื่นต้องให้ได้รูปก่อน ขอเวลาสำหรับเด็กโหลดรูปไม่เกิน 10 นาทีนะคะ ทีนี้ในครั้งก่อนที่โหลดมา ดูรูปตระกร้าหน่อยขอใบเตย อ๋อ ไม่มีพื้นหลังอยู่แล้วนะ ไม่เป็นไร เดี๋ยวดูอันอื่นที่ใบเตยเลือกมา ถ้าอย่างนี้มีพื้นหลังใช่ไหม เดี๋ยวดูวิธีเอาออกก่อนอื่น ๆ ดูนะคะ ถ้ารูปที่โหลดมา แล้วมันมีพื้นหลังสีขาวหรืออะไรก็แล้วแต่ วิธีจะเอาออก ให้เด็ก ๆ ไปที่เว็บไซต์นี้นะคะ เดี๋ยวจะเอาเดี๋ยวนะคะ เดี๋ยวค้นคำว่าให้พิมพ์คำค้นนะคะว่า เอาพื้นหลังออกนะคะ พิมพ์คำค้นว่า "เอาพื้นหลังออก" แล้วกด Enter นี่ ชื่อเว็บฯ remove.bg คลิกเข้าไปเลย นี่เห็นไหมคะ สังเกตตัวอย่างเห็นไหมภาพ ๆ นี้ในตัวอย่าง ในเว็บ (ไซต์) มันมีพื้นหลังที่เป็นสีแดงใช่ไหม พอเอาพื้นหลังออก เห็นไหม พื้นหลังมันจะเป็นอย่างนี้ จะเหลือแต่ตัวคนเห็นไหมคะ เพราะฉะนั้น ของใครที่มันมีพื้นหลังอยู่นี่ ถ้านำไปใช้มันจะเป็นกรอบสี่เหลี่ยมตามรูปทรงของพื้นหลัง แต่เราจะเอาเฉพาะรูปลูกอมเราก็ต้องเอาออกถ้ารูปไหนมันมี มันมีเว็บฯ นี้ แล้วก็... วิธีการเอาออกก็ไม่ได้พิสดารอะไรน่ะ เห็นไหมคะ ให้คลิกที่ Remove bg นี้มันจะเข้ามาที่เว็บฯ นี้ แล้วคลิกที่ Upload image ก็คือไปเปิดไฟล์ภาพที่เราไปเซฟมา แล้วมันมีพื้นหลังน่ะ ดูตัวอย่างพื้นหลังนี้นะคะ เพราะครั้งก่อนตะกร้ามันมีพื้นหลังจะเอาพื้นหลังออก เดี๋ยวให้ดูก่อน เห็นไหม มีพื้นหลังสีขาวอยู่ กลืนกับพื้นเลยเดี๋ยวจะเอารูปนี้ออกนะคะ เอาพื้นหลังของรูปตะกร้าออก เราก็คลิกที่ Upload image 1 ครั้ง แล้วก็ไปที่เราเก็บรูปเราก็คือ CมMygame ใช่ไหมคะ Mygame แล้วก็เลือกภาพที่เราจะเอาพื้นหลังออก อันนี้จะเลือกตระกร้า เพราะครั้งก่อน ตะกร้า คลิก Open นี่เห็นไหมคะ เอาออกแล้วจะเป็นแบบนี้ จากที่เป็นรูปสีขาว ๆ แบบนี้ตะกร้า ๆ ตะกร้า ๆ เดี๋ยว ๆ เปิดให้ดู นี่ เห็นไหมมีพื้นหลังสีขาว ตระกร้ามีพื้นหลังสีขาว พอเราแปลงปุ๊บ พื้นหลังสีขาวจะออกไปจะเหลือพื้นหลังที่มีลักษณะเป็นสีเทา ๆ แบบนี้อยู่นะคะ แปลงแป๊บเดียวเห็นไหม เราคลิก Download ตอนดาวโหลด มันจะไปอยู่ที่ Dowload นะนะคะ มันจะไม่เข้าไปที่เราเก็บไว้ เราต้องไป ไปที่ Download แล้วก็ไปคลิปไฟล์นั้นมาเห็นไหมคะ นามสกุลมันจะตั้งชื่อว่า... ชื่อของเราแล้วก็ตามด้วย Remove background เราก็ไปก็อบฯ ไฟล์นี้ ไม่ก็อบ ก็ Cut มาเลย Cut แล้วเอาไปไว้ในไหนคะ ที่ Mygame ของเราเหมือนเดิมนะคะ เพราะเดี๋ยวมันจะหาไม่เจอ แล้วทำอย่างไรต่อ ทำอย่างไรต่อ เปลี่ยนชื่อหน่อยชื่อมันยาวคลิก Rename แค่นั้นเอง เราก็เปลี่ยนเป็น... มันมี Busket ธรรมดา 1 อัน เราก็ Basket หมายเลข 1 ก็ได้ ใส่หมายเลขเข้าไป นะคะ Busket 1 png PNG งถ้ากลัวสับสนก็ลบรูปเก่าออกก็ได้นะคะ ก็แค่จำแค่ว่าชื่อที่เราเปลี่ยนชื่อว่าอะไร เดี๋ยวไม่ตรงกัน ดูชื่อตัวเอง ทีนี้ทีนี้โหลด Basked Transform Scale from BG แสดงว่า สัปดาห์ก่อนถึงโหลด BackGround แล้วใช่ไหมขาดตะกร้าใช่ไหม ดูสไลด์เราสิ ถึงไหน Power Point ผมอยู่ไหนต่อ ๆ ต่อ ๆ ใช่ไหม Sublime เราเพิ่งโหลดอะไรคะ Background ใช่ไหมคะ ถึงแค่โหลด background ใช่หรือเปล่าใบเตย ก็คือพอกด Ctrl+B ใช่ไหม เราจะได้แบบนี้มาใช่หรือเปล่า ได้หรือยัง ใบเตยขึ้นหรือยัง มันขึ้น Error อะไรก่อนอื่นนะคะ ลอง Run Ctrl + B กด Ctrl + ฺขึ้นไหม ใครที่มันขึ้น Error ว่า "File Not Found" ตอนนี้เดี๋ยวจะมาเช็กสถานะของ Coding เรา ใบเตยมีตรงนี้หรือยัง มีแล้วใช่ไหมโหลด Icon นี่Background มีแล้ว ทำไมหาไม่เจอ เดี๋ยว ๆ อันนั้นเดี๋ยว Code เราจะไว้แก้ตอนท้ายนะใบเตย ให้เพิ่มรูปลงไปก่อน เหมือนเดิมนะคะ ก็คือคำสั่งสำหรับเพิ่มรูป Image charector ภาพตามด้วยเครื่องหมายเท่ากับ (=) ตามด้วย pygame.image.load นี่นะคะ ชื่อตัวแปรภาพ ก็คือตอนนี้เราจะใส่รูปตะกร้าลงไปนะคะ ก็คือตัวแปรภาพตามด้วยเครื่องหมายเท่ากับ (=) แล้วก็พิมพ์ Fuction pygame.Image . lode แล้วก็นามสกุลของภาพที่เราจะเอามาใช้นะคะ วิธีการ เปิด Sublime ขึ้นมา แล้วดูที่ตำแหน่งเดี๋ยวเห็นไหมคะ ในตำแหน่งที่สร้างฉากเกมยังอยู่ในฉาก เพราะในฉากมันจะมีพื้นหลังมี ไอ้นี่ เราก็จะใส่ ใส่ตระกร้านะคะ เพราะฉะนั้น ชื่อก็คือ basket ตะกร้าภาษาอังกฤษ ก็ตั้งภาษาอังกฤษเลย B-a-s-k-e-t ตามด้วยเครื่องหมาย = ใช่ไหมคะ = รูปแบบ แล้วก็ตามด้วย เราจะไปเปิดภาพมาใช้ pygame pygame.load พิมพ์ py กด Enter pygame module กด Enter แล้วก็กด . แล้วก็ตามด้วย Image I Image Module เหมือนเดิมนะคะ แล้วก็กด dot (.) เหมือนเดิม แล้วก็กด L แล้วก็ Load ได้เลยแล้วใส่วงเล็บ ในวงเล็บคือใส่เครื่องหมายอะไรคะ ซิงเกิลโคดกับดับเบิลโคดเหมือนเดิม แล้วตามด้วย แล้วบอกชื่อรูปภาพถ้ากลัวพิมพ์ผิดให้เด็ก ๆ เลือกภาพนั้นแล้วกดคลิกขวาเพื่อกดดู Property หรือคุณสมบัติ เสร็จแล้ว Copy เพราะมันมาเลย คลิปที่ชื่อและนามสนุกของไฟล์ภาพนั้นแล้วคลิกขวาเพื่อกด Copy เสร็จแล้วกลับมาที่ Sublime เรา แล้วคลิกวางไว้ในเครื่องหมายคำพูดนั้น คลิกวางเลยนะคะ จะต้องได้ basket 1 รูปที่ใช้ ก็คือ basket 1 นามสกุล .png เมื่อไปโหลดมาแล้วก็ต้องเรียกภาพนั้นมาใช่ไหมนะคะ คำสั่ง ก็คือ screen.blit ใช่ไหมคะ ตามด้วยชื่อภาพแล้วก็ตำแหน่งทีนี้ตำแหน่งของตระกร้านี่ เดี๋ยว Run พื้นหลังให้ดูก่อนนะคะ เราอยากให้มันอยู่ตรงกลาง เอามาวางไว้ตรงกลางเพราะฉะนั้น เด็ก ๆ คำนวณพื้นที่นะ ว่าหน้าจอเรามีขนาดเท่าไร และกะว่าตำแหน่ง ให้มันอยู่ตรงกลางของฉากเราน่ะ หรือจอเราน่ะตะกร้าตรงนี้ แล้วก็อยู่ด้านล่างนี่ มันควรจะอยู่ที่ตำแหน่งไหน นึกออกนะ คำนวณดูนะคะ นี่ ถ้าสมมติ 800 ก็คือ 400 ใช่ไหมแต่ถ้าวางที่ตำแหน่ง 400 ปุ๊บนี่ มันจะไม่กางเพราะอะไร เพราะอย่าลืมว่าพื้นที่ของรูปตระกร้า ให้นึกถึงรูปพื้นที่ของรูปตะกร้าด้วยไม่ ก็คือวิธีการให้หารก่อน หารครึ่งก่อนใช่ไหม แล้วก็ลองพออยู่ 400 แล้ว แต่ถ้าวางลงไปตรง 400 นี่ ให้นึกถึงเวลารูปมันวาง มันจะนับตรงมุมบน บนนึกออกนะ ไม่ใช่มันจะจับตรงกลางให้เราไม่ใช่นะคะ เวลาโปรแกรมเขาเอามาวางน่ะ คือ เขาเช็กจากมุมบนของรูปเออ ก็คือตำแหน่งมุมบนของรูปเป็นจุดเริ่มต้นมันจะไม่ได้เช็กจากจุดกึ่งกลางของภาพที่เราจะเอามาวาง เพราะฉะนั้น เราต้องปรับเคลื่อน เพิ่นขึ้น ดูเอาเองนะคะ ว่าของใครจะเท่าไร เพราะบอกแล้ว ไซซ์ตอนนี้ของแต่ละคนไม่เท่ากัน เพราะตัวเองทำตามตัวเอง แต่ความต้องการ คือ อยากให้ตระกร้ามาอยู่ประมาณตำแหน่งนี้ ตรงกึ่งกลางแต่อยู่ด้านล่าง ให้นึกถึงว่าเลื่อนตะกร้าไปมาจากด้านล่างนะคะ ตำแหน่งที่เราจะเลื่อนตระกร้าที่เราจะเลื่อนจะอยู่ล่างสุด เพราะท็อฟฟี่ ลูกอมมันจะหล่นจากข้างบนลงมา ลงมา แล้วตะกร้าไปรับ เพราะฉะนั้น ตำแหน่งของตะกร้าจะอยู่ตรงด้านล่างนะคะ มาดูรูปแบบ รูปแบบต่อเรียกใช้เห็นไหมคะ เรียกใช้งานตัวแปรภาพนะคะ ก็คือบอกชื่อฉากของเรา เรียกฉากของเรามา Function bilt แล้วก็ตำแหน่งแกน X แนวกว้างหรือ y นั่นเอง และ y ก็คือ High ก็คือส่วนสูงนั้นเอง คำสั่งสำหรับเรียกใช้งาน...ภาพนะ ก็จะเอาไว้ต่อจากตัวนี้ เพราะมี Background แล้ว Screen เหมือนเดิม คำสั่ง Screen screen statment. แล้วก็ blit blit function Build ตัวแรก ใส่แล้วกด Enter ทันทีตามด้วยชื่อ ชื่อตะกร้า ba basket อะไร Busket เฉย ๆไม่ใช่ชื่อไฟล์ดูดี ๆ อย่าจำสับสน เราต้องเลือก basket ชื่อตัวแปร ก็คือตัวแรก basket แล้วก็วงเล็บอีก 1 ครั้ง เพื่อระบุตำแหน่ง ขอดูขนาดหน้าจอก่อน 1600 กับ 800 1,600 ครึ่งหนึ่งก็คือ8 2 16 มันไม่ไม่ถึง 800 ขอที่ 780 กับตำแหน่งบรรทัดนะคะ ของเราความสูงของจอเรา 800 เด็ก ๆ ดูความสูงจอตัวเองนะคะ ว่าความสูงจอตัวเองเท่าไร เข้าใจนะ เพราะตอนให้ทำจอน่ะ เครื่องใครเครื่องมันใช่ไหม ให้เช็กขนาดเอง ก็คือหลังการง่าย ๆ คือ ถ้าจอใครตัวเลขตัวแรกเท่าไร เอา 2 ไปหาร หารด้วย 2 แล้วได้อะไรออกมา นึกออกนะ ได้อะไรออกมาแล้ว ไม่ควรเท่าจำนวนนั้นอาจจะลดลงสัก 20 20 Pixel หรือ 50 Pixel ก็แล้วแต่ 800 800 คือล่างสุด บรรทัดล่างสุด เพราะฉะนั้น ให้อยู่ที่ 700 ดู ขอดูก่อนนะคะ ขอ Ctrl+B ก่อน ไม่เห็น ตะกร้าหาย แสดงว่า น่าจะอยู่ต่ำไป B แล้วไม่เห็นตะกร้าขึ้นมา 600 ไหม 65 นี่ ๆ ตะกร้าเห็นแค่นี้ ตะกร้าเราใหญ่มากเลย เห็นไหมคะ เห็นแต่หัวตระกร้า เดี๋ยวขอลดขนาดตระกร้าก่อน มีความรู้สึกตะกร้าจะใหญ่ไป จำได้นะคำสั่งลดขนาด คือ Transform นึกออกนะคะ เดี๋ยวจะก๊อบ (ปี้) ตัวนี้มา tranfor เดี๋ยวขอลดขนาดหน่อย ใช้ชื่อเดิมมันเลยก็ได้ basket เลย จะได้ไม่ต้องไปเปลี่ยนข้างล่าง B*S-K-E-T เราจะเปลี่ยน ไซซ์ Sไม่ได้เปลี่ยนชื่อก็ไปเรียก basket เรามา เรียกตัวนี้ เรียกตัวแปรเรามานะคะ ขนาด 1,600 จะใหญ่ไป ขอลดไซซ์ตะกร้าลงนะคะ 50 เอาสัก 600 นี่ ๆ 600 เบอเร่อเท่อเลย เบี้ยว ๆ แก้ปัญหาด้วยตัวนี้ 500 500 ก็ยังใหญ่ไปนะ Size ยังไม่ได้ Size ยังไม่ได้ ลดลง 250 สีตระกร้ากลืน ไม่เป็นไรเอาไปก่อน เห็นไหมคะ แต่ยังไม่อยู่ตรงกลางเท่าไร เราก็มาปรับที่ตำแหน่งรูปได้เห็นไหมคะ ปรับตรงนี้ ค่าตัวเลขนี่ 700 กับ 750 ต่ำไป แต่ตรงกลางได้แล้ว ตรงกลางน่ะน่าจะได้แล้ว 750 ต่ำไป เอา 700 เท่ากันเลย โอ.เค. เห็นไหมคะ อยากได้ตะกร้าให้อยู่ประมาณนี้ เกือบกึ่งกลางแล้วนะ แล้วนะ เพราะฉะนั้น คือ ค่าตัวเลขเด็ก ๆ ก็ปรับเพิ่มลด เท่าให้มันอยู่พอดีหน้าจอเราอยู่กลางหรือยังลูก ไหนของตะกร้าใช่ไหมลดขนาดลง มันใหญ่ใช่ไหม แล้วตอนมาเรียกใช้ 700 700 Size เท่ากันใช้ได้ เพราะ Ctrl+B แล้วของใบเตย Patch น่าจะยังไม่ผ่าน กด cเออ ลองกดดูยังไม่ได้ขึ้นอะไร ฝเด็ก ๆ บางคนชื่อไฟล์น่ะ มีเว้นวรรคไม่ได้ นึกออกนะ เดี๋ยวให้ดูนะคะ รูปไฟล์ที่แม่โหลดมานี่ สังเกตชื่อ ชื่อไฟล์แม่มันจะติดกัน เดี๋ยวขอ View ไซซ์ไหน Extra แล้ว แล้วซูม ๆ ซูมหน่อย ซูม ๆ ขยายหน้าจอ Remote เดี๋ยวเด้อ สิ่งที่เด็ก ๆ ชอบลืม ก็คือดูที่ชื่อไฟล์นะลูก เห็นไหม สังเกตไฟล์ทุกตัวที่ เซฟนี่ ชื่อไฟล์เวลาตั้งอย่าเว้นวรรค ถ้าอยากเว้น การเว้นจะต้องใช้เครื่องหมายแทน กดเว้นวรรคด้วย spacebar ไม่ได้นะคะ เวลา บอกไว้เลยโปรแกรม ถ้าเป็นโปรแกรมที่เราเขียนเพื่อสั่งให้คอมพิวเตอร์ทำงานนี่ เวลาตั้งชื่อไฟล์ มันจะไม่เหมือน Microsoft Word น่ะ Microsoft Word ตั้งเป็นภาษาไทยก็ได้ เว้นวรรคก็ได้ ก็ได้นึกออกนะ เดี๋ยวน่าจะไม่เห้น ขยายใหญ่มากเลยไม่เห็นล่าม ลดใหม่ ๆ ลดไซซ์ เวลาตั้งชื่อน่ะค่ะ เวลาตั้งชื่อ ให้จำไว้เลยว่าถ้าเราเขียน Coding ถ้าเราเขียน coding หรือเขียนโปรแกรม วิธีการตั้งชื่อจะไม่เหมือน Microsoft Word เด็ก ๆ ต้องจำไว้เลยว่าชื่อรูปภาพที่เราโหลดมาทั้งหลายทั้งปวงนี่ เวลาตั้งชื่อให้มัน คือตอนเราเลือกบันทึก เราอย่าเว้นวรรคนะคะ ให้ชื่อมันติดกัน เว้นวรรคไม่ได้นะ เดี๋ยวพอไป Run โปรแกรมน่ะ มันอ่านแล้วมันไม่รู้จักไอ้ตรงที่เป็น Space Bar อย่าเว้นวรรค พยายามไม่ให้เป็นปัญหาอย่าเว้นวรรค วิธีเอารูปมา ก็คือให้กดบันทึกรูปภาพเป็น แล้วกดเปลี่ยนชื่อ อย่าไปใช้ชื่อเดิมยาว ๆ จำได้นะ เพราะเวลาตัวเองมาเรียกใช้ตัวเองก็จะงง เอาชื่อตามเขาน่ะ ชื่อภาพในเน็ตชื่อมันจะยาวใช่ไหมคะ เราควรมาทำชื่อใหม่ให้ เรียกใช้มันก็จะได้เข้าใจ เหมือนเอารูปตั้งชื่อนั้นว่าภาพ Background ภาพที่เราจะมาใช้ คือ background คือ ตัวนี้ ภาพตะกร้าก็ Busket ไปเลยจะได้ไม่สับสนด้วยนะคะ ปัญหาตอนนี้ที่พบ คือ 1. หาเส้นทางที่เก็บรูปภาพให้เจอ เก็บรูปภาพไม่เจอ กับชื่อไม่ถูก พอไปเรียกใช้ไม่เจอ มันก็ขึ้น Error นะคะ เพราะฉะนั้น ให้ดูวิธีการตั้งชื่อดี ๆ นะคะ แก้ปัญหาที่ชื่อ เพราะฉะนั้นชื่อ แล้วรูปที่จะเอาไปใช้ก็จะต้องตรงกันไม่อย่างนั้นมันจะดึกภาพไว้ใช้ไม่ถูกนะคะ โอ.เค. นะคะ โอ.เค. ไหม Run ได้หรือยังของไอ้นี่ ของไอ้แบมน่ะ มันติดปัญหา มันต้องเอาไว้แก้ทีหลังเคสนี้ ใส่ภาพให้เสร็จเดี๋ยวท้ายชั่วโมงจะมาใส่ Code ไม่อย่างนั้นเดี๋ยวตัวอื่นมันจะไปต่อไม่ได้ ทำ Code รอไว้ก่อน บางจุดที่ผิดมันเล็กนะไม่อย่างนั้นเพื่อนจะไปต่อไม่ได้ให้แบมรอก่อน Code มาก่อนนะคะ ได้รูปเหมือนใบเตยก็รออยู่เหมือนกัน ใบเตยก็อยากให้โปรแกรมตัวเอง Run ได้ กันนะคะ ต่อไปนะคะ ลองแล้วได้ บีลองแล้ว... เต็มหน้าเลย หน้าต่างไหนไม่ใช้จะปิดได้ตะกร้าอยู่ข้างล่างแบบนี้กันแล้วทุกคนหรือยัง จ๊าบได้หรือยัง ทีนี้สิ่งที่เราจะทำต่อไป ก็คือใช้คีย์บอร์ดทำให้ตะกร้าของเราเลื่อนไปทางซ้ายทางขวานึกออกนะ เราจะใช้คีย์บอร์ดในการควบคุมทิศทางนั่นเอง ซึ่งมาดูรูปแบบของคำสั่งเราการกำหนดค่าให้คีย์บอร์ดนะคะ ปุ่ม เด็ก ๆ ต้องดูก่อน ดูคีย์บอร์ดที่เราจะใช้ ก็คือที่มันเป็นลูกศรน่ะลูก ใช้ตรงตำแหน่งนี้นะ อันอื่นมันก็มีค่าค่าของมันทุกตัวเลย คีย์บอร์ดค่าจะเยอะ แต่อันนั้นน่ะ คือ ในระดับ Advance อันนี้เอา Basic ง่าย ๆ นึกออกนะ เพราะ ก็คือให้ตะกร้าเลื่อนไป เลื่อนไปทางซ้ายและทางขวา เพื่อจะไปรับของที่ตกลงมา เพราะฉะนั้นเราจะใช้ควบคุมแป้น 2 ตัวนี้ ที่อยู่ในตรงนี้นะ นี่เห็นไหม คีย์บอร์ดแค่ละตัวนี่ นี่คือค่าคำสั่งควบคุมนะคะ เยอะเลยเห็นไหม เลยเห็นไหมตั้งแต่พยันชนะข้างบน เราสั่ง Keyboard นะคะ เพราะฉะนั้น คือ ให้สอนหมดทุกค่านี่ก็จะยากอยู่นะคะ ก็คือต้องไปทีละสเต็ป เอาหลังการ Basic ก่อน เพราะปกติเล่นเกมปุ่มที่ใช้เล่นเกมก็มีแค่ซ้าย-ขวา บน-ล่าง อะไรแค่นี้ นึกออกนะ ไม่ได้มีอะไรพิสดารนะคะ คีย์ที่เราจะใช้ชื่อ เป็นคีย์ตัวนี้นะคะ เป้นคีย์ตัวนี้ก่อนอื่น ก่อนจะทำให้มัน ให้มันไอ้นี่ได้ เราต้องไปกำหนดตัวแปรนะคะ สำหรับให้ตัวตะกร้าเรามันเคลื่อนไหว เพราะอยู่ดี ๆ ตระกร้ามันเคลื่อนเองไม่ได้อยู่แล้ว มันต้องมีตัวแปร ตัวแปรแรกให้ชื่อว่า posx pos ก็คือมาจากคำว่า "Position" Position x ก็คือตำแหน่ง x ก็คือตำแหน่งที่อยู่ ถ้าเปิดจอ เปิดขอของเรา ให้นึกถึงถ้านี่ส่วนสีส้มคือจอนี่ แกน x บอกแล้วแกนในแนวบรรทัดน่ะ นึกออกนะ แกน Y น่ะ แกน x น่ะเป็นแนวตาบรรทัด แล้วแกน Y ก็คือแกนแนวที่เป็นนี่ลงมา แนวคอลัมน์นั่นเอง แกน y นะคะ ทีนี้อันดับแรก posx บอกตำแหน่งที่... อาจจะมีปรับนะเพราะจาก Code ที่แม่เขียนน่ะ คือ เครื่องที่บ้านแม่น่ะจอเล็ก อาจจะเพิ่ม แรกที่เขียนไว้ตัวแรกแล้วค่อยมาปรับเพิ่ม บอกแล้ว pos_x กับ pos_y ก็คือตำแหน่งของการเคลื่อนที่ของเรา และสำหรับตัวแปร Move Move = 5 ตัวนี้เป็นการเพิ่มค่าการเคลื่อนไหว นั่นหมายถึง คือ พอกดคีย์บอร์ด 1 ทีนะคะ Move ปุ๊บ กด Keyborad 1 ครั้งประมาณ 5 5 ในทีนี้ คือ 5 pixcel นึกออกนะคะ ก่อนอื่นบอกแล้ว เราจะมากำหนดตัวแปร เพราะฉะนั้นไปเลยค่ะ ไปที่... เห็นไหมคะ นี่คีย์ที่เราจะใช้ เห็นไหมคะ คีย์ lEFT กับ Key Right Left ก็คือให้มันไปทางซ้าย Keyboard ไปทางซ้าย สั่งให้เลื่อนไปทางซ้าย ถ้าเราใช้ key นั่นหมายถึง ไปทางขวา นะคะ ตัวแปรแรกนะคะ นะคะ ก็คือตัวแปรที่จะเก็บค่าหรือรับค่า key เห็นไหมคะ ก็จะใส่ชื่อตัวแปร แล้วตามด้วยเครื่องหมายเท่ากับนะคะ ซึ่งตัวแปรของเรา ชื่อตัวแปร key นั่นเอง เพราะเราจะคุม keyboard มันมี 2 ค่า ก็เลยใช้เป็น key s นะคะ ตามด้วยรูปแบบเท่ากับ ไปที่ Sublime ค่ะ ไปที่ sublime ตำแหน่งที่เราจะคีย์ Code นี้ จะอยู่ใน Loop นะคะ อยู่ตรง Loop อยู่ใน Loop ของเรานี่ อยู่ต่อมาจาก อยู่ข้างบนไม่ได้อยู่ต่อ อยู่บน อยู่บน อยู่ก่อนลูบของ...อยู่ก่อน Loop for นี่นะคะ ก็เลื่อน Flow ลงไปนะคะ เห็นหรือยัง เห็นตำแหน่งที่เราจะ Coding หรือยัง เพราะ for ตรงนี้ก็คือเงื่อนไขตอนจบ แต่เรายังไม่จบใช่ไหม เพราะถ้าเราเอาเข้าไปไว้ใต้ pygame.quick น่ะ แต่เราจะให้ตะกร้าทำงานมันต้องอยู่ก่อนจนจบเกมใช่ไหมคะ เพราะฉะนั้น มันต้องอยู่ก่อนตำแหน่ง Coding ของเรา คำสั่งแรก กำหนดตัวแปรชื่อว่าอะไร key นั่นเอง ตัวแปร key นะคะ key = รูปแบบ... พิมพ์ชื่อตัวแปรตามด้วยเครื่องหมายเท่ากับ ตามด้วย Module key.getpress function get_pressed () ก็คือรับค่าจากการกด Get Press ก็คือ กด นะคะ นะคะ พิมพ์ตัวแปรตั้งชื่อว่า Key ตัวแปรนี้สำหรับเก็บ keyboard นั่นเอง Key = นะคะ เครื่องหมาย = py ค่ะ pygame module กด Enter ถ้าอยู่ที่ตำแหน่ง pygame module . อะไร . Key ค่ะ Key Module แล้วก็ตามด้วย .get ค่ะ get แต่เลือกใช้ get ตัวที่ 3 3 Get press ed Getped ก็คือรับคำสั่ง คำสั่งรับค่า รับค่าของการกด pressed แปลว่ากดน่ะ เพราะฉะนั้นเลือก Get press บอกแล้ว Getped เป็นคำสั่งใส่ Function ทันทีใบเตยจำกฎของการ Coding เราได้นะ นึกออกนะ เจอ Module กด Enter เจอ fuction กด Enter ใส่วงเล็บ () ใช่ไหม ไม่ใช่พิมพ์ get._ped ไม่ได้นะหรือเจอ Function แล้วกด Enter เลยนะคะ ต่อไปประกาศตัวแปรแล้วใส่อะไรเพิ่ม มาดูต่อ ต่อมาก็คือ เราจะต้องมากำหนดเงื่อนไข เงื่อนไขเพราะอะไร เพราะอันแรกใช่ไหม มันก็ต้องมาเช็กใช่ไหมคะ เช็กเงื่อนไขว่าไอ้ค่าที่รับน่ะ เห็นไหมคะ key เป็น Key Left หรือ Key Right เป็นซ้ายหรือขวานั่นเองนะคะ อันดับแรก ก็คือใช้คำสั่งอะไรคะ เงื่อนไข ก็คือ if ถ้า Key เห็นไหมคะ เอาตัวแปรนี้ เพื่อให้มันเช็กค่า Key เพราะคำสั่งนี้เพราะถ้าคีย์นี้มีการรับค่าปุ๊บนี่ ถ้า pygame module นี่ key ที่รับเป็น k เป็น Key Left ก็คือถ้าเราไปเราไปกดปุ่มลูกศรซ้าย มันจะไปยังตำแหน่งไหน เห็นไหม ไปตำแหน่งที่น้อยกว่า 0 ทันที แต่ถ้าไม่จริงให้มันกลับไปที่ pos X ลบเท่ากับ =move ลบ move ออก เพราะฉะนั้น ค่าที่บอกแล้วค่าที่เราจะตรวจสอบมี 2 ค่า ก็คือ Key Left กับ Key Right ซ้ายแป้นซ้ายขวานั่นเอง แป้นลูกศรซ้ายขวา เพราะฉะนั้น if ก็จะมี 2 ตัวนะคะ มาดูวิธีการ ก็คือ พิมพ์ชื่อตัวแปรค่า Key นะคะ ตามด้วยชื่อ Module นะคะ แล้วก็ตามด้วย and แล้วก็ระบุตัวแปร ตัวแปรที่จะบอกตำแหน่งนะคะ ที่จะบอกตำแหน่งต่อจากบรรทัด key Tab เข้าไป 1 ครั้ง ให้ตรงกับตำแหน่ง Key แล้วกด if condition เลือก Condition แล้วกด Enter ตำแหน่งแรก if ตามด้วย k key statement กด Enter ปีกกาสีเหลี่ยมนี่ กดอย่างนี้นะคะ กดเปิดแล้วปิด กางปุ่มเปิด-ปิด ปีกกาเล็ก ปีกกาใหญ่ เรียกไม่เหมือนกันสักเจ้า จะสับสนชีวิตกับ Coding นี่ล่ะนี่ล่ะ ปีกกาสี่เหลี่ยมกล้ามปู บางเจ้าเรียกกล้ามปูนะคะ เปิดแล้วปิด จะได้รู้ว่ามีเปิดแล้ว มันต้องมีปิดจะได้ไม่ลืม Key ตามด้วยอะไร py pygame Module กด Enter แล้วก็ตามด้วย . กดผิด ขอโทษ . นะคะ . key ตัวใหญ่ค่ะ เพราะบอกแล้วเรียกใช้ key ตามด้วยเครื่องหมาย _ แล้วก็ L เพราะเราจะใช้ Key อะไรคะ Key Leftเลือก Key left ตัวใหญ่นะลูก เพราะตัวนี้มันจะเป็นค่าของ คีย์บอร์ด ต้องเป็นตัวใหญ่ ที่เรียกใช้ module ใน module pygame น่ะStatement มันจะเป็นตัวใหญ่ เลือก key_left กด Enter LEFT หรือ riGHT ลืม อันแรก Left ใช่ไหม ถูกต้อง เห็นไหมคะ ก้ามปูแล้วตามด้วย key.left แล้วก็ตามด้วย and นะคะ ก็คือบอกให้รู้ว่าถ้า Key ที่กดลงไปนี่ เป็นปุ่มลูกศรไปทางซ้ายปุ๊บนี่ สิ่งที่และ ๆ ๆ ๆ ๆ มีคำว่า "และ" นะคะ และ posX แกน X นี่ น้อยกว่า 0 เมื่อไร นะคะ นี่กำลังอธิบายคำสั่งนี้อยู่นะ ก็คือถ้าเมื่อไหร่ที่ key ที่เรารับเข้าไปนี่เป็นการกดลูกศรซ้าย และตำแหน่งของมันนี่เป็นน้อยกว่า 0-5 น้อยกว่า 0 posX น้อยกว่า 0 นะคะ เราเลย เราเลยนี่ไปหรือเปล่า ไปก่อนหน้าก่อนนะคะ เห็นไหมตรงประกาศตัวแปรเดี๋ยวเราจะเรียกใช้ posx ไม่ได้เดี๋ยวย้อนไปนะคะ อันนั้นค้างไว้ก่อน ไปตำแหน่งประกาศตัวแปรก่อนนะคะ เพราะบอกแล้วเราจะประกาศตัวแปร Pos X Pos Y ลืมข้ามไป ไปที่ตำแหน่งประกาศตัวแปร ตรงนี้นะคะ อยู่ใต้คำ อยู่ตรง Hastag ตัวแปรนะ ตัวแปรแรกที่เราจะประกาศ คืออะไร pos_x ใช่ไหมคะ มี pos_x pos_y posY แล้วก็ move ก็คือ X Y แล้วก็ Move นะคะตัวแปรบอกแล้วว่าต้องพิมพ์ posX ก็คือต้องพิมพ์ Pos X 320 posy= เท่าไรนะ = เท่าไรนะ ประมาณไว้ ลืม 400 เท่ากับ 5 posx=400 400 นะคะ ไม่ใช่ 4,000 และก็อีกตัวหนึ่ง ก็คือ move ตัวแปร Move Move ให้มีค่าเท่ากับ = ก็คือพอกดลูกศร 1 ครั้งนี่ ตำแหน่งการเคลื่นที่มันจะไหลไป 5 ตำแหน่ง อย่างนี้นะคะ เห็นไหมคะ เพราะเมื่อกี้ถ้าเราไปพิมพ์ Code นี่ and pos_x น่ะ มันก็จะงง ต้องมาประกาศไว้ก่อน เสร็จหรือยัง ประกาศตัวแปรเสร็จหรือยังคะ ใบเตยเสร็จหรือยังคะ บีเสร็จหรือยังคะ ประกาศตัวแปรก่อน กด... อธิบายแล้วลืม คีย์ โค้ด สไลด์ โอ.เค. นะ เรามาต่อตรงเงื่อนไขต่อ เลยยังไม่เสร็จ ก็คือพอกดค่าแป้นพิมพ์เป็นลูกศรซ้ายปุ๊บนะคะ และ and คำสั่ง and กด Enter ได้เลย and pos_x po แล้วหาคำว่า "posX" Statement Center น้อยกว่าอะไรคะ 0 นะคะ โอ.เค. ไหม ไปสไลด์ต่อไป นี่นะคะ pos x น้อยกว่า 0 ก็คือตำแหน่ง x น่ะ มันมาอยู่ที่ 0 ปุ๊บ สิ่งที่จะต้องทำ เอา posX ไปลบค่า move ออก เห็นไหมคะ ก็คือ ถ้าเงื่อนไขเป็นตามนี้ปุ๊บ มันจะต้องไปลบ Move ออก ไปลบกับตำแหน่ง Move นะคะ ก็จะเป็นในตรง pass ลบ Press ออกใช่ไหม ใส่ posx Statement Enter เลยนะคะ กดวรรคก่อนนะ วรรค 1 ครั้ง ขอโทษ ๆ กด Space bar 1 ครั้ง ใส่เครื่องหมาย - แล้วก็ตามด้วย = ลบ = move หา Statement move เห็นไหมคะ หา statement move นั่นก็คือตัวแปร Move ที่เราตั้งไว้ กด Enter นั่นคือเงื่อนไขของลูกศรซ้าย เราก็มาเพิ่มเงื่อนไขให้ลูกศรขวา นะคะ กด Spacebar ตำแหน่ง if ให้กับลูกศรซ้ายทันที กด if if condition กด Enter 1 ครั้ง เหมือนเดิมค่ะ ตัวแปร Key Key Stagement กด Enter ตามด้วยก้ามปู แล้วก็พิมพ์เหมือนเดิม pygame module คะ ซ้ายเป็นขวานะคะ key_left เป็น key_Right _ แล้วก็ R ตัวใหญ่ แล้วก็ไปเลื่อนหา Key Right นะคะ เจอ Key_RIGHT แล้วกด Enter ค่ะ เหมือนเดิม ออกจากก้ามปูเรา and เหมือนเดิมนะคะ and Keywordกด Enter ตามด้วยตำแหน่ง ตำแหน่ง คือ pos อะไร ก็ยังเป็น Pos X อยู่ Right ก็คือขวา เห็นไหมคะ มากกว่า 800 ลบ 120 > 800 ก็คือตำแหน่งของบรรทัดน่ะเห็นไหม เพราะมันเป็น แกน X นะ ก็คือมันต้องไปลบออกจากตำแหน่งนั้นน่ะนะคะ pos x กด Enter มากกว่า 800 -120 อย่างนี้นะคะ แล้วลงมาที่ ที่ pas pas เปลี่ยนเป็น posx เหมือนเดิม ถ้าเป็นจริงปุ๊บมันจะทำอะไร posX ตำแหน่งมันจะต้อง statement จะต้องเพิ่มหรือลบ เห็นไหมคะ เพิ่มนะคะ +=move เป็นบวกนะคะ พอกดไปทางขวาน่ะ เพิ่มค่าในการเคลื่อนที่เข้าไป เครื่องหมายบวก (+ฉแล้วก็ตามด้วย move statement move ปุ๊บ กด Enter เห็นไหมคะ เราได้ทำการกำหนดค่าให้คีย์บอร์ดเรียบร้อยแล้ว สิ่งที่จะทำต่อไป เมื่อกี้เพิ่งกำหนดเสร็จนะ ก่อนอื่นเช็กก่อนว่าตำแหน่งการเคลื่อนที่ไปตามที่ กด Ctrl + B กดลูกศรซ้าย-ขวา ยังไม่เลื่อน เพราะตำแหน่งของค่านั้นน่ะ มันอยู่ไม่ตรงนะคะ เดี๋ยวดูจากไหนแทน ดูจากตำแหน่งตะกร้าเราไง เราก็มาแก้ค่าตำแหน่ง pos pos X ตำแหน่งตะกร้า เท่าไร 250 ใช่ไหมกับเดี๋ยว ๆ ตำแหน่งตระกร้าเราอยู่ที่ 700 ลอง pos x เป็น 700 สิ y เราก็ 700 ใช่ไหม ลองดู ลองเปลี่ยนนะคะ ดูตำแหน่งตระกร้าด้วย นึกออกแล้ว นี่ ๆ busket เรา 700 นี่เพราะฉะนั้น เราก็ไปเปลี่ยนค่า posx ดูก่อนนะคะ แล้วกด ctrl + B ใหม่ ไม่เคลื่อน ยังไม่เคลื่อน 700 เดี๋ยวนะ ตรงหรือยัง เด็ก ๆ ดูตำแหน่งดูตามไอ้นี่เราด้วยนะ เดี๋ยวขอดู... สิ่งที่เราจะต้องมาเปลี่ยนนะคะเด็ก ๆ ก็คือ ดูตำแหน่งของตัวนี้ ตัวที่เราเรียกตระกร้า เห็นไหม ตัวที่เราเรียกตะกร้าเห็นไหม เราเปลี่ยนตรง posx แทนค่ะ เพราะเราไปกำหนดค่า pos_x มันจะได้เหมือนกัน โอ.เค. นะ อันนี้ก็จะเป็น pos อะไร pos y ใช่ไหมคะ มาแก้ตรงตำแหน่งของตะกร้าเราด้วย ให้มันตรงกับตำแหน่งตัวนี้ ค่าที่เรากำหนด เห็นไหมคะ 700 ขอ 6 เพราะเมื่อกี้ 700 ก็ยังไม่กางเท่าไรนะคะ ปรับนิดหนึ่ง ขอปรับนิดหนึ่ง ขอปรับค่า posX เป็น 680 แล้วกัน ขอเป็น 680 โอ.เค. Ctrl + B ดูใหม่ เลื่อนไหม เลื่อนแล้ว เห็นหรือเปล่า ไปสุดที่เท่าไรนะ มันไปไม่สุดใช่ไหม สังเกตดูไปทางซ้ายนี่ พอทางขวามันถึงแค่ครึ่งหนึ่ง เราไปแก้ตรง pos key นะคะ นี่ 800 ลบ 120 น้อยไป ลบเท่าไร ลบ 20 พอไหม ขอลอง เพราะไอ้ค่าที่ตั้งมาเป็น อ๋อ รู้แล้ว ๆ ค่า posX เราน่ะใช่ไหม 16 ค่าเต็มมัน 160 เกินรู้แล้ว ๆ ๆ ใช่แล้ว ๆ ๆเห็นไหมคะ ได้ไหม เด็ก ๆ ได้ไหม ความเร็วไม่กระตุกด้วยความเร็วได้นะคะ แต่มันหลุดจอ แต่มันหลุดจอ จะไม่ให้หลุดจอ แก้ตรงที่ ลบ 120 พอ ขอดูไปทาง... ยังหลุดอยู่ 120 ลบเพิ่มอีกนะคะ 150 180 แล้วกัน ขอดูเฉพาะไปทางขวาอีกนิดหนึ่ง 200 เพราะ บอกแล้ว pos X มันจะเลื่อนไปน่ะ ค่าความกว้างของจอเรามัน 1,600 เพราะฉะนั้น เราต้องเอา 1,600 น่ะ ไปลบตรงขอบว่าให้มันไปชนขอบประมาณเท่าไร จอใครจอมันนะคะ ลองลบดูไม่เท่ากันนี่ เห็นไหม 200 ยังหลุดไปนิดหนึ่ง ทางซ้ายนี่ โอ.เค. แล้ว แต่ทางขวาไปไม่สุด ทางขวาสุดเกิน เอาอีกสัก 20 Pixel เอาสัก 220 แล้วกัน โอ.เค. ไหม ขวาได้หรือยัง ได้แล้ว เห็นไหมคะตำแหน่ง x น้อยกว่า 0 นี่ ลบ move 250 แล้วกัน สวยงามตามท้องเรื่อง โอ.เค. ได้แล้ว นะคะ เห็นไหมตระกร้าจะต้องเลื่อน อย่าลืมนะคะ ถ้าไม่เลื่อนเด็ก ๆ ต้องไปเช็กที่ค่ารูปตะกร้าตำแหน่งเปลี่ยนเป็นใช้ตัวแปรที่เรากำหนด ตัวแปร pos x pos yถ้า 700 เราสามารถเลื่อนตระกร้าได้แล้ว ดู ๆ เพราะ ดูนะ 1. ที่ผิดไล่ชื่อไฟล์น่ะ เห็นไหม รูป Background แต่ไปตั้งค่าเป็นรูปตระกร้า ไซซ์ก็เลยไม่เท่ากัน นึกออกไหม ว่าอยู่มันผิดตรงไหนนะหา เพราะฉะนั้น เวลา Code ผิด 1. เช็กชื่อ เช็กรูปนะ ต้องเช็กนะคะ เช็กก่อนว่า เลือกตัวนี้มา แสดงตัวนี้นะไม่ใช่เรียกตัวนี้ไปแสดงอีกตัวหนึ่ง 3-4 รอบก็หาไม่เจอ งงเพราะฉะนั้น ถึงให้บอกว่าเวลาตั้งชื่อน่ะ ดูของตัวเอง อย่ามาดูที่ Code ของแม่สิ ชื่อก็ไม่ตรงกันก็ไม่ถูกสักทีต้องดูไฟล์ ต้องดูไฟล์รูปตัวเองนะคะ เพราะแม่ Save แม่ก็ตั้งชื่อไฟล์ของแม่นะ ไฟล์ใครไฟล์มัน เราต้องเช็กว่าเราจะใช้รูปนี้หรือเปล่า เช็กรูปให้มันตรงมาเช็กขนาด ค่อย ๆ ไล่ไป เคลื่อนหรือยัง ตะกร้าเคลื่อนยัง ตระกร้าไม่ขึ้น มาดูตำแหน่งตะกร้า นี่ basket นี่นี่ ๆ เห็นหรือเปล่า บรรทัดนี้ตรงโชว์รูปตะกร้ายังไม่ได้โชว์ ของบียังไม่ได้โชว์รูปตระกร้าลูก โชว์หรือยัง Run หรือยัง Ctrl + B ได้หรือยัง เลื่อน โอ.เค. นะ อะตอมติดตรงไหนครับ เดี๋ยวขอไล่ไป เครื่องอะตอมกับเครื่องครามน่าจะเป็นคนละเวอร์ชันนะ ตรง = น่ะลูก ถ้าเมื่อใดที่พิมพ์แล้วมันเป็นสีขาวนะ ให้พิมพ์ = เพิ่มอีก 1 ครั้ง ก็คือพิมพ์ == ให้มี == แค่นั้นล่ะ วิธีแก้ โอ.เค. ไหมคะ เพราะฉะนั้น หนูต้องไปไล่เช็กนะ ไล่เช็กว่าพอพิมพ์เข้าไปแล้ว ก็พิมพ์เพิ่ม นึกออกนะ ค่า... เออ นิพจทางคณิตศาสตมันถึงจะทำงานได้นะคะ คือเครื่องอื่นก็พิมพ์ = ครั้งเดียว แต่บางเครื่องของอะตอมกับครามน่าจะเป็นอีกเวอร์ชันหนึ่ง เวอร์ชันไม่ตรงกัน เพราะฉะนั้น ก็พิมพ์เครื่องหมายเท่ากับเพิ่มอีกครั้ง คือ Code บางเวอร์ชันตัวแปรทางคณิตศาสตร์ เวลาค่า ค่า + ค่า - อะไรอย่างนี้ มันก็จะมีใส่ = 1 ตัว ใส่ = 2 ตัวอย่างนี้ค่ะ ก็ใส่เพิ่มเข้าไป นึกออกนะ เหมือนใส่ + ครั้งหนึ่งแล้วไม่ใช่ก็บวกเพิ่ม วิธีแก้ Code ไม่มีอะไรพิสดารมาก เพราะตรงการใส่ค่าเครื่องหมายพวกนี้ เพิ่ม 1 ครั้ง หรือ 2 ครั้ง ก็แล้วแต่เวอร์ชัน โอ.เค. นะ Run ดูสิ Run ดูหรือยังได้ไหม ได้แล้วใช่ไหม เคลื่อนได้ โอ.เค. ปัญหาที่พบอีกแล้วนะคะ นี่ เวอร์ชันของอะตอมกับเวอร์ชันของคามติดปัญหายังไม่ได้เดี๋ยวเราจะแก้หลังชั่วโมงนะคะ ก่อนอื่นคนที่ตะกร้าตระกร้าได้แล้วนะ ได้ตะกร้าแล้ว ทำลูกอมหล่นลงมาทีนี้ให้มันเสร็จจะได้ค่อยแก้ Code ทีเดียว เหมือนเดิมค่ะ ก็ต้องไปอะไรคะ เพิ่มรูปลูกอมเข้ามาใช่ไหม ไปที่ตำแหน่งฉากเกมเรานะคะ ลูกอม ก็คือ Candy นั่นเอง เหมือนเดิม ตัวแปรเหมือนเดิม ชื่อตัวแปรก่อน ประกาศตัวแปร เพื่อที่จะไปโหลดภาพลูกอมมา Candy=pygame Imgage.load เหมือนเดิม .image นะคะ image module lode function () ตามด้วยชื่อ ชื่อรูปลูกเอานะคะ ที่เราจะเอามาใช้ เช่น รูปนี้นะคะ ที่ลูกอมแบบอันเดียวน่ะ เอาสัก 1 อันก่อน ให้มันต้องหล่นสักอันก่อนสิ มันถึงจะไปอันอื่นได้ เอาตัวไหนดีเอาตัวนี้แหละ ไม่มีพื้นหลังนะคะ จะได้เห็นวิธีการ ก็คือคลิกขวา propoty อย่าลืมชื่อและนามสกุลเหมือนเดิมนะคะ เอามาให้หมด เช็กด้วยว่าชื่อภาพตรงหรือยัง อย่าลืมใส่เครื่องหมาย single code หรือ ก่อนนะคะ Oh my god ไปก๊อบอะไรมานี่เดี๋ยว ๆ อันนี้ไม่ใช่ ๆ Copy file นะคะ Copy file มันไปเปิดภาพไหนมานี่ จะก็อบปี้ file ภาพ ชื่อไฟล์นะคะ Candy ของเรามาใช้ Copy แล้วก็เอามาวางตำแหน่งแล้วก็มาวางตำแหน่งที่เราจะไปโหลดไฟล์นั้นมา นะคะ แล้ว โหลดมาแล้ว อย่าลืมมาเรียก ใช้คำสั่ง Blit ใช้คำสั่ง screen blit เหมือนดิscreen build เห็นไหม screen blit พิมพ์เลย screen ชื่อตรงนี้ ตัวแปรตัวนี้ เครื่องตัวเองอาจจะไม่ได้พิมพ์ screen ตามชื่อนี้แบมหรือบีดูด้วย screen.blit เหมือนเดิม เหมือนเดิม Enter ค่ะ แล้วก็ชื่อ candy ของเรา Candy 1 Candy เฉย ๆ นะคะ ชื่อตัวแปรของเราCandy แล้วก็ตามด้วยตำแหน่ง เราจะให้มันอยู่ตรงไหน บน บนสุด ข้างบน เอาตำแหน่ง 00 ไว้ก่อน 0 แล้วก็ 0 นะคะ กด ctrl + B เพื่อดูผลลัพธ์ รูปมันใหญ่ เดี๋ยวจะลง Size เดี๋ยวจะลด Size รูปก่อนนะค ขอไปลด Size รููปก่อน ถ้ารูปภาพใหญ่อย่าลืมลดไซซ์มัน นึกออกนะ ก็ใช้คำสั่ง ตัวแปรเหมือนเดิม ชื่อ Candy เหมือนเดิมนะคะ = pygame Transform scale transform.scale ก็อบมาเลยขี้เกียจพิมพ์แล้ว คำสั่งเดียวกันอยู่แล้วนะคะ ใช้ด้วยกันได้ แล้วก็ตามด้วยวงเล็บใช่ไหมคะ ก็ชื่อตัวแปร candy เรา ทีนี้ทีนี้ขนาดครับ ขนาดที่ให้ขนาดของเจ้าตัวนี้ มันจะต้องเล็กกว่าตะกร้า ตะกร้าเรา 250 100 ลูกอมมันต้องเล็กกว่าไม่อย่างนั้น หล่นลงตะกร้าแล้วมันจะใหญ่เกินใช่ไหม เอาสักเท่าไรดี 100 ไหม 100 กับ50 ให้นึกถึงนะคะ ตะกร้าเราโอ.เค. ไหมลูกอมอยู่นี้โอ.เค. นะ น่าจะหล่นลงมาใส่ตะกร้าแล้วก็ไม่ใหญ่เกินตะกร้าน่ะ หล่นลงมาแล้วพอดีนะคะ ให้ดูขนาดให้มันบาลานซ์กับตะกร้านะ ก็คือดูตำแหน่งตะกร้าเรา ขนาด 250 กับ 100 ใช่ไหม ลูกอมมันก็ต้องเล็กลง ลดไซซ์ลงนะคะอีกที เช็กไซซ์ตระกราก่อน แล้วมาแก้ ก็มาตั้งค่าขนาดลูกอมเราให้มันเล็กลงกว่าตะกร้าทีนี้มันอยู่ข้างบนจะทำให้มันหล่นลงมาจะทำให้มันหล่นลงมา เราจะต้องเพิ่ม... เขาเรียกว่าอะไร จะต้องเรียกใช้งาน Module หนึ่งที่เรียกว่า Module Random คือ Module สำหรับสุ่มอะไร คือ ใน 1 หน้าจอเรา จะปิด ใน 1 หน้าจอเรานี่ใช่ไหม พื้นที่นี่มันเป็น Pixel ใช่ไหม แล้วทีนี้เวลาเราจะให้ลูกอมมันมาปรากฏน่ะ ไม่จำเป็นจะต้องอยการสุ่มค่า ค่าตัวเลขของตำแหน่งนั่นเอง ที่เราจะเอามาใช้งานเปลี่ยนไปเปลี่ยนมา นึกออกนะให้มันสุ่มเรื่อย ๆ จะได้ไม่ซ้ำ เป็นการสุ่มค่าตัวเลขเพื่อจะมาสลับตำแหน่งของการตกการอะไรของลูกอมเรานั่นเองนะคะ เพราะฉะนั้นต้องไปเรียกใช้งาน Module นี้ ในตำแหน่งของการเรียกใช้งานจะอยู่ที่ต่อจาก Import น่ะ ต่อจาก Import นะคะ มันจะอยู่ข้างบนใช่ไหม พวกที่เกี่ยวกับ Module ไปเรียกใช้ Library ต่าง ๆ ส่วนหัวเสมอนะคะ เราก็พิมพ์ Form เลย คำสั่ง form form keyword กด Enter ตามด้วยชื่อ Module นั้น นั้น ก็คือ Random Random module แล้วกด Enter ค่ะ มันรู้เลยจะเรียก module ไหนมาใช้ มันขึ้นมาให้ เราเลือก module Random from random แล้วก็ Import Landisk แล้วก็ตามด้วย import คำสั่ง import เห็นไหมคะ ไปที่ Impoat r-a แล้วเลือก Statement ที่ชื่อว่า เห็นไหม ก็คือการ Random ค่าน่ะ นี่เห็นไหมมันจะมีอธิบายขึ้นมาด้วย ก็คือเป็นการเรียกใช้ Module Module Random นี่เองนะคะ เมื่อเรียกใช้งานมาแล้ว สิ่งที่จะทำต่อไปเราจะต้องสร้างฟังก์ชันเราจะต้องสร้างฟังก์ชัน สำหรับ Function สำหรับนี่ ฟังก์ชันในการเก็บค่าตำแนห่งของลูกอมนะคะ คำสั่งในการสร้าง Function ก็คือ def definition ตามด้วยชื่อ function ตั้งชื่อฟังก์ชันนี้ว่า update candy pos นะคะ ก็คือตำแหน่งของ Candy นั่นเองนะคะ อันดับแรก ๆ ตำแหน่งการประกาศ... อยู่ถัดประกาศตัวแปร นะคะ Function สำหรับของลูกอมเรานั่นเองนะคะ พิมพ์ df พิมพ์ DEF จะอยู่ก่อน ไม่ใช่อยู่ก่อน ต้องอยู่ก่อนนี่ อยู่ต่อจากนี่นะคะ อยู่ต่อจากคำสั่ง อยู่ก่อนเข้า loop นะคะ Def จะอยู่ก่อนเข้า Loop ตามด้วยชื่อ function ก็คือ Update ขอโทษ มือไวไปหน่อย ตามด้วย update _candy _ นะคะ ชื่อฟังก์ชันก็คือ candy pos เพื่อไม่ให้หลงลืมใส่ Hastag เข้าไปก็คือบอกว่าเราสร้าง function สำหรับอัปเดต function ลูกอมเรานะคะ ลูกอมนี่ พอมาตำแหน่งนี้แล้ว ครั้งต่อไปมันไม่ควรอยู่ที่เดิมน่ะ มันต้อง Update นะคะ ก็คือพิมพ์ def definition ตามด้วยชื่อ update_candy Update_candy_pos แล้วกฺ็วงเล็บเปิดปิดมันมีมาอยู่แล้วนะคะ ในส่วนบรรทัดที่ 2 ก็คือ จะเรียกใช้ ก็คือใช้ Goble นะคะ ตามด้วยตัวแปร candy_LEFT Candy LEFT นะคะ แล้วก็กำหนดค่าพวกนี้นะคะ พิมพ์ Global เลย นี่ goble นะคะ เลือกตัวนี้ ตัวแรกนะคะ นะคะ Gobal Keyword ตามด้วยแนว ค่าตัวแปร Y Y Stagement แล้วก็ตามด้วย candy leftอันนี้ตั้งชื่อเองนะ เป็นการตั้งชื่อตัวแปรcandy_ Candy แล้วก็ _ นะคะ rep ก็คือ reply Repeat__x ใช่ไหมคะ มันจะมี 3 ตัว candy left x candy left y เห็นไหมคะ Y+= speed อย่าลืมใส่ comma ใส่ , หลังตัวแปรแต่ละครั้งด้วยนะคะ +=speed speed ตัวแปร speed หมายถึงเราตั้งขึ้นมาเพื่อตั้งควจะเป็นการตกนั่นเองนะคะ speed +speed +=speed+= speed แล้วก็มาบอกว่าให้ค่าของ Candy x + 50 ก็คือเพิ่มค่ามันทีละ 50 ค่ามันจะเพิ่มไปทีละ ตัวนี้พิมพ์ Candy ปุ๊บนะคะ แล้วเลือก statement candy left x = x+50 เหมือนกัน อีกอันหนึ่ง candy left y เท่ากับ y เห็นไหมคะ +50 ก็คือการเพิ่ม เพิ่มค่านี่ ให้เพิ่มทีละ 50 แแล้วทำอย่างไร ตัวนี้ เรายังไม่ได้สร้าง fuction นะคะ ก่อนอื่นเราต้องมาสร้างฟังก์ชัน ชื่อ Intelistcandy ตัวนี้เห็นไหม จะเป็นการสุ่มแล้ว สุ่ม candy นะคะ function นี้ เห็นไหมคะ อินเชลรีสต์ ให้ candy นะคะ ตัวแปรนี้นะคะ วิธีการ วิธีการเราจะมาสร้าง function นี้นะคะ ก็คือก็ต่อจากฟังก์ชัน def function df update นี่ ใส่ hastag ก่อน อธิบายไว้ก่อนก็คือ Function นี้เป็นค่าเริ่มต้นของลูกอมเรานะคะ ก็คือพิมพ์ def de เลือก def ฟังก์ชัน กด Enter ชื่อ Function ก็คือ inshelisifininipialase i-a-l-s-e I-n-i-c-i-a-l-i-s _candy นะคะ แล้วข้างในใส่อะไรเข้าไปบ้าง ในฟังก์ชันประกอบด้วย เห็นไหมคะ ตำแหน่ง x, y และกำหนดเงื่อนไขว่า ถ้า y มากกว่า 500 ก็ไปลบ radian y=0 x ก็คือค่านี้นะคะ ก็คือตำแหน่งของแกน x แกน y ของลูกอมเรานั่นเองนะคะ Gobal เหมือนเดิม Global keyword EnterEnter x x หรือ y x y นะคะ ตัวแปร x ตัวแปร y x y แล้วตามด้วย if statement if condition ถ้า y น้อยกว่า 500 แล้วให้ไปลบ Redient น้อยกว่า 500 ลบ ลบ randisk นะคะ ลบ randisk ลบ ladent lbลบตัวแปรชื่อ rar-a-d-i-u-s radius นะคะ แล้วก็ให้เพิ่ม ให้ y มีค่าเริ่มต้นเท่ากับ 0 และ x redius 0 Randins 0 800 ก็คือตำแหน่งของแกน x แกน y เรานะคะ ค่า y เราเท่ากับ 0 0 ค่า x จะเท่ากับฟังก์ชัน Randius วงเล็บตำแหน่งนะคะ นี่คือตำแหน่ง 0-800 ตามตัวอย่างก่อน เพราะอันนี้คือที่คำนวณมา เมื่อเรามีฟังก์ชันนี้แล้ว ตรง update ตรงอัปเดตเราก็ไปเรียกใช้ function เราย้อนกลับมาที่ Function Update เรา พิมพ์ Function intelist candy ได้เลย ก็คือเรียกใช้มันนะคะ อย่าลืมว่าเมื่อสร้างฟังก์ชันแล้วอย่าลืมเรียกใช้ด้วย ไม่อย่างนั้นมันไม่ทำงานใช่ไหม เรียกตัวนี้แล้วเรียก update candy ด้วย ตัว update candy เราจะเอามาไว้ตรงนี้นะคะ เห็นไหมคะ ตำแหน่งที่ก่อนจะกำหนดค่าของการออกจาก Loop น่ะ นะคะ ก็คืออยู่ต่อจาก Loop อยู่ต่อจากตรงนี้นะคะ loop น่ะ เรียกใช้อัปเดต อัปเดต candy pos function ของเรา กับอีกตัวหนึ่งก็คือ init intelist candy function ของเรา ต้องเรียกใช้ด้วย มันจะสุ่มให้เรา สุ่มการหล่นนั่นเอง ลองดูนะคะ เมื่อเสร็จ คีย์โค้ดนี้เสร็จ เรียกใช้ฟังก์ชันที่สร้างแล้ว กด ctrl + b ดู Error ไหมนี่ line 39 บอกว่า why is not define จะยังไงมันบอกเรายังไม่ได้ Difile มัน Difile แล้วนะครัเลือกเป็น y statement จะไม่รู้จัก ยินดีที่ไม่รู้จัก x y เลือกแล้ว แล้วก็ไหน line 25 เมื่อกี้บอกยังไม่ได้ difine ไม่ได้ Difine เลย Define แล้วนะ ขึ้นเหมือนเดิม ขอลบแล้วใส่ใหม่นะคะ ตัว ซ้ำขอเป็น Y ใหญ่ ตัวใหญ่นะคะ y เล็กเปลี่ยนเป็น Y ตัวใหญ่นะ เป็น Y ตัวใหญ่นะ เหมือนมันซ้ำน่ะ statement มันซ้ำ มันไปจำค่าไหนไม่รู้ ขอเป็น Y ตัวใหญ๋แทน อือ แก้หมดแล้วครับ syntext error Y ใหญ่ก็ไม่ให้ใช้อีก อะไรของเธอ แล้วบอกไม่รู้จักเสียอย่างนั้น อ๋อ รู้แล้วลืม ลืมเครื่องหมาย นี่ไง Name why is not define ทำไมว่ายังไม่ difine ก็นี่ไง Define แล้ว อย่าจ่อจวนกันอย่างนี้สิ ทำไมมันว่าเราไม่ได้ define y นะ ขอใส่ y 1 ดูสิดูสิ y 1 มันบอกเราไม่ difine ไม่ประกาศตัวแปรเหรอ ใช่ รู้แล้ว ข้าพเจ้าผิดเอง เขาก็เตือนเราแล้วใช่ไหม รู้แล้ว เราผิดเองล่ะ ลืมประกาศตัวแปรไปที่ตำแหน่งการประกาศตัวแปรนะคะ เด็ก ๆ เราลืมประกาศตัวแปร นี่ ๆ เพิ่มเข้าไป x=x = y = มันก็ถามแล้ว ก็ลืมนะคะ ค่าตัวแปรตัวแปรของเรา x=Landisk y ค่าเริ่มต้น คือ 0 เลือกใช้ Function นะคะ 0 แล้วก็ ค่า 800 y ค่าเริ่มต้น 0 \ดูสิ error ไหนอีก บรรทัดที่ 41 คืออะไร 41 Name speed is not defint หา speed ไม่เจอ บวกเท่ากับ speed speed ให้ +5 นะคะ แล้วก็เดี๋ยว candy left y candy left หาไม่เจอถ้าอย่างนั้นประกาศ left x = 50 condy y + 50 แล้วก็ speed = 5 นะคะ แล้วเพิ่มเข้าไป เรามีตัวแปรให้เพิ่มขึ้นมาอีก 3 ตัวนะคะ จากตัว x y candy left x candy ครบแล้ว แล้วก็ Radine ด้วยนะคะ อีกตัวหนึ่ง ตัวแปร radian ด้วยอีกตัวหนึ่ง ใส่ให้ครบ ๆ ไม่ครบไม่รู้จัก ลืมไปนึกว่าประกาศแล้ว บรรทัดที่ 46 Candy ต่างหากไม่ใช่ cardy ชื่อผิด ชีวิตเปลี่ยนกันเลยทีเดียวเชียว มันพิมพ์อะไรผิดนี่ ไม่หล่น ไม่หล่น ๆ ยังไม่หล่น เนื่องจากตำแหน่งน่าจะผิด ค่าตำแหน่งRadient 0 800 คือ บรรทัด ของเราถูกต้องตรงกันแล้ว น่าจะผิดนะคะ ตำแหน่งแกน ยังไม่หล่น ตำแหน่ง Candy น่าจะผิด 500 น้อยกว่า 500 ขอเพิ่ม ถ้า Y น้อยกว่า 500 ขอเปลี่ยนนะคะ ขอเปลี่ยน ยังไม่ได้ เพราะบอกแล้วตัวเลข คือ ที่เซ็ตมามันเป็นค่าจากที่บ้าน มันก็จะเป็นเดี๋ยวนะ speed + 5 speed + 5 rediun 0 0 x x x เริ่มที่ 0 800 ก็เท่ากับจอเราอยู่นะ เท่ากันอยู่ y y ก็ 0 เพิ่มทีละ 50 radian หรือ ขอดู radian หน่อยนะคะ ขอเปลี่ยน ยังไม่ล่วง ๆ รัสมีมันไม่ได้น่ะ Radian ก็คือรัศมีวงกลมจะอยู่ที่เท่าไร 200 ไหม มันก็กว้างอยู่นะ 1,600 หรือ ยังไม่หล่น เดี๋ยวยังไม่ได้ตำแหน่งของลูกอมในจอนี้จอเดิม x y ลืมแก้ตรงนี้ รู้แล้ว วิ่ง... เดี๋ยวนะ เดี๋ยวนะ เดี๋ยว ๆ ๆ รู้แล้ว เด็ก ๆ ตรง screen build เห็นไหมตรงเลือกใช้ candy น่ะค่ะ เพราะว่าเรากำหนดเป็นตัวแปร x, y แล้ว เพราะฉะนั้น จะมาแก้ที่ตัวแปร x 800 เหมือนเดิมสิ อันนี้ก็ 100 เหมือนเดิม ขอใหม่ 500 น้อยไปใช่ไหม มันไม่ลงมาสุดนะ มันไม่ลงมาสุดเห็นไหมมันอยู่แค่ สังเกตตำแหน่ง มันอยู่แค่ส่วนบนนะคะ เราต้องนึกถึงบรรทัดเรามันอยู่ล่างเพราะฉะนั้นเราต้องให้มันลงมาถึงข้างล่างด้วยนะคะ ดูตำแห่งแกน x แกน y เราดี ๆ Position ค่าที่เพิ่ม ปุ๊บ เพิ่มทีละ 50 แต่ลงมาจนถึงแค่เท่าไรนะ 200 น้อยไป ของเราเท่าไร 1,000 เท่าไร 800 หรอ ขอลองเปลี่ยนเป็น 800 ใช่ แต่เร็วไปไหม มันได้แค่เท่าไรนี่ ครึ่งจอใช่ไหม หายไปครึ่งหนึ่ง ครึ่งหนึ่งหล่นมาครึ่งหนึ่ง เดี๋ยวนะแกน x แกน x แกน X 800 ถูกแล้ว speed 5 เร็วไป ลดสปีด เพิ่มสปีด y เริ่มที่ 0 ขอเปลี่ยน ลองเปลี่ยนตรงนี้หน่อยเป็นอย่างไร 1,800 เดี๋ยวมันเป็น 1,600 10 ก็ยังเร็วอยู่นะนี่ ตาลายมากเลย speed เร็วไป speed ให้มันช้าลงนี่เท่าไร 50 ไหม ขอดู speed ก่อน ค่าเยอะ ยิ่งเร็วหรอเดี๋ยวนะ ความเร็ว 1 ต้องเลขน้อย เลขเยอะผิด เมื่อกี้ 5 ก็เร็วไปนะ สัก 2 นะ 3 ไหม กลาง พบกันครึ่งทาง ไปกดโดนอะไร มือไวอยู่เรื่อย Ctrl + B นี่แล้วคืออะไร ตอน Test อยู่บ้านน่ะ คือ ค่า speed ตั้งมา 5 น่ะ หล่นพอดีเลยนะ ไม่ใช่อะไร เดี๋ยวจะไปรับไม่ทัน ใช่หรือเปล่า ไอ้นี่จะไปรับไม่ทันถ้า Speed มันเร็วน่ะ ยกเว้นว่าพอด่านต่อไปค่อยไปเพิ่ม speed เพราะฉะนั้นก็ให้นึกถึง speed ช้าหน่อย speed ช้าหน่อยก็ 2 left_x นี่ left y เดี๋ยวนะ radian 800 ก็เท่าเดิมนั่นล่ะ y หาย เดี๋ยวนะ 0 เดี๋ยวนะ x คือ แนวนอน ก็ 800 ถูกแล้ว แต่มันสุดอยู่ที่ครึ่งเดียว มันต้องเป็นเท่าไร 1,000 นะคะ อันนี้ 800 ถูกแล้ว ประมาณนี้เห็นไหมคะ ตำแหน่งที่ตกน่ะ เพิ่มไป y มันต้องเพิ่มไป xใบเตยน่ะมันติดตรง Patch มันไม่ถูกตอนนี้ ผิดตรงไหน Error ตรงไหย เดี๋ยวโอ.เค. นะคะ สำหรับโค้ดของวันนี้น่ะ หมดที่ตรงนี้แล้ว เดี๋ยวที่เหลืออาจารย์ไปตรวจที่เด็ก Error นะคะ เพราะการตกของลูกอมตกแล้วตามที่เราต้องการนะคะ ก็เดี๋ยวไปแก้ Error ของแต่ละเครื่อง ขอบคุณพี่ล่ามก่อนเด็ก ๆ ขอบคุณค่ะ [สิ้นสุดการถอดความ] [สิ้นสุดการถอดความ]