คลิปการสร้าง Interface
Thursday, December 11, 2014
Interface
เมื่อต้องการให้มี Class หลายๆคลาสที่มี Method รูปแบบเดียวกัน เราไม่จำเป็นต้องสร้างทุก Class และเขียนใหม่ทั้งหมด แต่จะใช้การสร้าง Interface ทำให้มีแม่แบบของ Class ไว้เป็นหลัก จากนั้นจะสร้างการ Implement interface ให้กับคลาสที่ต้องการก็จะได้ Class ที่มี Method รูปแบบเดียวกันเหมือนแม่แบบ
Friday, December 5, 2014
Mouse Event
เป็นหลักการสร้าง Event ของ Mouse 3 แบบ ได้แก่ Mouse Down , Mouse Move และ Mouse Up ซึ่งจะต้องทำการเซ็คสร้าง event
Thursday, December 4, 2014
User Control
ในการออกแบบ User Interface (UI) จะมีเครื่องมือที่มาช่วยในการออกแบบนั่นคือ User Control หลักการใช้ User Control มีดังคลิปต่อไปนี้
จากในคลิป สิ่งที่ต้องการทำคือ แสดงผลของการพิมพ์ข้อความ '1234' ใน text box หลังจากที่กดปุ่ม get_text จะปรากฏข้อความ '1234' อยู่ด้านล่างปุ่ม get_text
วิธีการทำ
1. จากโปรแกรม Visual Studio สร้าง Project C# โดยเลือกโหมด Windows Form Application
2. สร้าง User Control โดยคลิกขวาที่ชื่อโปรเจค > Add > New Item... > User Control จากนั้นจะปรากฏอีกหน้าต่างของ User Control
ใส่ภาพที่ต้องการ เลือกจาก Tool Box เลือก Picture Box เพื่อทำสร้างพื้นที่ขอบเขตการเปลี่ยนรูป จากนั้นกำหนดพื้นของรูปที่จะปรากฏให้ปรากฏเต็ม User Control โดยเลือก Properties > Dock > Center และเปลี่ยนรูปตามต้องการ
นำกล่องข้อความ Text Box จาก Tool Box มาใน User Control ไว้สำหรับคีย์ข้อมูลที่ต้องการ
และ Label สำหรับการตั้งชื่อของกล่องนี้ เพื่อทำให้ User ทราบ
3 . หลังจากสร้างองค์ประกอบของ User Control สำเร็จ เราจะลากเข้ามาในหน้า Form โดยเลือกที่ Tool Box ด้านบนสุดจะมี ชื่อของ User Control ที่สร้าง ต่อมาสร้าง button ไว้สำหรับการกดเพื่อแสดงค่าที่พิม และ label เป็นตำแหน่งที่จะแสดงค่า
ให้คลิกขวาไปที่ User Control เลือก View Code สร้างฟังก์ชั่นชื่อ getUserControlText() ภายในฟังก์ชั่นเป็นการ return ข้อความของ Text Box ที่อยู่ใน User Control จากนั้น double click ไปที่ button1 ในหน้า Form1 พิมพ์ (ชื่อของlabel1ที่ต้องการแสดงค่า).Text = (ชื่อของ User Control).getUserControlText() เพื่อกำหนดให้ label1 แสดงค่าตามฟังก์ชั่น getUserControlText() ซึ่ง return ข้อความใน Text Box
ภาพแสดงโค้ดของ Form1 เหตุการณ์ Click
ภาพตัวอย่างแสดงผลลัพธ์
วิธีการทำ
1. จากโปรแกรม Visual Studio สร้าง Project C# โดยเลือกโหมด Windows Form Application
2. สร้าง User Control โดยคลิกขวาที่ชื่อโปรเจค > Add > New Item... > User Control จากนั้นจะปรากฏอีกหน้าต่างของ User Control
ใส่ภาพที่ต้องการ เลือกจาก Tool Box เลือก Picture Box เพื่อทำสร้างพื้นที่ขอบเขตการเปลี่ยนรูป จากนั้นกำหนดพื้นของรูปที่จะปรากฏให้ปรากฏเต็ม User Control โดยเลือก Properties > Dock > Center และเปลี่ยนรูปตามต้องการ
นำกล่องข้อความ Text Box จาก Tool Box มาใน User Control ไว้สำหรับคีย์ข้อมูลที่ต้องการ
และ Label สำหรับการตั้งชื่อของกล่องนี้ เพื่อทำให้ User ทราบ
3 . หลังจากสร้างองค์ประกอบของ User Control สำเร็จ เราจะลากเข้ามาในหน้า Form โดยเลือกที่ Tool Box ด้านบนสุดจะมี ชื่อของ User Control ที่สร้าง ต่อมาสร้าง button ไว้สำหรับการกดเพื่อแสดงค่าที่พิม และ label เป็นตำแหน่งที่จะแสดงค่า
ภาพแสดงองค์ประกอบที่อยู่ใน Form1
4. สร้างเหตุการณ์จากการคลิกปุ่ม button1ให้คลิกขวาไปที่ User Control เลือก View Code สร้างฟังก์ชั่นชื่อ getUserControlText() ภายในฟังก์ชั่นเป็นการ return ข้อความของ Text Box ที่อยู่ใน User Control จากนั้น double click ไปที่ button1 ในหน้า Form1 พิมพ์ (ชื่อของlabel1ที่ต้องการแสดงค่า).Text = (ชื่อของ User Control).getUserControlText() เพื่อกำหนดให้ label1 แสดงค่าตามฟังก์ชั่น getUserControlText() ซึ่ง return ข้อความใน Text Box
ภาพแสดงโค้ดภายใน User Control สร้าง ฟังก์ชั่น Return Text
ภาพแสดงโค้ดของ Form1 เหตุการณ์ Click
เมื่อเสร็จการ Code ให้กด Start ก็จะได้ผลลัพธ์จุดประสงค์ตามข้างต้น
Saturday, November 1, 2014
คำแนะนำพี่ TA วันศุกร์ที่ 31 ตุลาคม 2557
สรุปการปรึกษา วันศุกร์ที่ 31 ตุลาคม 2557
- อธิบายคร่าวๆเกี่ยวกับเรื่อง Class
- แนะนำให้ใช้ List แทนการใช้ Array ปกติ
- แนะนำเกี่ยวกับ n-ary Tree เพื่อนำมาใช้เป็นรูปแบบของ Block โดยศึกษาจากเว็บ
https://www.safaribooksonline.com/library/view/c-cookbook/0596003390/ch10s07.html
- อธิบายคร่าวๆเกี่ยวกับเรื่อง Class
- แนะนำให้ใช้ List แทนการใช้ Array ปกติ
- แนะนำเกี่ยวกับ n-ary Tree เพื่อนำมาใช้เป็นรูปแบบของ Block โดยศึกษาจากเว็บ
https://www.safaribooksonline.com/library/view/c-cookbook/0596003390/ch10s07.html
Thursday, October 30, 2014
ความคืบหน้า วันพฤหัสบดีที่ 30 ตุลาคม 2557
1. วิธีการ drag and drop ศึกษาจากคลิปวีดีโอดังต่อไปนี้
2. design โปรแกรมแบบคร่าวๆ
- การทำงานภายใน
3. เว็บที่ใช้ศึกษา C#
Saturday, October 18, 2014
คำแนะนำพี่ TA วันศุกร์ที่ 17 ตุลาคม 2557
สรุปการปรึกษา วันศุกร์ที่ 17 ตุลาคม 2557
- เริ่มสอบfinalตอน 26 พย ถ้านับอาทิตย์หน้าเป็นอาทิตย์แรก จนถึงอาทิตย์ก่อนสอบ 1 อาทิตย์ (อาทิตย์สอบอ่านหนังสือ) จะมีเวลา 5 สัปดาห์ และ 15 ธค เปนวันpresent project ดังนั้นเรามีเวลาอีกหลังจากสอบfinalอีก 1อาทิตย์
- ใช้โปรแกรม Virtual Studio เขียนโค้ด
- ใช้ภาษา xaml ในการสร้างพวกปุ่มต่างๆ / C# สร้างการ drag and drop บลาๆ
อาทิตย์หน้าให้แบ่งงานกันลองไป
1. design ปุ่มที่คิดว่าเป็นไปได้
2. หาวิธีการ drag and drop
- เริ่มสอบfinalตอน 26 พย ถ้านับอาทิตย์หน้าเป็นอาทิตย์แรก จนถึงอาทิตย์ก่อนสอบ 1 อาทิตย์ (อาทิตย์สอบอ่านหนังสือ) จะมีเวลา 5 สัปดาห์ และ 15 ธค เปนวันpresent project ดังนั้นเรามีเวลาอีกหลังจากสอบfinalอีก 1อาทิตย์
- ใช้โปรแกรม Virtual Studio เขียนโค้ด
- ใช้ภาษา xaml ในการสร้างพวกปุ่มต่างๆ / C# สร้างการ drag and drop บลาๆ
อาทิตย์หน้าให้แบ่งงานกันลองไป
1. design ปุ่มที่คิดว่าเป็นไปได้
2. หาวิธีการ drag and drop
Wednesday, October 15, 2014
วางแผนโปรเจค
วันศุกร์ที่ 10 ตุลาคม 2557
นัดพบกับรุ่นพี่TAเพื่อนัดคุยวางแผนการทำโปรเจคครับ จากนั้นจะต้องหา
1. สิ่งที่จะใช้พัฒนาsoftware เช่น ภาษาที่ใช้ , โปรแกรมที่จะพัฒนา
2. แบ่งงาน / แผนคร่าวๆ
3. gantt chart ไม่ต้องละเอียด
4. นำ URL ของ blog เอาURLให้พี่ / ให้ใส่ชื่อกลุ่ม สมาชิก / โพสต์การกระทำในแต่ละครั้ง
รายงานพี่TAในอาทิตย์ถัดไป
นัดพบกับรุ่นพี่TAเพื่อนัดคุยวางแผนการทำโปรเจคครับ จากนั้นจะต้องหา
1. สิ่งที่จะใช้พัฒนาsoftware เช่น ภาษาที่ใช้ , โปรแกรมที่จะพัฒนา
2. แบ่งงาน / แผนคร่าวๆ
3. gantt chart ไม่ต้องละเอียด
4. นำ URL ของ blog เอาURLให้พี่ / ให้ใส่ชื่อกลุ่ม สมาชิก / โพสต์การกระทำในแต่ละครั้ง
รายงานพี่TAในอาทิตย์ถัดไป
Tuesday, October 14, 2014
Easy AI For Game
สำหรับโครงงานนี้ มีจุดประสงค์เพื่อเปลี่ยนการบังคับรถถัง ในเกม Robocode เปลี่ยนจากการเขียนโค๊ดซึ่งบังคับหุ่นยนต์ภาษา Java แบบปกติ กลายเป็นเป็นการลากปุ่มคำสั่งต่างๆไปวางแทน เป็นประโยชน์ต่อผู้ใช้ไม่ต้องศึกษาการเขียนโค๊ดและภาษา Java เอง และสามารถเข้าใจโปรแกรมได้ง่ายมากขึ้น
Robocode คืออะไร?
Robocode
เป็นโปรแกรมเกมสำหรับการแข่งขันระหว่างหุ่นยนต์รถถัง ระหว่าง 2 ฝ่ายหรือมากกว่านั้น ตัวโปรแกรมเป็นลักษณะ Open source สามารถแก้ไขโค้ด Java เพื่อเขียนบังคับหุ่นยนต์ให้มีลักษณะเป็น AI ได้ เช่น ถ้ารถถังแสกนเจอตำแหน่งของฝ่ายตรงข้าม ให้ทำการยิ่ง 1 ครั้งและเคลื่อนที่ไปทิศเหนือ 100 หน่วย ถ้ารถถังชนกำแพงให้ถอยออก50หน่วย และเลี้ยวซ้ายไปแทน เป็นต้น
วิธีการเล่น
ต่างฝ่ายเขียนโค้ดบังคับให้แก่หุ่นยนต์ของตน โดยแต่ละฝ่ายย่อมไม่รู้โค้ดของอีกฝ่าย จากนั้นจับหุ่นยนต์มา Battle ให้อยู่บนสนามรบที่กำหนด และปล่อยให้หุ่นยนต์ได้ต่อสู้กัน ฝ่ายใดพลังหมดก่อนจะแพ้ไป ฝ่ายที่ชนะจะยังมีพลังชีวิตเหลืออยู่บนสนาม
ภาพตัวอย่างโคดภาษา Java ควบคุมหุ่นยนต์
ภาพรถถังแข่งขันกัน ตรงกลางเป็นสมรภูมิที่ลักษณะเป็นสี่เหลี่ยม
ด้านขวาเป็นแถบชื่อและพลังชีวิตที่เหลือ ถ้าหากพลังหมดจะแพ้ไป
ด้านขวาเป็นแถบชื่อและพลังชีวิตที่เหลือ ถ้าหากพลังหมดจะแพ้ไป
จุดประสงค์ของโปรเจค
จากที่กล่าวมาจะเห็นได้ว่า เมื่อเราจะทำการควบคุมให้กับหุ่นยนต์ เราต้องเขียนโค้ดเพื่อสั่งมัน สำหรับโปรเจคนี้เราจะเปลี่ยนจากโค้ดกลายเป็นปุ่มแทน และบนปุ่นจะมีคำสั้นๆให้ User เข้าใจได้ง่าย ซึ่งมีประโยชน์ต่อ User ไม่จำเป็นต้องศึกษาภาษา Java การเขียนโปรแกรมก่อน ก็สามารถเล่น Robocode ได้
ตัวอย่างเช่น เมื่อต้องการสั่งให้หุ่นยนต์เคลื่อนไปด้านบน 100 หน่วย เราจะเปลี่ยนจากการเขียนโค้ดให้เคลื่อนตำแหน่งไปด้านบน 100 หน่วย เป็นปุ่มที่เขียนว่า เคลื่อนที่ไปด้านบน 100 หน่วยแทน ผู้ใช้เพียงแค่ทำการลากปุ่มไปยังตำแหน่ง และลำดับคำสั่งตามต้องการ
ตัวอย่างเช่น เมื่อต้องการสั่งให้หุ่นยนต์เคลื่อนไปด้านบน 100 หน่วย เราจะเปลี่ยนจากการเขียนโค้ดให้เคลื่อนตำแหน่งไปด้านบน 100 หน่วย เป็นปุ่มที่เขียนว่า เคลื่อนที่ไปด้านบน 100 หน่วยแทน ผู้ใช้เพียงแค่ทำการลากปุ่มไปยังตำแหน่ง และลำดับคำสั่งตามต้องการ
ตัวอย่างภาพการโค้ดเพื่อสั่งหุ่นยนต์
จะกลายเป็น
ตัวอย่างภาพปุ่มสั่งหุ่นยนต์
Subscribe to:
Comments (Atom)








