92 บทที่ 3 โปรแกรมและเครื่องมอื ที่ใช้ในการเขยี นโปรแกรมเกมคอมพวิ เตอร์ วิธที ี่ 2 เลือกเมนู File ค�ำส่งั Save All วิธที ่ี 3 ใช้คยี ล์ ัดโดยกดปุ่ม Ctrl ปุม่ Shift ป่มุ S พร้อมกนั เมื่อปรากฏหนา้ ตา่ ง Save Project เลอื กใส่รายละเอยี ดโปรเจกต์ ดังน้ี Name ช่อื โปรเจกต์ Location ต�ำแหนง่ ทีจ่ ัดเก็บโปรเจกต์ สามารถกดปมุ่ Browse… เพือ่ เปลย่ี นต�ำแหนง่ เมอ่ื ก�ำหนดรายละเอยี ดโปรเจกตเ์ รยี บรอ้ ยแลว้ คลกิ ทป่ี มุ่ Save และโปรแกรมจะท�ำการบนั ทกึ ไว้ โดยในโปรเจกต์ทีบ่ นั ทกึ จะประกอบดว้ ยไฟล์และโฟลเดอร์ยอ่ ย ดังภาพ และไฟล์ท่ีเราสามารถเปดิ โปรเจกต์มาเขียนโปรแกรมเพม่ิ เตมิ ได้ คือ ไฟล์
การสร้างเกมคอมพิวเตอรเ์ บอ้ื งต้น 93 การปิดโปรเจกต์ เลือกเมนู File ค�ำส่ัง Close Solution การปดิ โปรแกรม เลอื กเมนู File ค�ำสัง่ Exit หรือคลกิ ท่ีปมุ่ Close
94 บทท่ี 3 โปรแกรมและเครือ่ งมอื ทใ่ี ช้ในการเขยี นโปรแกรมเกมคอมพิวเตอร์ การเปดิ โปรเจกต์ วิธที ่ี 1 เลอื ก Open Project… วิธที ี่ 2 เลือกชื่อไฟล์โปรเจกตท์ ่ตี อ้ งการเปิดในส่วนของ Recent Projects… วธิ ที ่ี 3 เลือกเมนู File ค�ำส่ัง Open Project… วิธที ี่ 4 ใช้คยี ล์ ดั โดยกดปุ่ม Ctrl ปมุ่ Shift ปุ่ม O พร้อมกัน วิธที ่ี 5 เปิดในต�ำแหน่งทต่ี งั้ ผ่าน Windows Explorer ท่ไี ดจ้ ัดเก็บไว้
การสรา้ งเกมคอมพวิ เตอร์เบอ้ื งตน้ 95 การก�ำหนดสว่ นประกอบของหนา้ ตา่ ง หรอื ทเ่ี มนู View > Other Windows > 1) Toolbox สามารถเลอื กไดท้ แี่ ถบเครอื่ งมอื Toolbox 2) Solution Explorer เลอื กทแ่ี ถบเครอ่ื งมอื หรอื View > Other Windows > Solution Explorer 3) Properties Window แถบเครอื่ งมอื หรอื เมนู View > Other Windows > Properties Window 4) Error List เลอื กทแ่ี ถบเครือ่ งมือ หรอื เมนู
96 บทที่ 3 โปรแกรมและเครื่องมอื ท่ีใช้ในการเขียนโปรแกรมเกมคอมพิวเตอร์ “Hello World” โปรแกรมแรกของนักเขียนโปรแกรม ในสว่ นสดุ ทา้ ยของบทน ี้ นักเรียนจะได้เรมิ่ เขียนโปรแกรมแรก คอื Hello World ทง้ั Windows Form Application และ Console Application โดยมีข้นั ตอน ดังน้ี Windows Form Application ขั้นตอนท่ี 1 เมื่อเข้าสู่โปรแกรม เลือก New Project… > Windows Form Application คลิกปมุ่ OK ข้นั ตอนท่ี 2 จะปรากฏหน้าต่างโปรแกรมดงั ภาพ
การสร้างเกมคอมพิวเตอรเ์ บ้อื งตน้ 97 ข้ันตอนที่ 3 ท่ีหน้าต่าง Toolbox เลือกเคร่ืองมือ Label (A) สัญลักษณ์เมาส์จะเปล่ียนเป็น เครือ่ งหมาย + และมีตวั อักษร A อยู่ดา้ นล่าง ท�ำการคลิกที่ Form ในบรเิ วณที่ตอ้ งการ ขัน้ ตอนท่ี 4 จะปรากฏ label1 ใน Form สามารถปรับแตง่ คณุ สมบตั ขิ อง label1 โดยเลือกท่ี หนา้ ตา่ ง Properties โดยคลิกท่ี Font จากนน้ั จะปรากฏหนา้ ตา่ ง Font มาให้เลอื ก เม่ือปรบั แต่ง Font แลว้ สามารถปรบั แต่งสีได้ที่ ForeColor
98 บทที่ 3 โปรแกรมและเคร่ืองมือท่ใี ชใ้ นการเขียนโปรแกรมเกมคอมพิวเตอร์ ขั้นตอนที่ 5 เลือกเครอ่ื งมอื Button จาก Toolbox แล้วจงึ วางใน Form สามารถปรบั แต่ง Font และ ForeColor ได้ตามตอ้ งการ จากนัน้ ทหี่ น้าต่าง Properties เลือก Text แล้วเปล่ยี นจาก button1 เปน็ “แสดงข้อความ” ขั้นตอนที่ 6 ดับเบิลคลิกท่ี button1 จะปรากฏหนา้ ต่างไฟล์ Form1.cs
การสรา้ งเกมคอมพวิ เตอร์เบือ้ งตน้ 99 ข้ันตอนท่ี 7 สังเกตในบรรทัดท่ี 21 ซึ่งเป็นเมท็อด (Method) button1_Click ท�ำการเพิ่ม code “lable1.Text = “Hello World!”; ขน้ั ตอนที่ 8 กดปมุ่ F5 เพอ่ื ท�ำการ Compile และ Run โปรแกรม เมอื่ กดปมุ่ “แสดงขอ้ ความ” label1 จะแสดงข้อความ Hello World! จะได้ผลลัพธด์ งั ภาพ
100 บทท่ี 3 โปรแกรมและเครื่องมือทใี่ ชใ้ นการเขยี นโปรแกรมเกมคอมพิวเตอร์ ถา้ ตอ้ งการใหแ้ สดงเปน็ ขอ้ ความขนึ้ มา สามารถลบ label1 และเปลย่ี น Code ในบรรทดั ท่ี 21 ได้ ดังน้ี กดปุ่ม F5 เพอื่ ท�ำการ Compile และ Run โปรแกรม เม่อื กดปมุ่ “แสดงข้อความ” จะแสดงเป็น ขอ้ ความข้ึนมา ดังภาพ
การสรา้ งเกมคอมพิวเตอรเ์ บือ้ งต้น 101 Console Application ขน้ั ตอนท่ี 1 เมอื่ เขา้ ส่โู ปรแกรม เลอื ก New Project… > Console Application คลกิ ป่มุ OK ข้นั ตอนท่ี 2 เมอื่ โปรแกรมปรากฏหนา้ ตา่ งโปรแกรมดังภาพ
102 บทท่ี 3 โปรแกรมและเครื่องมือท่ีใช้ในการเขยี นโปรแกรมเกมคอมพิวเตอร์ ใหน้ ักเรียนพิมพ์ Code ดงั ภาพตวั อยา่ งด้านลา่ ง ขน้ั ตอนที่ 3 นักเรียนกดปุ่ม F5 เพอื่ ท�ำการทดสอบโปรแกรม ซงึ่ จะไดผ้ ลลัพธต์ ามภาพ
การสรา้ งเกมคอมพวิ เตอร์เบ้ืองตน้ 103 แบบทดสอบและกจิ กรรม การฝึกทักษะ บทท่ี 3 คำ� ช้แี จง นกั เรยี นเลอื กค�ำตอบทีถ่ ูกต้องทส่ี ดุ เพียงค�ำตอบเดยี ว 1. ขอ้ ใดหมายถงึ แพลตฟอรม์ ในการพฒั นาโปรแกรมรองรบั ภาษาดอตเนต็ มี Library สนบั สนุนการเขยี น และบรหิ ารด�ำเนนิ การของโปรแกรม มที งั้ ในสว่ นตอ่ ประสานกบั ผใู้ ช้ การเชอ่ื มตอ่ ฐานขอ้ มลู การเชอ่ื มตอ่ เครอื ข่ายคอมพวิ เตอร์ ก. IDE ข. Text Editor ค. .NET Framework ง. EditPlus 2. รปู แบบการสรา้ งโปรเจกตใ์ นลกั ษณะ Class ของภาษา C# ชว่ ยใหโ้ ปรเจกตอ์ นื่ สามารถเรยี กใชง้ านได้ หมายถงึ ข้อใด ก. Windows Form Application ข. Class Library ค. WPF Application ง. Console Application 3. หมายถึง แถบเคร่ืองมือใด ข. Solution Explorer ก. Toolbox ค. Properties Window ง. Error List 4. ForeColor เปน็ การตัง้ ค่าคณุ สมบัตใิ ดของ label1 ก. สีพ้นื Label ข. สีกรอบ Label ค. สีพ้ืนหลงั Label ง. สีตัวอักษร Label 5. ถา้ ตอ้ งการให้ปมุ่ เปลี่ยนขอ้ ความตามรูป ต้องก�ำหนดที่คุณสมบัติในขอ้ ใด ก. Text ข. Font → ค. ForeColor ง. Size
104 บทที่ 3 โปรแกรมและเครือ่ งมือท่ใี ชใ้ นการเขียนโปรแกรมเกมคอมพิวเตอร์ 6. จากภาพ เป็นการเขียนโปรแกรมในสว่ นใด ก. ในส่วนที่น�ำเมาส์ผ่าน button1 แลว้ จะเกดิ เหตกุ ารณใ์ ด ข. ในสว่ นที่ button1 ท�ำการเปลีย่ นแปลงข้อความ ค. ในสว่ นทเี่ ม่อื คลกิ button1 แลว้ จะเกดิ เหตกุ ารณใ์ ด ง. ในส่วนท่ีน�ำเมาส์ออกจาก button1 แลว้ จะเกิดเหตกุ ารณใ์ ด 7. เหตกุ ารณใ์ ดจะเกิดขึ้น เมอ่ื โปรแกรมท�ำงานตามภาพ ก. ข. ค. ง. 8. F5 เป็นคยี ์ลัดท่ใี ช้เพอื่ จุดประสงคใ์ ด ข. รนั โปรแกรม ก. เปิดโปรแกรม ง. ปดิ โปรแกรม ค. แก้ Error ของโปรแกรม
การสรา้ งเกมคอมพิวเตอรเ์ บือ้ งตน้ 105 9. จากภาพ เปน็ การสร้างโปรเจกต์โปรแกรมภาษา C# รูปแบบใด ก. Windows Form Application ข. Class Library ค. WPF Application ง. Console Application 10. จากภาพ เป็นการสรา้ งโปรเจกตโ์ ปรแกรมภาษา C# รูปแบบใด ก. Windows Form Application ข. Class Library ค. WPF Application ง. Console Application คำ� ชีแ้ จง นักเรียนจับคสู่ ญั ลักษณ์ กับชือ่ ของ Toolbox ท่กี �ำหนดให้อยา่ งถูกต้อง ______________________ 1) A) MonthCalendar ______________________ 2) B) ListBox ______________________ 3) C) LinkLabel ______________________ 4) D) MaskedTextBox ______________________ 5) E) ComboBox ______________________ 6) F) Label ______________________ 7) G) DateTimePicker ______________________ 8) H) CheckedListBox ______________________ 9) I) Button ______________________ 10) J) CheckBox
106 บทท่ี 3 โปรแกรมและเครือ่ งมอื ทใี่ ชใ้ นการเขยี นโปรแกรมเกมคอมพวิ เตอร์ ค�ำช้แี จง นกั เรียนฝึกปฏบิ ัติ และตอบค�ำถามตอ่ ไปนี้ใหถ้ กู ตอ้ ง 1. IDE คอื อะไร โปรดอธิบาย 2. อธิบายเกีย่ วกบั Text Editor 3. ยกตวั อย่างโปรแกรมท่ีรองรับ .NET Framework จ�ำนวน 1 โปรแกรม 4. อธบิ ายขนั้ ตอนการสร้างผังงานด้วยโปรแกรม Visio 5. นักเรียนสร้างผังงานจากโจทย์หน่วยที่ 2 ข้อที่ 6 โดยเลือกใช้ระหว่างโปรแกรม Microsoft Word กบั โปรแกรม Visio พร้อมระบเุ หตุผลทเี่ ลือกใช้โปรแกรมนั้น ๆ 6. จากภาพด้านล่าง ใหน้ กั เรียนเลือกระบุความหมายของการ New Project จ�ำนวน 2 การท�ำงาน 7. นกั เรียนระบสุ ่วนประกอบของหน้าตา่ งโปรแกรม Microsoft Visual C# 2010 Express 1 2 34 5 6 7
การสร้างเกมคอมพวิ เตอร์เบื้องตน้ 107 หมายเลข 1 ................................................................................................................................ หมายเลข 2 ................................................................................................................................ หมายเลข 3 ................................................................................................................................ หมายเลข 4 ................................................................................................................................ หมายเลข 5 ................................................................................................................................ หมายเลข 6 ................................................................................................................................ หมายเลข 7 ................................................................................................................................ 8. นักเรยี นฝกึ เขียนโปรแกรมเพื่อให้มผี ลลัพธด์ งั ภาพลงในโปรแกรม Microsoft Visual C# 9. นักเรียนฝกึ เขยี นโปรแกรมเพอ่ื ใหม้ ีผลลพั ธด์ งั ภาพลงในโปรแกรม Microsoft Visual C#
108 บทท่ี 3 โปรแกรมและเครอื่ งมือทใ่ี ชใ้ นการเขียนโปรแกรมเกมคอมพวิ เตอร์ 10. นักเรียนฝึกเขยี นโปรแกรมเพื่อใหม้ ผี ลลพั ธ์ ดังภาพลงในโปรแกรม Microsoft Visual C#
แนวคดิ บทที่ การเขียนโปรแกรมเกมคอมพิวเตอร์ เป็นขั้นตอนการเขียนโค้ดด้วยภาษา 4 โปรแกรม โดยอยใู่ นรปู แบบของ Plain Text ทย่ี งั ไมส่ ามารถน�ำ ไปใชง้ านได้ ตอ้ งผา่ น การคอมไพล์โค้ดให้เป็นภาษาเครือ่ งกอ่ น โปรแกรม โปรแกรม Microsoft Visual C# มีการท�ำ งานท่ีตอบสนองต่อเหตกุ ารณ์ (Event Driven) และมีลักษณะท่ีมองเห็นได้ (Visual) Microsoft Visual C# การใช้งานคอนโทรลในโปรแกรม Visual C# นั้นเป็นการออกแบบส่วน ตดิ ต่อกบั ผใู้ ช้ (UI : User Interface) ซง่ึ คอนโทรลได้ถูกแบ่งออกเปน็ กลุม่ ๆ เพอ่ื ให้ ใช้งานงา่ ย ในการเขียนโปรแกรมมีการใช้ข้อมูลในหลายรูปแบบ โดยที่ข้อมูลสามารถ น�ำ มาใช้ค�ำ นวณและประมวลผล ตัวแปร (Variable) เป็นการอ้างอิงข้อมูลด้วยค่าของตัวแปร สามารถ เปลยี่ นแปลงได้ตลอด ตัวดำ�เนนิ การ (Operator) มีหนา้ ท่ีในการคำ�นวณหรอื หาผลลัพธ์ที่เกิดจาก การกระท�ำ สาระการเรยี นรู้ 1. การเขียนโปรแกรมเกมคอมพวิ เตอร์ 2. การเขยี นโปรแกรมภาษา C# ดว้ ย Microsoft Visual C# 2010 Express 3. ขอ้ มลู ตวั แปร และตวั ด�ำ เนนิ การ สมรรถนะประจ�ำ บท 1. เรยี นรู้โปรแกรม Microsoft Visual C# 2. ปฏิบตั กิ ารเขียนโปรแกรมภาษา C# ด้วย Microsoft Visual C# 2010 Express จุดประสงคเ์ ชิงพฤตกิ รรม 1. อธิบายและยกตัวอย่างการเขียนโปรแกรมเกมคอมพิวเตอร์ 2. ระบุสว่ นประกอบของหนา้ ตา่ งโปรแกรม Microsoft Visual C# 2010 Express 3. ปฏิบัตกิ ารใช้ค�ำ สั่งในโปรแกรม Microsoft Visual C# 2010 Express 4. อธบิ ายและปฏิบัติการใชง้ านคอนโทรลในโปรแกรม Visual C# 5. อธบิ ายความหมายของ Mask Element 6. อธบิ ายและจำ�แนกชนดิ ของข้อมูล 7. ปฏบิ ตั ิการตั้งช่ือตัวแปรตามหลกั การ 8. ยกตัวอย่างตัวดำ�เนินการในการคำ�นวณหรือหาผลลัพธ์ท่ีเกิดจากการ กระท�ำ
110 บทท่ี 4 โปรแกรม Microsoft Visual C# โปรแกรม Microsoft Visual C# บทที่ 4 การเขยี นโปรแกรมเกมคอมพิวเตอร์ การเขียนโปรแกรมเกมคอมพิวเตอร์ (Computer Programming) หรือการเขียนโปรแกรม (Programming) เป็นขั้นตอนการเขยี นโค้ด (Coding) ด้วยภาษาโปรแกรม โดยอยใู่ นรปู แบบของ Plain Text ทย่ี ังไมส่ ามารถน�ำไปใช้งานได้ ตอ้ งผา่ นการคอมไพล์ (Compile) โคด้ ใหเ้ ปน็ ภาษาเครอื่ ง (Machine Language) ก่อน จึงจะได้เปน็ โปรแกรมที่พร้อมใช้งาน
การสรา้ งเกมคอมพวิ เตอร์เบอื้ งต้น 111 ตัวอยา่ งในการเขยี นโปรแกรมดว้ ยภาษา C# โปรแกรมจะเร่ิมท�ำงานจากบรรทัดบนมายังบรรทัดล่าง ดังนั้น ในการเขียนโปรแกรมจึงเขียน ค�ำสั่งเก่ียวกับการน�ำเข้าของข้อมูล (Input) มาเป็นอันดับแรก ต่อด้วยค�ำสั่งเกี่ยวกับการประมวลผล (Process) และค�ำสงั่ แสดงผล (Output) ตามตวั อย่างขา้ งต้น นกั เรยี นทดลองเขยี นโปรแกรมไดโ้ ดยเขา้ โปรแกรม เลอื ก New Project… > Console Application จะปรากฏหน้าต่างเขยี นโปรแกรม และสามารถเพม่ิ ในบรรทัดท่ี 12 ดังภาพ
112 บทท่ี 4 โปรแกรม Microsoft Visual C# ท�ำการรันโปรแกรมดว้ ยการกดปมุ่ F5 จะไดผ้ ลลพั ธ์ นอกจากน้นั นกั เรยี นสามารถทดลองเขยี นโปรแกรม Hello World ในภาษาอ่นื ๆ ได้ ดงั ตัวอย่าง C main( ) { printf(“hello, world”); } Java public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello, World”); } }
การสร้างเกมคอมพิวเตอร์เบอื้ งต้น 113 การเขียนโปรแกรมภาษา C# ดว้ ย Microsoft Visual C# 2010 Express. เม่ือเข้าสู่โปรแกรม เลือก New Project และเลือกรูปแบบ Windows Forms Application จะปรากฏหน้าตา่ งดงั ภาพ ส่วนประกอบของหนา้ ต่างโปรแกรม เมนบู าร์ (Menu Bar) เปน็ สว่ นทร่ี วบรวมค�ำสงั่ ในการควบคมุ การท�ำงานของโปรแกรม โดยจัด เปน็ กลมุ่ แยกตามประเภทการใชง้ าน เรยี กใชไ้ ดโ้ ดยใชเ้ มาสค์ ลกิ ทเ่ี มนู หรอื คยี ล์ ดั จากแปน้ พมิ พ์ มกี ลมุ่ ค�ำสง่ั ดังนี้ File กลุม่ ค�ำสั่งเก่ียวกบั โปรเจกต์ เช่น การสร้างโปรเจกตใ์ หม่ การเปดิ โปรเจกต์ การบันทกึ Edit กล่มุ ค�ำสั่งในการแก้ไขการท�ำงานของโปรเจกต์ เช่น การคัดลอก การวาง View กลุ่มค�ำสั่งเกีย่ วกบั การจัดรูปแบบการแสดงผล Project กลุ่มค�ำสง่ั การจดั การโปรเจกต์ เชน่ การเพม่ิ ฟอร์ม การอา้ งองิ Build กลมุ่ ค�ำส่งั เกย่ี วกบั การคอมไพลโ์ ปรเจกต์
114 บทที่ 4 โปรแกรม Microsoft Visual C# Debug กลุ่มค�ำสั่งเกย่ี วกบั การหาข้อผิดพลาดของโปรเจกต์ Team กลุ่มค�ำสง่ั เกย่ี วกบั การบรหิ ารจัดการโครงการ ทพี่ ฒั นาแอปพลิเคชันเป็นทมี Data กลุ่มค�ำสง่ั เกย่ี วกบั การติดตอ่ กับฐานขอ้ มลู Format กลมุ่ ค�ำสงั่ เกย่ี วกบั การออกแบบ Form Tools กลุ่มค�ำสง่ั เก่ียวกบั การใช้งานเครอื่ มือตา่ ง ๆ Test กลมุ่ ค�ำสั่งเกี่ยวกับการทดสอบการท�ำงานของโปรแกรม Window กลุ่มค�ำส่งั เกี่ยวกบั การจัดการรปู แบบการแสดงผล IDE ของ Visual Studio Help กลมุ่ ค�ำส่ังขอความชว่ ยเหลอื จาก Visual Studio Toolbar เป็นแถบเคร่ืองมือในการรวมค�ำสัง่ ในเมนูบาร์บางค�ำส่ังท่ีมีการใชง้ านบอ่ ยมาแสดงไว้ เพือ่ ให้สามารถเรียกใชง้ านได้สะดวกขนึ้ โดยสร้างเปน็ ป่มุ ใหเ้ รยี กใช้งานได้ในคลิกเดยี ว Toolbox เปน็ หนา้ ตา่ งทแ่ี สดงคอนโทรล และคอมโพเนนตต์ า่ ง ๆ เพอ่ื ให้ สะดวกในการสรา้ งแอปพลเิ คชนั จงึ มกี ารจดั แบง่ คอนโทรลและคอมโพเนนตต์ า่ ง ๆ ออกเปน็ กล่มุ ๆ ตามลักษณะการใชง้ าน Form Designer เป็นหน้าต่างที่ใช้ส�ำหรับการออกแบบหน้าตาของ แอปพลิเคชัน โดยการลากคอนโทรลต่าง ๆ จาก Toolbox Window มาวาง บน Form ตามต้องการ โดยที่ Visual Studio จะสร้างโค้ดการออกแบบให้ โดยอัตโนมัติ ซึ่งเป็นความสามารถของ Visual Studio ที่ช่วยให้เราพัฒนา แอปพลิเคชัน
การสรา้ งเกมคอมพวิ เตอรเ์ บือ้ งต้น 115 Solution Explorer เปน็ หนา้ ตา่ งแสดงรายการของไฟล์ (File) ทงั้ หมดทอ่ี ยใู่ นโปรเจกต์ (Project) เชน่ Form, Module, Component, Class Properties เปน็ หน้าตา่ งทใ่ี ช้แสดงและก�ำหนดคณุ สมบตั ิของวตั ถุ (Objects) ท่สี รา้ งข้นึ Code Editor เป็นหน้าต่างท่ีใช้ส�ำหรับเขียนค�ำส่ังในภาษา C# เพ่ือก�ำหนดการท�ำงานของ โปรแกรม
116 บทที่ 4 โปรแกรม Microsoft Visual C# Event Driven Programming จากท่ีกล่าวมาแลว้ นนั้ โปรแกรม Microsoft Visual C# มีการท�ำงานท่ีตอบสนองต่อเหตกุ ารณ์ (Event Driven) และมีลักษณะที่มองเห็นได้ (Visual) ตัวอย่างการสร้างปุ่ม Close ด้วยปุ่ม Button ใน Form1 เมื่อคลิกปุ่ม Close เกิดเหตุการณ์ ปิด Form1 ซึ่งเป็นการเรียกใช้ Method ท่ีช่ือว่า button1_click นกั เรียนทดลองเขยี นโปรแกรมตามตวั อย่าง ดงั ขั้นตอนตอ่ ไปนี้ 1. เมื่อเข้าสูโ่ ปรแกรม เลือก New Project… > Windows Forms Applications 1. เลอื ก Label 2. ลาก Label ลงใน Form1 2. เลือก Label ท่ี Toolbox ในสว่ นของ Common Controls โดยคลิกเมาส์คา้ งไว้และลาก ลงใน Form1 ณ ต�ำแหน่งทต่ี อ้ งการ ทีห่ น้าต่าง Properties เปลย่ี น Text เปน็ “ช่อื ผ้เู ล่น” 3. เปลี่ยน Text ของ Label เปน็ “ช่ือผู้เลน่ ”
การสรา้ งเกมคอมพิวเตอร์เบอ้ื งต้น 117 3. เลอื ก Textbox และลากวางในต�ำแหน่งทต่ี อ้ งการ 4. เลือก Textbox 5. ลาก Textbox วางใน ต�ำแหน่งทต่ี ้องการ 4. เลอื ก Button และเปลย่ี น Text เป็น “เข้าสู่เกม” 6. เปลยี่ น Text ของ Button เป็น “เข้าสเู่ กม” 5. เลือกไอคอนอีเวนต์ 7. เลอื กไอคอนอเี วนต์ ของ Button
118 บทที่ 4 โปรแกรม Microsoft Visual C# 6. ดบั เบลิ คลกิ ทอ่ี เี วนต์ Click จะปรากฏหน้าต่างเขยี นโปรแกรมดงั ภาพ 7. พิมพ์ MessageBox.Show(“ยนิ ดีต้อนรับ คุณ ” + textBox1.Text);
การสรา้ งเกมคอมพวิ เตอร์เบอื้ งตน้ 119 8. คลปิ ทป่ี ุม่ รนั โปรแกรมท่แี ถบเคร่ืองมือ Toolbar จะไดผ้ ลลพั ธด์ งั ภาพ 1. พมิ พ์ชือ่ ผู้เล่น 2. คลิกป่มุ เขา้ สเู่ กม 9. พมิ พช์ อื่ ผ้เู ลน่ ตวั อย่าง คือ Gamer และคลิกปมุ่ เขา้ สู่เกม จะปรากฏขอ้ ความจากโปรแกรมดังภาพ คอนโทรล (Control) ส่วนของคอนโทรล (Control) การใช้งานคอนโทรล ในโปรแกรม Visual C# นั้นเป็นการออกแบบ สว่ นตดิ ตอ่ กบั ผใู้ ช้ (UI : User Interface) ซง่ึ คอนโทรล ไดถ้ กู แบง่ ออกเปน็ กลมุ่ ๆ เพอ่ื ให้ใช้งานงา่ ย ดังน้ี
120 บทท่ี 4 โปรแกรม Microsoft Visual C# All Windows Forms รวมทกุ คอนโทรล Common Controls กลุ่มคอนโทรลพ้ืนฐานท่ี ใช้งานรว่ มกบั ฟอร์มทุกตัว Containers กลุ่มคอนโทรลที่บรรจุคอนโทรล ชนิดอ่ืน ๆ ไวภ้ ายใน Menu & Toolbars กลมุ่ คอนโทรลเกย่ี วกบั เมนู และทลู บาร์ Data กลมุ่ คอนโทรลเกี่ยวกบั ฐานข้อมลู Components กลุ่มคอนโทรลทีม่ ีการท�ำงาน เบื้องหลัง ไมม่ สี ว่ นติดต่อกบั ผู้ใช้ Printing กลุ่มคอนโทรลการจัดการการพิมพ์ Dialogs กล่มุ คอนโทรลไดอะล็อกบ็อกซ์
การสร้างเกมคอมพิวเตอร์เบื้องตน้ 121 Button หนา้ ตา่ ง Toolbox ในสว่ นของ Common Controls เลอื ก Button 1. เลอื ก Button แล้วคลกิ ที่ Form 1 โดยลากใหม้ ีขนาดตามต้องการจะปรากฏปุม่ Button ดงั ภาพ 2. คลิกที่ Form 1 ลากให้มี ขนาดตามตอ้ งการ เมอ่ื เลือกทีป่ ุม่ Button จะปรากฏกรอบส่ีเหล่ียมล้อมรอบ Button1 และหน้าต่าง Properties จะเป็นการก�ำหนดคุณสมบัติของ Button ทีเ่ ลอื กอยู่ โดยในตัวอย่างจะเปลยี่ นชื่อของ Text เป็น Close แสดงดงั ภาพ 3. เปลยี่ นชือ่ ของ Text เป็น Close
122 บทท่ี 4 โปรแกรม Microsoft Visual C# ในการเขยี นโปรแกรมเพอ่ื ก�ำหนดค�ำสง่ั ใหก้ ับปมุ่ Close ท�ำไดโ้ ดยการดบั เบลิ คลิกท่ปี ุม่ Close จะปรากฏหน้าต่าง Form1.cs แสดงดงั ภาพ สว่ นท่ี 1 สว่ นที่ 2 ส่วนที่ 3 ส่วนที่ 4 จากภาพจะเป็นโครงสร้างการท�ำงานของภาษา C# โดย ส่วนท่ี 1 โปรแกรมจะท�ำการสร้างข้ึนให้โดยอัตโนมัติ ประกอบด้วย ค�ำส่ัง using System เป็นการก�ำหนดวา่ อยูภ่ ายใต้ namespace ชื่อว่า System สว่ นที่ 2 namespace WindowsFormApplication1 ต้องมีเคร่ืองหมาย { ตามหลังช่ือ namespace และเคร่อื งหมาย } อย่บู รรทดั ลา่ งสดุ ของโปรแกรม สว่ นท่ี 3 class Form 1 ตอ้ งมีเครอื่ งหมาย { และ } เชน่ กัน ส่วนท่ี 4 method button1_Click ซง่ึ เปน็ สว่ นทเี่ ราเขยี นโปรแกรมเพอื่ ก�ำหนดค�ำสง่ั ใหโ้ ปรแกรม ในตัวอย่างนี้ เม่อื คลิกทป่ี ุ่ม Close ให้ท�ำการปิด Form 1 โดยสามารถก�ำหนดค�ำส่ังไดด้ ังนี้
การสรา้ งเกมคอมพวิ เตอร์เบือ้ งต้น 123 เม่ือเขยี นโปรแกรมเรียบร้อยแล้ว จะรันโปรแกรมดว้ ย 3 วธิ ี คือ 1) กดปมุ่ F5 2) คลิกไอคอน ทแี่ ถบเครื่องมอื Toolbar 3) เลอื กเมนู Debug > Start Debugging จะไดผ้ ลการรนั โปรแกรมดังภาพ ตัวอย่างท่ีได้กล่าวมาน้ัน นักเรียนสามารถสังเกตจ�ำนวนบรรทัดได้ เพราะเริ่มเขียนโปรแกรม แต่เมอื่ พัฒนาโปรแกรมให้มีความสามารถมากขน้ึ ท�ำใหจ้ �ำนวนบรรทดั มากขนึ้ ไปดว้ ย เราสามารถก�ำหนด หมายเลขบรรทดั ในส่วนของการเขียนโปรแกรมได้ โดยเลือกเมนู Tools > Option… 1. เลอื กเมนู Tools 2. คลิก Option…
124 บทท่ี 4 โปรแกรม Microsoft Visual C# จะปรากฏหน้าตา่ ง Options ท�ำเครอ่ื งหมายถกู หนา้ Show all settings เมอื่ ปรากฏทุกการตง้ั คา่ เลือก 1 Text Editor > 2 All Languages > 3 General > 4 Display > 5 Line numbers โดยใสเ่ ครอ่ื งหมายถกู หนา้ Line numbers และ 6 คลกิ ปมุ่ OK 1 2 3 54 6
การสรา้ งเกมคอมพิวเตอร์เบื้องต้น 125 ภาพที่ไม่ไดก้ �ำหนดเลขบรรทดั ภาพทก่ี �ำหนดเลขบรรทัดแล้ว ท้ังนใ้ี นหน้าต่าง Properties ของ Form1 มสี ่วนส�ำคัญท่ีควรทราบ ดังนี้ 1 2 Form1 3 4 5 Properties ของ Form1 1 (Name) คือ ชือ่ ของฟอรม์ ซงึ่ โปรแกรมจะตง้ั ชื่อให้อัตโนมัติว่า Form1 2 BackColor คือ สีพืน้ ของฟอรม์ 3 Start Position คอื การจดั ต�ำแหนง่ หนา้ ตา่ งฟอรม์ ตวั อยา่ งทเี่ ลอื กไวค้ อื CenterOnscreen คือ จัดต�ำแหน่งหน้าต่างฟอรม์ กลางหนา้ จอเมอ่ื รันโปรแกรม 4 Text คือ ข้อความส่วนบนของฟอร์ม ซ่ึงโปรแกรมจะต้ังชื่อว่า Form1 ให้โดยอัตโนมัติ เช่นกัน 5 WindowState คือ สถานะของฟอร์ม ตัวอย่างท่เี ลือก คือ Normal แบบปกติ และสามารถ เลือกได้อกี 2 สถานะ คอื Minimized แบบย่อ และ Maximized แบบขยาย
126 บทที่ 4 โปรแกรม Microsoft Visual C# ภาษา C# เป็นภาษารุ่นล่าสุดท่ีบริษัทไมโครซอฟต์พัฒนาจากภาษา C++ และภาษา Java โดยมีวัตถุประสงค์ให้สามารถเขียนโปรแกรมได้อย่างมีประสิทธิภาพ จึงส่งผลให้ภาษา C# มีค�ำสั่งใน การเรียกใชไ้ ด้หลายรูปแบบ นักเรียนพจิ ารณาภาพด้านลา่ ง นักเรียนจะสังเกตเหน็ ความแตกตา่ งของสตี ัวอักษร ซึ่งสามารถกลา่ วโดยสรปุ ดงั นี้ 1. สนี ำ�้ เงนิ เปน็ ค�ำสง่ั ทเี่ ปน็ ค�ำสงวนของโปรแกรม ตามตวั อยา่ งไดแ้ ก่ using, namespace, class, static void, string ซึ่งค�ำส่ังเหล่านี้เป็นค�ำส่ังส�ำเร็จของโปรแกรมภาษา C# ทีน่ �ำมาใช้ และไมส่ ามารถ ต้งั ชอื่ ตัวแปรซ�ำ้ กับค�ำสงวนได้ ทสี่ �ำคญั ค�ำสงั่ ทเี่ ปน็ ค�ำสงวนนเ้ี ปน็ ค�ำสงั่ ทอี่ ยแู่ บบเดยี่ ว ไม่ลงท้ายด้วยจุด (.) และตวั อักษรแรกเปน็ ตัวพมิ พเ์ ล็กเสมอ 2. สีฟา้ คือ ชื่อคลาส (Class) ที่เก็บเมท็อด (Method) ในการเขียนโปรแกรม เป็นค�ำส่ังท่ีให้ โปรแกรมท�ำงานอย่างใดอย่างหนึ่ง เมื่อต้องการเรียกใช้ Method ต้องระบุชื่อ Class แล้วตามด้วย เครื่องหมายจุด (.) แล้วจึงระบุช่ือของ Method ตามตัวอย่างเรียกใช้งาน Class Console ซึ่งใน การเรียกใช้งาน Class ต้องมี (.) ต่อท้ายและตามด้วยค�ำส่ังอื่นเสมอ ที่ส�ำคัญตัวอักษรแรกต้องเป็น ตัวพมิ พใ์ หญ่ 3. สดี �ำ ใชก้ บั ค�ำสงั่ หลากหลายชนดิ เช่น ชือ่ ของตัวแปร ชื่อของ Properties ชื่อของ Method ตามตัวอย่างคือ Write, ReadKey เครื่องหมายต่าง ๆ เช่น = > . ( ) ; ใช้กับค่าคงท่ีที่เป็นตัวเลข ดงั นน้ั สดี �ำจงึ ถกู น�ำมาใชม้ ากทส่ี ดุ เน่ืองจากไม่ต้องการเนน้ เป็นพิเศษ ซง่ึ ถา้ เปน็ ชอื่ ของ Method จะพมิ พ์ ต่อเน่ืองมาจาก Class และมีเคร่ืองหมายจุดเป็นตัวคั่น เพ่ือแยกระหว่าง Class กับ Method และ ในสว่ นของ Method จะมวี งเลบ็ ตอ่ ทา้ ย พรอ้ มทงั้ ตัวอกั ษรแรกตอ้ งเป็นตวั อกั ษรพิมพ์ใหญ่เสมอ ส�ำหรบั Properties ตัวอักษรแรกต้องข้ึนต้นด้วยตัวพิมพ์ใหญ่ แต่ไม่มีวงเล็บต่อท้ายและสามารถอยู่ต่อท้ายได้ ท้ังตัวแปรและ Method ทงั้ นี้ Class Method Properties จะเปน็ ค�ำสง่ั ส�ำเรจ็ รูปน�ำมาใช้ในการเขยี นโปรแกรมไดเ้ ลย แตต่ อ้ งพมิ พช์ อ่ื ใหถ้ กู ตอ้ ง ถา้ พมิ พผ์ ดิ โปรแกรมจะแจง้ ขอ้ ผดิ พลาดทนั ที ตวั อยา่ งเชน่ Method “ReadKey” ตอ้ งพิมพ์ใหถ้ กู ตอ้ ง ถา้ พมิ พ์เป็น readkey, Readkey readKey ไม่ได้
การสร้างเกมคอมพิวเตอรเ์ บื้องต้น 127 4. สีแดง เป็นค่าคงท่ีทเี่ ป็นขอ้ ความ (string) ตัวอักขระ (char) ในเคร่ืองหมาย “ .” และ ‘ .’ เท่าน้นั 5. สเี ขยี ว เปน็ ค�ำอธบิ ายโปรแกรม ไม่มีผลต่อการท�ำงาน 1 2 3 4 Button 5 6 7 1890 Properties ของ Button Button มคี ณุ สมบตั ิ (Properties) ท่คี วรตงั้ ค่าดังนี้ 1 AutoSize ต้ังค่า True เพือ่ ปรบั ขนาดขอ้ ความโดยอัตโนมตั ิ 2 BackColor ต้งั คา่ สีพนื้ หลัง 3 BackgroundImage ตั้งค่าพื้นหลงั เปน็ รปู ภาพ 4 ForeColor ตั้งค่าสีตวั อกั ษร 5 Cursor ตง้ั ค่ารปู แบบของเมาส์ 6 Font ตัง้ ค่ารูปแบบตัวอกั ษร 7 Image ตั้งคา่ รูปภาพทีแ่ สดงใน button 8 Text ตั้งคา่ ข้อความท่แี สดงใน button 9 TextAlign ตั้งค่าต�ำแหนง่ ของข้อความท่ีแสดง 10 Visible ตง้ั คา่ True เพือ่ ใหป้ รากฏบนฟอรม์ มีค่าเริ่มต้นเปน็ True
128 บทท่ี 4 โปรแกรม Microsoft Visual C# CheckBox CheckBox เป็นคอนโทรลที่ใช้เลือก โดยสามารถเลือกได้มากกว่าหนึง่ ตัวเลอื ก CheckBox มคี ุณสมบตั ิ (Properties) ท่ีควรต้งั คา่ ดงั นี ้ - Text ตงั้ คา่ ขอ้ ความทแ่ี สดงผลใน CheckBox - Checked ตั้งค่า True เมอื่ ถกู เลอื ก - CheckState ตัง้ คา่ สถานะท่แี สดงวา่ ถกู เลอื กหรอื ไม่ - CheckAlign ต้ังค่าแนวของป่มุ ท่ีอยใู่ นคอนโทรล CheckedListBox CheckedListBox เป็นคอนโทรลที่ รวมความสามารถของ CheckBox และ ListBox เข้าไวด้ ้วยกัน สามารถเลือกไดห้ ลายตัวเลอื ก CheckedListBox มีคณุ สมบัติ (Properties) ท่คี วรตง้ั ค่าดงั นี้ - ThreeCheckBoxes ตั้งคา่ การ 3D ในการแสดง CheckBox - CheckOnClick ต้ังคา่ การเลอื กโดยสามารถคลกิ ท่ชี ่องส่ีเหล่ียมหรอื ขอ้ ความกไ็ ด้ ComboBox ComboBoxtเป็นคอนโทรลที่รวมความ สามารถของ TextBox และ ListBox ไว้ด้วยกัน ชว่ ยให้เลอื กได้หลายตวั เลอื ก
การสรา้ งเกมคอมพิวเตอรเ์ บอ้ื งต้น 129 ComboBox มีคณุ สมบตั ิ (Properties) ท่ีควรตงั้ คา่ ดงั นี้ - DropDownStyle ตงั้ ค่ารปู แบบการแสดงของ ComboBox โดย Simple พิมพ์ข้อมูลได้อยา่ งเดียว DropDown พิมพข์ อ้ มูลได้ และเลือกขอ้ มูลจากรายการได้ DropDownList เลือกขอ้ มลู จากรายการไดอ้ ย่างเดยี ว - Items ตงั้ ค่า Collection ข้อมูลใน ComboBox โดย Count คอื จ�ำนวนข้อมูลท่ีมีอยู่ใน ComboBox Item คือ การระบุขอ้ มูลใน ComboBox - MaxDropDownStyle ต้ังค่าจ�ำนวนรายการท่ีแสดงเมื่อคลิกเลือก ComboBox ปกติคือ 8 รายการ - MaxLength ต้งั ค่าความยาวตัวอักษรที่ปอ้ นได้ใน ComboBox DateTimePicker DateTimePicker เป็นคอนโทรลท่รี ับ ข้อมลู เป็นวนั เดอื น ปี และเวลา โดยมรี ูปแบบ เปน็ ปฏทิ นิ DateTimePicker มคี ณุ สมบัติ (Properties) ทค่ี วรต้งั คา่ ดงั นี้ - Format ตั้งคา่ รูปแบบการแสดงผลวัน เดือน ปี และเวลา ในตวั คอนโทรล โดย Long แสดงวัน เดือน ปี แบบ Long Short แสดงวัน เดอื น ปี แบบ Short Time แสดงเฉพาะเวลา Custom แสดงรปู แบบ วนั เวลา ตามต้องการ - MaxDate ตั้งคา่ ขอบเขต วัน เดอื น ปี สูงสดุ ทส่ี ามารถแสดงผลได้ - MinDate ต้งั คา่ ขอบเขต วัน เดอื น ปี ต�่ำสุดท่ีสามารถแสดงผลได้ - ShowUpDown ต้ังค่าการแสดงผลแบบ UpDown คือ มีลูกศรขึ้นลงให้ก�ำหนดค่าหรือ ตอ้ งการใช้ DropDownList แลว้ แสดงปฏิทิน
130 บทที่ 4 โปรแกรม Microsoft Visual C# Label Labeltใช้ออกแบบส่วนติดต่อกับผู้ใช้tเพื่อให้ผู้ใช้อ่านข้อความท่ี ก�ำหนดได้ตามภาพตัวอย่างtเราสามารถก�ำหนดข้อความได้ที่tProperties เลือก Text และเปลย่ี นเป็นข้อความทตี่ ้องการ Label มีคณุ สมบัติ (Properties) ทคี่ วรตัง้ ค่าดังน้ี - Name ต้งั ค่าของ Label ซ่ึงตัง้ อตั โนมตั ใิ ห้ คอื label1 - BackColor ตง้ั คา่ สีพ้นื หลงั ของ Label - Font ตง้ั ค่ารูปแบบ และขนาดของ Label - ForeColor ตัง้ คา่ สี Label - Text ต้ังค่าขอ้ ความทแ่ี สดง ซึ่งตั้งอตั โนมตั ิ คอื label1 LinkLabel LinkLabel เป็น Label ท่ีแสดงข้อความเช่ือมโยง ไปยังปลายทางทกี่ �ำหนด LinkLabel มีคณุ สมบตั ิ (Properties) ที่ควรตงั้ คา่ ดังน้ี - Name ตัง้ คา่ ของ LinkLabel ซง่ึ ตัง้ อตั โนมัตใิ ห้ คอื linkLabel1 - ActiveLinkColor ตั้งค่าสตี วั อักษรเมอื่ คลิกเมาสบ์ น LinkLabel - LinkColor ตง้ั ค่ารูปแบบ และขนาดตวั อักษรของ LinkLabel - Text ต้งั ค่าขอ้ ความท่แี สดง ซง่ึ ตัง้ อตั โนมัติ คอื linkLabel1 - LinkArea ต้ังค่าการเช่อื มโยง โดย
การสรา้ งเกมคอมพิวเตอร์เบอื้ งต้น 131 Start คือ ตง้ั คา่ การเรม่ิ เชือ่ มโยง และ Length คือ ต้งั ค่าความยาวขอ้ ความทเี่ ชอ่ื มโยง - LinkBehavior ต้ังค่าการขีดเสน้ ใตข้ ้อความท่เี ช่ือมโยง โดย SystemDefault ตงั้ คา่ ตามค่าเริ่มต้นของโปรแกรม AlwaysUnderline ต้ังคา่ ใหข้ ีดเสน้ ใต้ทกุ ครง้ั ท่มี กี ารเชอื่ มโยง HoverUnderline คั้งคา่ ใหข้ ีดเสน้ ใต้เมอ่ื เมาสช์ ท้ี ่ีมกี ารเชอ่ื มโยง NerverUnderline ตง้ั คา่ ให้ไมม่ ีการขดี เส้นใต้ ListBox ListBoxtเป็นรายการข้อมูลที่พร้อมให้เราเลือกจาก ตวั เลอื กทมี่ tี ก�ำหนดใหเ้ ลอื กตวั เลอื กเดยี วหรอื หลายตวั เลอื กได้ ListBox มีคณุ สมบัติ (Properties) ท่ีควรต้ังค่าดงั นี้ - ColumnWidth ตั้งค่าความกว้างคอลมั นใ์ นการแสดงผล - Items ตง้ั คา่ ขอ้ มลู ทอี่ ยใู่ น ListBox - Count ต้ังค่าจ�ำนวนข้อมูลทีอ่ ยู่ใน ListBox - Sort ต้งั คา่ การเรยี งล�ำดับใน ListBox - SelectionMode ตัง้ ค่าการเลอื กขอ้ มลู โดย None ไมอ่ นุญาตให้เลอื ก One เลือกได้หน่ึงตวั เลือกเท่านั้น MultiSimple เลือกไดม้ ากกวา่ หนึง่ ตัวเลือก MultiExtended เลือกได้มากกว่าหนึ่งตัวเลือก และกดปุ่ม Shift คา้ งไว้ เพอื่ เลอื กหลายรายการทต่ี ดิ กนั หรอื กดปุ่ม Ctrl ค้างไว้ ในการเลือกหลายรายการท่ีไม่ตดิ กัน
132 บทท่ี 4 โปรแกรม Microsoft Visual C# MaskedTextBox MaskedTextBox เป็นคอนโทรลที่ใช้ กรอกขอ้ มลู ตามรูปแบบที่ก�ำหนด MaskedTextBox มคี ณุ สมบตั ิ (Properties) ทค่ี วรตั้งคา่ ดงั น้ี - AsciiOnly ต้งั คา่ ให้รบั ขอ้ มูลเฉพาะรหสั Ascii - BeepOnError ตงั้ คา่ ใหม้ เี สียงเตอื นเมือ่ ผ้ใู ชก้ รอกขอ้ มูลผดิ - Culture ต้ังค่าใหม้ ี Prompt เป็นสญั ลักษณภ์ าษาทอ้ งถิ่น - HidePromptOnLeave ตัง้ ค่าให้ซ่อน Prompt ไวเ้ ม่อื ไปที่อนื่ - PromptChar ตง้ั คา่ ใหต้ วั อกั ษรทเี่ ปน็ Prompt ปกติ คอื UnderScore ( _ ) - TextMaskFormat ตง้ั คา่ รปู แบบขอ้ ความทตี่ อ้ งการรวมสญั ลกั ษณต์ ามรปู แบบ Mask - MaskCompleted ตง้ั คา่ ใหผ้ ลลพั ธเ์ ปน็ True ถา้ ขอ้ มลู ใน MaskedTextBox ตรงกบั Mask - Mask ตงั้ ค่ารปู แบบของขอ้ ความท่ตี ้องการ โดยใช้ Mask Element
การสร้างเกมคอมพิวเตอร์เบื้องตน้ 133 ความหมายของ Mask Element มดี ังนี้ Mask Element แทนสัญลักษณ์ การใส่ขอ้ มูล 0 ตัวเลข 0 – 9 ตอ้ งใสข่ อ้ มูล 9 ตวั เลข 0 – 9 หรอื ชอ่ งว่าง ใสห่ รอื ไมใ่ สข่ ้อมลู กไ็ ด้ # ตวั เลข 0 – 9, ชอ่ งวา่ ง, เคร่ืองหมาย +, – ใสห่ รือไม่ใสข่ อ้ มลู ก็ได้ L ตัวอักษร a – z, A – Z ตอ้ งใสข่ ้อมูล ? ตัวอักษร a – z, A – Z ใสห่ รอื ไม่ใส่ขอ้ มูลกไ็ ด้ A ตัวอักษร a – z, A – Z, ตัวเลข 0 – 9 ตอ้ งใส่ขอ้ มลู a ตัวอักษร a – z, A – Z, ตัวเลข 0 – 9 ใส่หรือไม่ใสข่ อ้ มูลก็ได้ & ตวั อกั ษร a – z, A – Z, ตวั เลข 0 – 9, ชอ่ งวา่ ง ตอ้ งใส่ข้อมูล C ตวั อักษร a – z, A – Z, ตวั เลข 0 – 9, ชอ่ งว่าง ใสห่ รือไมใ่ ส่ข้อมูลก็ได้ < ก�ำหนดใหเ้ ปน็ พมิ พต์ ัวอักษรพิมพเ์ ล็กท้ังหมด > ก�ำหนดให้เป็นพิมพ์ตวั อกั ษรพิมพ์ใหญ่ทัง้ หมด \\ ขอ้ ความ ตวั อกั ษร ตวั เลขทเ่ี ปน็ Mask Element ตวั อยา่ ง ตอ้ งการแสดง “&” ใช ้ \\& กจ็ ะแสดงผลเปน็ & / ตวั ค่ันวันท่ี เช่น 11/12/2015 | ไมใ่ ชง้ านตวั อกั ขระทอ่ี ยกู่ อ่ นหนา้ เครอื่ งหมาย < หรอื > , ตัวค่ันของตัวเลขหลกั พัน เชน่ 2,345 : ตวั คั่นเวลา เชน่ 15:25
134 บทที่ 4 โปรแกรม Microsoft Visual C# MonthCalendar MonthCalendar เป็นคอนโทรลทใ่ี ช้รบั ข้อมลู เป็น วนั เดือน ปี โดยมรี ปู แบบเปน็ ปฏทิ นิ MonthCalendar มคี ุณสมบตั ิ (Properties) ทค่ี วรต้ังคา่ ดงั น้ี - AnnuallyBoldedDates ตั้งค่าวนั ทท่ี ี่แสดงเป็นตวั หนาในทุก ๆ ปี - BoldedDates ตงั้ คา่ วนั ที่เฉพาะท่ีแสดงเป็นตัวหนา - CalendarDimension ตงั้ คา่ จ�ำนวนหนา้ ของปฏทิ นิ ทจี่ ะแสดงผล ทงั้ ดา้ นกวา้ งและดา้ นสงู - FirstDayOfWeek ต้ังคา่ การแสดงผลการขึ้นตน้ วันแรกของสัปดาห์ - SelectionRange ตั้งค่าช่วงของวันท่ีได้เลอื ก โดย SelectionStart คือ วันทีเ่ รมิ่ ตน้ SelectionEnd คือ วนั ที่สนิ้ สุด - ShowToday ตงั้ ค่าให้แสดงวนั เดือน ปี ปัจจบุ ัน ในปฏทิ ิน - ShowTodayCircle ต้งั คา่ ให้แสดงสีเ่ หล่ียม หรือ วงกลมลอ้ มรอบวัน เดอื น ปี ปัจจุบัน - ShowWeekNumber ตัง้ คา่ ให้แสดงเลขที่สัปดาห์ นบั เรม่ิ ตน้ ต้งั แต่เดือนมกราคม - TodayDate ตั้งคา่ วันทีป่ ัจจุบนั PictureBox PictureBox เป็นคอนโทรลท่ใี ช้แสดงภาพนิ่ง PictureBox มีคณุ สมบัติ (Properties) ท่คี วรตั้งค่าดังนี้ - ErrorImage ตงั้ คา่ รปู ภาพทแี่ สดงเมอ่ื เกดิ ขอ้ ผดิ พลาดในการแสดงภาพทเ่ี ลอื ก - Image ตัง้ คา่ การแสดงภาพ - ImageLocation ตัง้ คา่ ต�ำแหน่งที่เกบ็ และชือ่ ของภาพที่แสดง - InitialImage ตงั้ คา่ ชอ่ื ไฟลท์ ่ีแสดงในระหว่างการโหลดภาพ
การสร้างเกมคอมพวิ เตอรเ์ บื้องตน้ 135 - Size ตั้งค่าขนาดของ PictureBox - Height ต้ังคา่ ความสงู ของ PictureBox - Width ตง้ั ค่าความกว้างของ PictureBox - SizeMode ตั้งค่ารปู แบบการแสดงภาพ โดย Normal แสดงภาพตามขนาดจริงของภาพ ท่ีมมุ บนซา้ ย CenterImage แสดงภาพตามขนาดจรงิ ของภาพ ทตี่ รงกลาง StretchImage แสดงภาพตามขนาดของ PictureBox AutoSize แสดงภาพขนาดจรงิ โดยปรบั PictureBox ตาม ขนาดภาพ Zoom แสดงภาพตามขนาดของ PictureBox โดย สามารถย่อหรือขยายภาพตามสัดสว่ นภาพได้ ProgressBar ProgressBar เป็นคอนโทรลท่ีใช้แสดง ความก้าวหนา้ ในการท�ำงาน ProgressBar มีคุณสมบตั ิ (Properties) ทคี่ วรต้ังค่าดังนี้ - Minimum ต้งั ค่าตำ�่ สุด ปกติ คือ 0 - Maximum ตั้งคา่ สูงสุด ปกติ คอื 100 แต่ก�ำหนดได้มากท่ีสุด คือ 32,768 - Value ตง้ั คา่ สัดสว่ นทแ่ี สดงผลใน ProgressBar - Step ตง้ั คา่ การเพม่ิ ระดบั ขั้น - Orientation ต้ังคา่ การวางแนวตัง้ หรอื แนวนอน - Align ตั้งค่าต�ำแหน่งการวางในฟอร์ม ได้แก่ ชิดขอบบน ชิดขอบล่าง ชิดขอบซา้ ย ชดิ ขอบขวา หรอื ตามก�ำหนด - Style ตั้งคา่ รูปแบบการแสดงผลของ ProgressBar โดย Blocks แสดงเปน็ ชอ่ งเรียงต่อกัน Continuous แสดงเปน็ แถบตอ่ เนื่อง Marquee แสดงเปน็ แถบวิ่งไปเร่อื ย ๆ
136 บทท่ี 4 โปรแกรม Microsoft Visual C# RadioButton RadioButton เป็นคอนโทรลตัวเลือก ที่เลือกได้เพียงตัวเลอื กเดียว RadioButton มคี ณุ สมบัติ (Properties) ท่ีควรตั้งคา่ ดงั นี้ - Appearance ตง้ั คา่ รูปแบบปมุ่ - CheckAlign ตงั้ ค่าต�ำแหน่งการแสดงผล - Checked ตง้ั ค่า True เม่อื RadioButton ถกู คลกิ RichTextBox RichTextBox เป็นคอนโทรลท่ีใช้แสดงข้อความ แต่สามารถจัดรปู แบบของข้อความทต่ี ้องการได้ RichTextBox มีคณุ สมบตั ิ (Properties) ทคี่ วรต้งั ค่าดงั น้ี - BulletIndent ตัง้ ค่าระยะหา่ งจากสัญลักษณถ์ ึงยอ่ หน้า มหี น่วยเปน็ Pixel - DetectUrls ตั้งค่า True เพื่อใหจ้ �ำ Web URL ทเ่ี คยพมิ พ์ใน RichTextBox - RightMargin ตง้ั คา่ ระยะขอบขวา มีหน่วยเป็น Pixel - SelectionAlignment ต้ังคา่ การจัดเรียงขอ้ ความท่เี ลอื ก - SelectionBullet ตงั้ ค่าสญั ลักษณ์หวั ขอ้ ย่อยกับยอ่ หนา้ ของขอ้ ความที่เลอื ก - SelectionFont ตง้ั ค่ารูปแบบอักษรของข้อความที่เลือก - SelectionColor ต้ังคา่ สขี อ้ ความที่เลอื ก
การสรา้ งเกมคอมพวิ เตอรเ์ บอ้ื งต้น 137 TextBox TextBox เป็นคอนโทรลที่ใช้กรอกข้อความ หรือแสดงขอ้ ความ TextBox มีคณุ สมบัติ (Properties) ที่ควรต้ังค่าดังนี้ - AcceptsReturn ตง้ั ค่า True เพอ่ื ก�ำหนดใหเ้ พ่มิ บรรทัดใหม่ได้ด้วยปมุ่ Enter - AcceptsTab ตั้งค่า True เพื่อก�ำหนดใหเ้ พ่มิ แทบ็ ใหมไ่ ดด้ ้วยปมุ่ Tab - BorderStyle ต้งั ค่าเสน้ ขอบ - CanUndo ต้งั ค่า True เพอื่ ให้สามารถใช้ Undo แกไ้ ขขอ้ ความได้ - MaxLength ตั้งค่าความยาวตัวอักษรที่ให้กรอกได้มากท่ีสุด (ไม่เกิน 32,767 ตัว อักษร) - Multiline ตงั้ ค่าใหข้ ึ้นบรรทดั ใหม่เมอ่ื ข้อความทแ่ี สดงผลยาวเกนิ 1 บรรทดั - PasswordChar ตั้งค่าการก�ำหนดรูปแบบที่แสดงผลของข้อความท่ีรับมาเป็นรหัสผ่าน มคี ่าเริ่มตน้ เปน็ เครือ่ งหมายดอกจนั (*) WebBrowser WebBrowser เปน็ คอนโทรลทใ่ี ชค้ วามสามารถของ Internet Explorer ซง่ึ เปน็ Web Browser มาใช้งาน สามารถควบคุมการท�ำงาน ควบคุมความปลอดภัยได้
138 บทที่ 4 โปรแกรม Microsoft Visual C# WebBrowser มีคณุ สมบตั ิ (Properties) ท่คี วรตง้ั คา่ ดังนี้ - CanGoBack ต้ังคา่ ใหย้ ้อนกลับได้ - CanGoForward ตั้งคา่ ให้ไปเพจกอ่ นหน้าได้ - Document ตั้งค่าใหก้ ลบั ไปยัง Document ได้ - DocumentTitle ต้ังคา่ แสดง Title ของ Document - ScrollBarsEnables ตง้ั ค่าให้ระบกุ ารแสดงสโกรลบาร์ เพื่อพนื้ ที่แสดงผลไม่เพยี งพอ - StatusText ต้ังค่าข้อความทแ่ี สดงสถานะของเว็บเพจ - URL ตัง้ คา่ URL (Universal Resource Locator) ที่ต้องการแสดงผล ตวั อยา่ งการก�ำหนด URL GroupBox (Containers) GroupBox เป็นคอนโทรลท่ีใช้แบ่งกลุ่มคอนโทรล โดยเฉพาะแบง่ กลมุ่ RadioButton ได้มากกวา่ 1 กล่มุ โดยมี คุณสมบตั ิ (Properties) ที่ควรต้งั ค่าคือ
การสร้างเกมคอมพิวเตอรเ์ บอื้ งต้น 139 - Text ต้ังค่าขอ้ ความของ GroupBox ปรากฏอยู่มมุ ซ้ายบน Timer (Component คอื คอนโทรลทีไ่ มม่ ีสว่ นติดตอ่ กบั ผ้ใู ช)้ Timer เป็นคอมโพเนนต์ (Component) ที่ใช้จัดการสิ่งที่เก่ียวกับเวลา ได้แก่ การจับเวลา การต้ังเวลา Timer มคี ณุ สมบัติ (Properties) ทค่ี วรตั้งค่าดังนี้ - Interval ตัง้ ค่าช่วงเวลาทใี่ ห้ Timer นบั เวลา มีหน่วยเปน็ มลิ ลวิ ินาที มลิ ลวิ ินาที คอื หน่งึ สว่ นพันวินาที ตัวอย่าง 2,500 หมายถงึ 2.5 วนิ าที - Enabled ตงั้ คา่ ใหน้ บั เวลาตามช่วงทีก่ �ำหนด
140 บทที่ 4 โปรแกรม Microsoft Visual C# MenuStrip MenuStrip เปน็ คอนโทรลท่สี ร้างเมนใู นฟอร์ม MenuStrip มคี ณุ สมบัติ (Properties) ทคี่ วรตัง้ ค่าดงั น้ี - Checked ตงั้ ค่าเคร่ืองหมาย หนา้ เมนู - CheckOnClick ต้งั คา่ รายการทีถ่ กู เลอื กให้แสดงเครอ่ื งหมาย โดยอัตโนมัติ - CheckState ตั้งคา่ ใหต้ รวจสอบการท�ำเครอื่ งหมาย หน้าเมนู - DisplayStyle ต้งั ค่ารปู แบบการแสดงรายการของเมนู โดย None ไมแ่ สดงทัง้ ข้อความและรปู ภาพ Text แสดงข้อความ Image แสดงรูปภาพ ImageAndText แสดงทงั้ ขอ้ ความและรูปภาพ - Enabled ตง้ั ค่า True เพ่ือให้ใชง้ านเมนนู ั้น - Name ตง้ั คา่ ชอื่ ของเมนู เปน็ คณุ สมบตั ทิ ตี่ อ้ งก�ำหนด และหา้ มตงั้ ชอ่ื เมนซู ำ้� กนั - ShortcutKeys ต้งั ค่าคีย์ลัดในการเรยี กใชง้ านเมนู - ShowShortcutKeys ต้งั ค่าแสดงคีย์ลดั บนเมนู - Visible ตง้ั คา่ True เพือ่ ให้มองเหน็ เมนูน้ัน ๆ
การสรา้ งเกมคอมพวิ เตอรเ์ บ้อื งต้น 141 ข้อมลู ตวั แปร และตวั ด�ำเนินการ จากตัวอย่างท่ีนักเรียนได้ฝึกเขียนโปรแกรมนั้น มีการใช้ข้อมูลในหลายรูปแบบ โดยที่ข้อมูล สามารถน�ำมาใช้ค�ำนวณและประมวลผล ซ่ึงอยู่ในรูปของตัวแปรเพ่ือเก็บค่าข้อมูล สามารถอธิบายได้ ดังนี้ ชนดิ ขอ้ มลู (Data Types) - Numeric ข้อมลู ทมี่ คี า่ เปน็ ตัวเลข ท้งั จ�ำนวนเต็ม และทศนยิ ม - String ขอ้ มลู ท่ีเป็นอกั ขระ และข้อความ - DateTime ข้อมลู ในรูปแบบวนั เดือนปี เวลา - Boolean ขอ้ มูลทีม่ คี ่าเปน็ จรงิ (True) หรอื เป็นเทจ็ (False) ขอ้ มลู ชนดิ จ�ำนวนเต็ม (Integer) ชนิดขอ้ มูล หนว่ ยความจำ� ขอบเขตข้อมลู (byte) byte 1 0 ถึง 255 sbyte 1 –128 ถึง 127 short 2 –32,768 ถึง 32,767 ushort 2 0 ถึง 65,535 int 4 –2,147,483,648 ถงึ 2,147,483,647 unit 4 0 ถงึ 4,294,967,295 long 8 –9,223,372,036,854,755,808 ถึง 9,223,372,036,854,755,807 ulong 8 0 ถึง 18,446,744,073,709,551,615 เมอื่ ตอ้ งการระบชุ นดิ ขอ้ มลู ใหช้ ดั เจน ถา้ ตอ้ งการระบชุ นดิ ขอ้ มลู Unit ใหร้ ะบตุ วั อกั ษร U ตอ่ ทา้ ย ตวั เลข เช่น ตัวเลข 12,345 - Unit เติมตวั อักษร U ตอ่ ท้าย ตัวอย่าง 12,345U เปน็ ตน้ - Long เติมตวั อกั ษร L ตอ่ ท้าย ตวั อยา่ ง 12,345L เปน็ ตน้ - ULong เติมตวั อักษร UL ต่อทา้ ย ตวั อยา่ ง 12,345UL เป็นตน้
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286