หลักๆก็จะแบ่งส่วนการทำงานเป็นสามส่วน คือ
1. ส่วนที่เก็บข้อมูลของแต่ละdot และจัดข้อมูลเป็นpackage ก่อนส่งให้ controller
2. ส่วนTCP serverเพื่อให้มือถือทำหน้าที่เป็นhost สำหรับจ่ายpackageให้แต่ละclientที่เชื่อมต่อเข้ามา(Node mcu)
3. ส่วนGUIเพื่อตกแต่งให้โปรแกรมสวยงามและใช้งานง่าย รวมถึงโปรแกรมเบื้องหลังที่ช่วยในส่วนการแสดงผล (prefab,raycast,etc.)
Package Manager
ในส่วนแรก หลักการทำงานคร่าวๆคือ เราจะให้1dot เป็น 1object ซึ่งจะเก็บค่าว่าเป็นสีดำหรือสีขาว(1 or 0)จากการวาดรูป ทีนี้จะให้นั่งจัดตำแหน่งแต่ละdotก็จะลำบากเกินไป เราจะใช้การสร้างตัวโคลนของobjนั้นขึ้นมาแทน ซึ่งลองศึกษาต่อได้ในเรื่องการทำprefabในunity (สมเป็นengineสำหรับสร้างเกมจริงๆ เครื่องมือมีครบ 55+ แต่ต้องศึกษานานหน่อย) เมื่อมีตัวแปรเก็บค่าแล้วก็จะเอามาเรียงต่อกันเป็นตัวแปรstringโดยจะแยกตามจำนวนบล็อก(9บล็อค) เตรียมไว้ใช้ต่อสำหรับส่งให้client
Tcp Server
ส่วนที่สองจะทำหน้าที่เปลี่ยนตัวอุปกรณ์ให้เป็นserver สำหรับติดต่อสื่อสารในวงlan และคอยควบคุมจัดการclientที่เชื่อมต่อเข้ามา ซึ่งตรงนี้จะเป็นปัญหาพอสมควร(55+) เพราะunityไม่สามารถตอบโจทย์ความต้องการได้ดีเท่าไร จึงต้องใช้standard libraryของภาษาC#มาเขียนโค๊ดเองโดยตรงดีกว่า
GUI
ที่เหลือก็เป็นการเขียนโค๊ดตกแต่งแล้ว (อิอิ) หลักๆก็จะเป็นการดักบั๊กที่อาจจะเกิดขึ้น มีการเปลี่ยนซีน มีปุ่มดินสอยางลบ การเปลี่ยนสีของแต่ละdot รวมถึงรายละเอียดเล็กน้อยอื่นๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น