With all your imperfections, you can do anything.
Group Blog
 
<<
ธันวาคม 2558
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
14 ธันวาคม 2558
 
All Blogs
 

การเขียนโปรแกรม ช่วยให้เรียนรู้ชีวิต

เคยเรียนเขียนโปรแกรมมานิดๆ หน่อยๆ ตอนปริญญาตรี

เป็น Visual Basic ออกแนวเป็นเนื้อหาแถมจากวิชาคอมพิวเตอร์
โดยปกติเป็นคนชอบเล่นเกมส์ ก็เลยอยากลองทำเกมส์ดูบ้าง
ที่คิดได้แบบง่ายๆ ก็คือ เกมเขาวงกต โดยใช้ Visual Basic ใน Excel
คล้ายหนังเรื่อง Maze Runner มีตัวโศกา (แมงมุม) เป็นศัตรูเราที่อยู่ในเขาวงกต
ขั้นตอนของโปรแกรมก็คือ
1. ให้โปรแกรม Random สร้างผนัง (Border) ภายในเขาวงกต
2. ให้โปรแกรมค้นหาเส้นทางที่จะไปถึงจุดหมาย



3. กรณีที่ผนังมันปิดกั้นเส้นทางหมด ต้องให้คนลบผนัง (Border) แบบ Manual เสร็จแล้วค้นหาเส้นทางต่อไปเรื่อยๆ จนถึงจุดหมาย
4. กดปุ่มเริ่มเล่นได้เลย



กว่าจะสร้างได้ ก็เปลี่ยนรูปแบบการคิด (Algorithm) ไปหลายรอบเหมือนกัน
โดยเฉพาะการเดินวนหาเส้นทางในเขาวงกตแบบอัตโนมัติ ซึ่งมี 2 ส่วน
1. ขั้นตอนค้นหาเส้นทางหลังสร้างผนังเขาวงกต
2. เส้นทางการเดินของตัวโศกา
เป้าหมายคือต้องทำให้มันเดินกินพื้นที่เขาวงกตให้มากที่สุด ไม่ให้มันติด เดินวนอยู่ในช่องหลืบ

ตอนแรกผมให้โปรแกรมค้นหาเส้นทางแบบ Random ทั้ง 4 ทิศทุกครั้งที่เดิน
แต่ก็รู้สึกว่า Code มันออกจะเทอะทะไป ดูไม่สวยงาม
เลยนึกถึง Algorithm ของเกมส์ Pacman
นั่นคือ ให้ตัวโศกาเดินตรงไปเรื่อยๆ เมื่อเจอผนังค่อยเลี้ยวไปทางอื่น
แน่นอนละครับว่า Code มันเขียนน้อยลง และดูเหมือนว่า เส้นทางการเดินน่าจะกินพื้นที่เขาวงกตได้มากขี้นด้วย เพราะมันเน้นเดินทางตรงแบบยาวๆ เลย ถ้าใช้วิธีเก่าแบบของผม มันอาจเดินวนกลับที่เดิม เพราะมัน Random ทุกขั้นตอน

ณ จังหวะนั้นรู้สึกเสียความมั่นใจไปเลยครับ
ออกแนว ทำไมตัวเองถึงได้โง่อย่างนี้
คิดเยอะ ทำเยอะกว่า แต่ไม่มีประสิทธิภาพ

ผมเอาแนวคิดของ Pacman ไปเขียนเส้นทางเดินของโศกา
เขียนเสร็จ ก็เขียนโปรแกรมค้นหาเส้นทางแรกเริ่มต่อ
ตรงจุดนี้ ผมลองเปรียบเทียบดู
กลายเป็นว่า วิธีเก่าของผมกลับได้ผลดีกว่าวิธีของ Pacman
อาจเป็นเพราะว่าเขาวงกตของผมมันมีซอกหลืบมาก
การ Random ทุก Step ที่เดินคงได้ผลดีกว่า

เรื่องนี้สอนให้รู้ว่า...
ความคิดหน่ะ มันจะถูกหรือผิด ขึ้นอยู่กับสถานการณ์
สิ่งที่คุณเคยคิดว่ามันผิด อาจเป็นสิ่งที่ถูก
สิ่งที่คุณเคยคิดว่ามันถูก อาจกลายเป็นสิ่งที่ผิดก็ได้




 

Create Date : 14 ธันวาคม 2558
1 comments
Last Update : 14 ธันวาคม 2558 0:14:02 น.
Counter : 857 Pageviews.

 

ดูจะยากจังค่ะ
ไม่ถนัดแนวนี้เลย
ขอบคุณสำหรับความรู้ใหม่ค่า

 

โดย: lovereason 14 ธันวาคม 2558 23:08:40 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 


Dragonfly7Colors
Location :
กรุงเทพฯ Thailand

[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 9 คน [?]




Friends' blogs
[Add Dragonfly7Colors's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.