วันที่ 28 ธันวาคม 2555 วันนี้ขโมยเวลาสอนของนักเรียน 1 ชั่วโมง มานั่งทำโปรแกรม C/C++ robot simulator โดยเพิ่มเติมในส่วนต่อไปนี้
*การอ่านค่าสีของวัตถุที่อยู่ด้านหน้าของหุ่นยนต์หรือวัตถุที่ถูกชน โดยเพิ่มคำสั่งในการอ่านค่า analog(8); คืนค่ามาเป็นค่าสีต่าง ๆ
ดำ ประมาณ 0 - 20
ขาว ประมาณ 1000 - 1024
แดง ประมาณ 520 - 550
เขียว ประมาณ 350 - 370
น้ำเงิน ประมาณ 160 - 180
*คำสั่ง lcd ปรับและแก้ไขให้เหมือนชุดคำสั่งของหุ่นยนต์ inex และซีทั่วไป
โดยรูปแบบการใช้งานใช้ lcd (string text , param );
เช่น lcd ( " pa0 = %d " , analog(0) );
หรือ lcd ( " pa0 = %d pa1 = %d " , analog(0), analog(1) );
*การโหลด map หรือสนามจะที่อื่นๆ หรือสนามจากการสร้างขึ้นเองจากโปรแกรมใด ๆ ที่สามารถสร้างรูปประเภท png , jpg , bmp
*การซุ่มวัตถุทรงกลมสีต่าง ๆ โดยแยกเป็นชุดสี ดำ-ขาว ซุ่มกันเองคือสลับตำแหน่งเฉพาะสีขาว-ดำ และซุ่มเฉพาะสี แดง เขียว น้ำเงิน
โดยแก้ให้ซุ่มหรือไม่ซุ่มได้จากไฟล์ .pos ในส่วนของ random =0 คือไม่ซุ่ม random =1 คือซุ่ม
*การชนวัตถุทรงกลมให้มีความเหมือนจริง คือคำนวณจากพิกัดทิศทางการชนให้สะท้อนไปยังทิศทางต่าง ๆ คล้ายกับลูกสนุ๊กเกอร์
*เพิ่มฟังก์ชันการ debug โปรแกรมระัหว่างเขียนและทดสอบโปรแกรม
*ปรับเอนจินการแสดงผลให้เร็วขึ้น ( CPU จะถูกโหลดการทำงานมากขึ้นประมาณ 30 %)
*ระหว่างที่มีการแก้ไขโค๊ดในส่วนของ Editor หรือมีการหยุดการทำงานของหุ่นยนต์ (stop simulator) จะให้มีการแสดงผลในส่วนหน้าจอกราฟฟิกของตัวจำลอง ให้มีอัตราการ refresh น้อยลงเพื่อลดการประมวลผลในส่วนของกราฟฟิกแต่เมื่อมีการ run simulator ปรับความเร็วขึ้นเพื่อให้ดูลื่นไหล
*ปัญหาตอนนี้คือ เอนจินทำเองอาจจะมีการกระตุกบ้างถ้ามีการเปิดโปรแกรมอื่นขึ้นมาเยอะสำหรับเครื่องที่ไม่แรงเท่าไร (โอกาสต่อไปถ้ามีเวลามากกว่านี้ คงจะต้องพึ่งเอนจินของ xna อย่างแน่นอน)
ต่อไปก็เป็นการทดสอบโปรแกรมโดยให้เด็ก ๆ ช่วยเป็น debuger อันนี้ผลงานเด็ก ม.1 เล็ก ดช.อภิสิทธิ์ บุญทูล นะครับ เป็นหนูทดลองช่วยทดสอบโปรแกรม simulator ให้ (ไปแอบจับภาพหน้าจอตอนที่เขากำลังเขียนโปรแกรมทดสอบ) ดูไปดูมาเก่งกว่าครูคนสร้างโปรแกรมซะอีก ครูบอกว่ามันต้องอย่างนี้ แต่เด็กมันบอกว่าครูครับ ผมทำแบบนี้มันก็ได้นะครับครู !! เออ... จริงของเด็กทำเอาครูทึ่ง พัฒนาการเร็วมากเลย.. สงสัยอนาคตไปไกลกว่าครู
วิดีโอถูกปรับ speed ขึ้นอีก 15% เพื่อให้กระชับกับเวลา และวิธีการเขียนโปรแกรมบางอย่างดูมั่ว ๆ ตามประสาเด็กเอย
อีกชุด
ครูมนตรี อกอุ่น ผมขอโปแกรมหน่อยได้รึเปล่าครับ ผมกำลังอยากจะศึกษาการเขียนโปรแกรมแบบ C ดูครับ ขอบคุณมากนะครับ
ตอบลบkittipong_mail1@hotmail.com