142 บทที่ 4 โปรแกรม Microsoft Visual C# ข้อมูลชนดิ จ�ำนวนทศนยิ ม ชนดิ ข้อมูล หนว่ ยความจำ� ขอบเขตขอ้ มูล (byte) float double 4 –3.402823 x 1038 ถงึ 3.402823 x 1038 8 –1.79769313486232 x 10308 ถึง 1.79769313486232 x 10308 เม่อื ต้องการอ้างองิ การใช้ 10 ยกก�ำลัง สามารถเขียนในเชงิ วทิ ยาศาสตรท์ ใ่ี ช้ตัว “E” หรอื “e” แทนได้ ตัวอย่าง - 1.23E + 4 หรอื 1.23e + 4 หมายถึง 1.23 X 104 หรอื เท่ากบั 12,300 - 1.23E – 2 หรือ 1.23e – 2 หมายถงึ 1.23 X 10–2 หรือเทา่ กบั 0.0123 ข้อมูลชนิดตัวเลข (Decimal) มีหน่วยความจ�ำขนาด 16 ไบต์ (byte) เก็บค่าจ�ำนวนเต็มได้ ระหว่าง –79,228,162,514,264,337,593,543,950,335 ถึง 79,228,162,514,264,337, 593,543,950,335 และเก็บค่าทศนิยมได้ระหว่าง –7.9228162514264337593543950335 ถึง 7.9228162514264337593543950335 ซึ่งเกบ็ คา่ ทศนิยมได้ 28 ต�ำแหนง่ ข้อมลู ชนิดตรรกะ ข้อมูลชนิดตรรกะ หรือ Bool ใช้เก็บข้อมูลด้านตรรกศาสตร์ คือ ค่าจริง (True) และค่าเท็จ (False) ข้อมูลชนดิ ตวั อกั ษรและข้อความ ชนิดข้อมูล หนว่ ยความจำ� (byte) ขอบเขตข้อมลู char 2 ตัวอักษรหน่ึงตัว เก็บแบบ Unicode ใช้เคร่ืองหมาย Single Quote ครอบตัวอักษร ตัวอยา่ ง ‘O’ ‘K’ string ตามความยาวขอ้ ความ ขอ้ ความ ตงั้ แต่ 0 ถงึ 231 (ประมาณสองพนั ลา้ นตวั อกั ษร) ใชเ้ ครอ่ื งหมาย Double Quote ครอบขอ้ ความ ตวั อยา่ ง “My game by Visual C#” “ยินดีตอ้ นรบั สูเ่ กมของเรา”
การสร้างเกมคอมพวิ เตอร์เบ้ืองต้น 143 ข้อมูลชนิดวนั เวลา ชนดิ ขอ้ มูล หน่วยความจ�ำ (byte) ขอบเขตข้อมลู Date 8 วันเวลา ต้ังแต่ 00:00:00 ของวันที่ 1 มกราคม ค.ศ.0 ถึง 23:59:59 ของวันที่ 31 ธันวาคม ค.ศ.9999 ตวั แปร (Variable) เป็นการอ้างถึงข้อมูลด้วยค่าของตัวแปร สามารถเปลี่ยนแปลงได้ตลอดเวลาที่โปรแกรมท�ำงาน ทัง้ นี้ตัวแปรทุกตัวต้องถูกประกาศก่อนน�ำมาใช้ และต้องระบชุ นิดขอ้ มูลท่ีจะใชก้ บั ตวั แปร หลกั การตัง้ ชื่อตัวแปร - ต้องขึ้นตน้ ชอ่ื ด้วยตวั อกั ษรเท่านนั้ - ตัวอกั ษรพมิ พเ์ ล็กพมิ พใ์ หญ่แตกต่างกัน (Case Sensitive) - ควรต้งั ช่ือให้สื่อความหมายและสามารถบอกชนดิ ของตวั แปรได้ดว้ ย เชน่ intAge - ตวั อกั ษรแรกของค�ำตอ่ ไปใช้ตวั อกั ษรพมิ พใ์ หญ่ เช่น strFirstName - หา้ มต้งั ชอื่ ซ้�ำกบั ค�ำสงวน (Reserved Word) ค�ำสงวน base bool break byte abstract as char checked class const case catch default delegate do double continue decimal event explicit extern false else enum float for foreach get finally fixed implicit in int interface goto if lock long namespace new internal is operator out override params null object protected public readonly ref partial private sealed set short sizeof return sbyte string struct switch this stackalloc static try typeof uint ulong throw true ushort using value virtual unchecked unsafe where while yield void volatile
144 บทท่ี 4 โปรแกรม Microsoft Visual C# การประกาศตัวแปร ในภาษา Visual C# มรี ูปแบบการประกาศตัวแปร ดงั น้ี TypeOfVariable Variable_Name [= initialize_value]; โดย TypeOfVariable คือ ชนิดข้อมูล ซ่งึ ต้องก�ำหนดทกุ ครัง้ Variable_Name คอื ช่อื ตัวแปร ซงึ่ ต้องก�ำหนดทุกครั้ง initialize_value คือ คา่ ท่กี �ำหนดใหต้ วั แปร ก�ำหนดหรอื ไมก่ �ำหนดก็ได้ ตวั อยา่ งการประกาศตวั แปรพรอ้ มก�ำหนดค่า ตวั ดำ� เนินการ (Operator) ตัวด�ำเนินการมีหน้าที่ในการค�ำนวณหรือหาผลลัพธ์ที่เกิดจากการกระท�ำ ซ่ึงแบ่งตามข้อมูลที่ม ี ตวั ด�ำเนินการคน่ั กลาง (Operand) ได้ 3 ประเภท ได้แก่ 1. Unary Operator เป็นตวั ด�ำเนินการทีใ่ ช้ Operand เพยี งตวั เดียว 2. Binary Operator เป็นตัวด�ำเนินการที่ใช้ Operand สองตวั ซึง่ เปน็ รูปแบบทพี่ บมากทสี่ ดุ 3. Ternary Operator เป็นตัวด�ำเนินการที่ใช้ Operand สามตัว แบ่งตัวด�ำเนินการตามรูปแบบการใชง้ าน ได้ดังนี้ 1. ตัวด�ำเนนิ การทางคณติ ศาสตร์ (Arithmetic Operator) ได้แก่ ตัวด�ำเนินการ ค�ำอธิบาย ตวั อยา่ งการน�ำไปใช้ เม่อื a = 5, b = 3 ผลลพั ธ์ท่ไี ด้ + บวก a+b 8 – ลบ a–b 2 * คณู a*b 15 / หาร a/b 1.67 % หาเศษจากการหาร a%b 2
การสรา้ งเกมคอมพวิ เตอร์เบอื้ งต้น 145 จากผลลัพธท์ ่ีได้ สรปุ หลักการท�ำงานของตัวด�ำเนนิ การทางคณิตศาสตร์ ดงั นี้ a + b แทนค่า 5 + 3 ผลลัพธค์ อื 8 a – b แทนค่า 5 - 3 ผลลพั ธค์ อื 2 a * b แทนคา่ 5 * 3 ผลลพั ธค์ อื 15 a / b แทนค่า 5 / 3 ผลลพั ธค์ ือ 1.67 a % b แทนคา่ 5 / 3 ผลลัพธ์ 2 (เศษท่ีไดจ้ ากการหาร) ถา้ มีการใช้ตวั ด�ำเนนิ การทางคณติ ศาสตรม์ ากกว่าหนึง่ ตัว จะเรียงล�ำดับการด�ำเนนิ การ ดังนี้ ล�ำดับแรก คือ ( ) ล�ำดบั ทส่ี อง คอื * / % และล�ำดับสุดท้าย คอื + และ – 2. ตัวด�ำเนินการเปรียบเทียบ (Comparison Operator) ผลลัพธ์ท่ีได้จะเป็น True หรือ False เท่านนั้ ตวั ดำ� เนนิ การ ค�ำอธบิ าย ตวั อยา่ งการน�ำไปใช้ เม่อื a = 5, b = 3 ผลลัพธ์ทีไ่ ด้ == เทา่ กบั a==b False != ไมเ่ ท่ากับ a!=b True < น้อยกวา่ a<b False <= นอ้ ยกวา่ หรอื เท่ากับ a<=b False > มากกว่า a>b True >= มากกวา่ หรือเทา่ กับ a>=b True จากผลลพั ธท์ ่ไี ด้ สรปุ หลักการท�ำงานของตวั ด�ำเนนิ การเปรียบเทียบ ดังนี้ a = = b ท�ำการเปรียบเทยี บผลลพั ธ์จะเปน็ จริงเมอื่ a เท่ากบั b ผลลัพธ์คือ False a ! = b ท�ำการเปรียบเทยี บผลลัพธ์จะเปน็ จริงเมอ่ื a ไมเ่ ทา่ กับ b ผลลพั ธ์คือ True a < b ท�ำการเปรยี บเทียบผลลพั ธ์จะเปน็ จรงิ เมอ่ื a นอ้ ยกว่า b ผลลพั ธค์ ือ False a < = b ท�ำการเปรียบเทียบผลลพั ธ์จะเป็นจริงเมื่อ a นอ้ ยกวา่ หรอื เท่ากับ b ผลลพั ธ์คือ False a > b ท�ำการเปรียบเทียบผลลพั ธ์จะเปน็ จรงิ เมื่อ a มากกวา่ b ผลลพั ธ์คอื True a > = b ท�ำการเปรยี บเทยี บผลลพั ธจ์ ะเปน็ จรงิ เมอ่ื a มากกวา่ หรอื เทา่ กบั b ผลลพั ธค์ อื True
146 บทท่ี 4 โปรแกรม Microsoft Visual C# 3. ตัวด�ำเนินการทางตรรกศาสตร์ (Logical Operator) ผลลัพธ์ที่ได้จะเป็น True หรือ False เทา่ นัน้ ตัวด�ำเนินการ คำ� อธิบาย ตวั อย่างการน�ำไปใช้ ผลลพั ธ์ที่ได้ เมอ่ื a = True, b = False ! นเิ สธ (Negation) False && และ (And) !a False | | หรอื (Or) a && b True ^ Exclusive Or a||b True a^b จากผลลพั ธท์ ไี่ ด้ สรปุ หลักการท�ำงานของตวั ด�ำเนินการทางตรรกศาสตร์ ดังนี้ !a ผลลพั ธ์ คอื นิเสธของ a ซึง่ มคี า่ ความจรงิ ตรงข้ามกับ a เมือ่ a เป็น True ผลลัพธ์ จงึ เปน็ False a && b ผลลัพธจ์ ะเป็นจริง เมอื่ a และ b ตา่ งเปน็ จริง a | | b ผลลัพธ์จะเปน็ จรงิ เมอ่ื a หรือ b เป็นจรงิ a ^ b ผลลัพธจ์ ะเปน็ จริง เม่ือ a กบั b มคี ่าความจรงิ ตา่ งกนั 4. ตัวด�ำเนินการเพิ่มค่าและลดค่า ดังนี้ ตวั ด�ำเนินการเพิ่มคา่ ขนึ้ 1 ค่า คือ + + ตัวอยา่ ง a + + หมายถงึ a = a + 1 ตัวด�ำเนนิ การลดค่าลง 1 ค่า คอื – – ตวั อย่าง a – – หมายถึง a = a – 1 ทั้งน้ี การวางต�ำแหนง่ ของตวั ด�ำเนินการมคี วามหมายต่างกัน ถา้ น�ำตัวด�ำเนนิ การไวด้ า้ นหน้า เรยี กว่า Prefix แต่ถา้ น�ำตวั ด�ำเนนิ การไวด้ ้านหลัง เรียกวา่ Postfix ตวั อยา่ งเมอ่ื b = 10 a = b + + เปน็ การก�ำหนดค่าให้ตวั แปร a ก่อนเพ่มิ คา่ ใหต้ วั แปร b จะได้ a = b แลว้ จึง b = b + 1 ผลลพั ธข์ อง a คือ 10 ผลลัพธ์ของ b คอื 11 a = + + b เปน็ การเพม่ิ คา่ ให้ตัวแปร b ก่อนการก�ำหนดค่าให้ตัวแปร a จะได้ b = b + 1 แล้วจงึ a = b ผลลพั ธข์ อง a คอื 11 ผลลพั ธ์ของ b คอื 11
การสรา้ งเกมคอมพิวเตอร์เบ้ืองต้น 147 a = b – – เปน็ การก�ำหนดคา่ ใหต้ ัวแปร a ก่อนลดค่าให้ตวั แปร b จะได้ a = b แลว้ จึง b = b – 1 ผลลพั ธข์ อง a คือ 10 ผลลพั ธข์ อง b คือ 9 a = – – b เปน็ การลดคา่ ใหต้ ัวแปร b กอ่ นการก�ำหนดค่าใหต้ วั แปร a จะได้ b = b – 1 แล้วจึง a = b ผลลัพธ์ของ a คือ 9 ผลลพั ธข์ อง b คือ 9 5. ตัวด�ำเนินการก�ำหนดค่า เม่ือ a = 5 และ b = 3 ดังนี้ ตัวดำ� เนินการ คำ� อธบิ าย ตวั อย่างการนำ� ไปใช้ ผลลัพธท์ ี่ได้ = ก�ำหนดคา่ a = b เป็นการน�ำคา่ b ให้ a 3 + = เพิ่มคา่ แล้วก�ำหนดคา่ a + = b มีค่าเทา่ กับ a = a + b 8 – = ลดค่า แลว้ ก�ำหนดคา่ a – = b มีคา่ เท่ากบั a = a – b 2 * = คณู แลว้ ก�ำหนดคา่ a * = b มคี า่ เทา่ กบั a = a * b 15 / = หาร แล้วก�ำหนดค่า a / = b มีคา่ เทา่ กับ a = a / b 1.67 % = หาเศษจากการหาร แลว้ ก�ำหนดคา่ a % = b มคี ่าเท่ากับ a = a % b 2 ถ้าเป็น String เครื่องหมาย + คือการน�ำ String 2 คา่ มาตอ่ กนั (Concatenate) เช่น a + b ผลลพั ธ์คอื ab การเขยี นค�ำอธิบายโปรแกรม เม่อื ต้องการเขียนค�ำอธิบายโปรแกรม สามารถท�ำได้ 2 วิธี คือ 1. ค�ำอธิบายหนึ่งบรรทดั ใชเ้ คร่ืองหมาย // น�ำหนา้ ข้อความท่ตี ้องการอธบิ าย 2. ค�ำอธบิ ายมากกวา่ หนง่ึ บรรทดั ใชเ้ ครอื่ งหมาย /* น�ำหนา้ ขอ้ ความ และปดิ ดว้ ยเครอ่ื งหมาย */ การแปลงชนิดขอ้ มูล ในการท�ำงาน เราไม่สามารถน�ำข้อมูลต่างชนิดมาท�ำงานร่วมกันได้ จึงตอ้ งท�ำการแปลงใหเ้ ปน็ ข้อมูลชนิดเดียวกนั จงึ สามารถท�ำไดด้ งั น้ี
148 บทที่ 4 โปรแกรม Microsoft Visual C# Method หมายถึง ตัวอย่างการใช้ int.Parse(ขอ้ ความ); แปลงขอ้ มลู ชนดิ ตวั อกั ษร a = int.Parse(textBox1.Text) (String) ใหเ้ ป็นขอ้ มูลชนิด หมายถงึ แปลงขอ้ มลู ชนดิ String ตัวเลขจ�ำนวนเต็ม (int) ท่ีรับจาก textBox1 เป็นขอ้ มูลตัวเลข จ�ำนวนเตม็ และเกบ็ ค่าในตัวแปร a double.Parse(ข้อความ); แปลงขอ้ มูลชนิดตัวอักษร (String) ให้เปน็ ขอ้ มลู ตวั เลข b = int.Parse(“999”); หมายถงึ ทศนยิ ม (double) แปลงขอ้ มูลชนิด String “999” ใหเ้ ปน็ ตัวเลข 999 แลว้ เก็บคา่ ใน ToString(); แปลงชนิดข้อมลู ให้เป็นชนดิ ตวั ตัวแปร b อกั ษร (String) c = double.Parse(textBox1.Text); หมายถึง แปลงขอ้ มลู String ท่รี ับจาก DateTime.Now.To- แปลงขอ้ มลู ชนดิ วนั เวลา textBox1 เป็นขอ้ มูลตัวเลขทศนิยม string(); (DateTime) ใหเ้ ป็นชนิด และเก็บค่าในตัวแปร c ตัวอกั ษร (String) d = double.Parse(“99.99”); หมายถึง แปลงขอ้ มลู String “99.99” เปน็ ตัวเลขทศนิยม 99.99 แล้วเกบ็ ค่า ในตวั แปร d int e = 50; textBox1.Text = e.ToString(); หมายถงึ แปลงชนิดข้อมลู int ซงึ่ คือ ตัวเลข 50 ใหเ้ ปน็ ข้อมลู ชนิดตัวอักษร (String) แล้วแสดงผลใน textBox1 เน่อื งจาก textbox สามารถแสดงผล เฉพาะขอ้ มูลชนิดตวั อักษร (String) เท่าน้นั f = DateTime.Now.ToString(); หมายถึง แปลงขอ้ มูลวนั เวลาปจั จบุ นั ใหเ้ ป็นขอ้ มลู ชนดิ ตวั อักษร แล้วเก็บค่า ในตวั แปร f
การสรา้ งเกมคอมพิวเตอรเ์ บอ้ื งต้น 149 แบบทดสอบและกิจกรรม การฝึกทักษะ บทที่ 4 ค�ำชีแ้ จง นกั เรียนเลอื กค�ำตอบที่ถกู ตอ้ งทสี่ ดุ เพยี งค�ำตอบเดยี ว 1. ข้อใด กลา่ วถูกต้อง ก. โปรแกรมเรม่ิ ท�ำงานจากขวาไปซา้ ย จงึ เขยี นโปรแกรมน�ำเขา้ ขอ้ มลู ประมวลผล และแสดงผลขอ้ มลู ข. โปรแกรมเรมิ่ ท�ำงานจากซา้ ยไปขวา จงึ เขยี นโปรแกรมแสดงผลขอ้ มลู ประมวลผล และน�ำเขา้ ขอ้ มลู ค. โปรแกรมเรมิ่ ท�ำงานจากลา่ งขนึ้ บน จงึ เขยี นโปรแกรมแสดงผลขอ้ มลู ประมวลผล และน�ำเขา้ ขอ้ มลู ง. โปรแกรมเรมิ่ ท�ำงานจากบนลงลา่ ง จงึ เขยี นโปรแกรมน�ำเขา้ ขอ้ มลู ประมวลผล และแสดงผลขอ้ มลู 2. ขอ้ ใด หมายถงึ หนา้ ตา่ งทใี่ ชส้ �ำหรบั การออกแบบหนา้ ตาของแอปพลเิ คชนั โดยการลากคอนโทรลมาวาง ก. Solution Explorer ข. Form Designer ค. Toolbar ง. Toolbox 3. Event Driven Programming หมายถึง ขอ้ ใด ก. เหตุการณ์ที่เกิดขนึ้ หลังปิดโปรแกรม ข. การท�ำงานใน Form Design ค. การท�ำงานทีต่ อบสนองต่อเหตุการณ ์ ง. การโปรแกรมกอ่ นการรนั เหตกุ ารณข์ องโปรแกรม 4. หมายเลขใด หมายถงึ โปรแกรมทเ่ี ปน็ เหตุการณเ์ มือ่ คลกิ button1 หมายเลข 1 หมายเลข 2 หมายเลข 3 หมายเลข 4
150 บทที่ 4 โปรแกรม Microsoft Visual C# ก. หมายเลข 4 ข. หมายเลข 3 ค. หมายเลข 2 ง. หมายเลข 1 5. เคร่ืองหมายใดตอ้ งอยหู่ ลังช่อื namespace และเคร่ืองหมายใด อย่บู รรทดั ล่างสดุ ของโปรแกรม ก. เครอ่ื งหมายทอี่ ยหู่ ลงั ชอื่ namespace คอื “ เครอ่ื งหมายทอ่ี ยบู่ รรทดั ลา่ งสดุ ของโปรแกรม คอื ” ข. เครอ่ื งหมายทอ่ี ยหู่ ลงั ชอื่ namespace คอื [ เครอื่ งหมายทอ่ี ยบู่ รรทดั ลา่ งสดุ ของโปรแกรม คอื ] ค. เครอื่ งหมายทอ่ี ยหู่ ลงั ชอื่ namespace คอื { เครอื่ งหมายทอ่ี ยบู่ รรทดั ลา่ งสดุ ของโปรแกรม คอื } ง. เครอื่ งหมายทอ่ี ยหู่ ลงั ชอื่ namespace คอื ( เครอื่ งหมายทอี่ ยบู่ รรทดั ลา่ งสดุ ของโปรแกรม คอื ) 6. หมายเลขใด คอื ตวั เลือกให้แสดงหรือไมแ่ สดงหมายเลขบรรทดั ในการเขียนโปรแกรม 1 2 3 4 5 ก. หมายเลข 2 ข. หมายเลข 5 ค. หมายเลข 3 ง. หมายเลข 1 7. สถานะของฟอร์มในข้อใด ถกู ตอ้ ง ก. Normal / Minimized / Maximized / Close / CS Form / Design Form ข. Normal / Minimized / Maximized / Close / CS Form ค. Normal / Minimized / Maximized / Close ง. Normal / Minimized / Maximized 8. ข้อใด ถกู ต้อง เก่ียวกบั สีตัวอักษรในการเขียนโปรแกรม ก. สฟี า้ คอื ช่ือคลาส (Class) ท่ีเกบ็ เมท็อด (Method) ในการเขียนโปรแกรม ข. สีนำ้� เงนิ คือ คา่ คงที่ท่ีเป็นขอ้ ความ (String) ตวั อกั ขระ (Char) ในเคร่อื งหมาย “ ” และ ‘ ’ เทา่ นนั้ ค. สเี ขียว คือ ค�ำสงั่ ท่เี ปน็ ค�ำสงวนของโปรแกรม และช่ือของตัวแปร ง. สีด�ำ คอื ค�ำอธบิ ายโปรแกรม ไม่มผี ลตอ่ การท�ำงาน
การสร้างเกมคอมพวิ เตอรเ์ บ้อื งตน้ 151 9. จากภาพ คือ คอนโทรลใด ก. ComboBox ข. ListBox ค. TextBox ง. CheckBox 10. ขอ้ ใด ถูกตอ้ ง เกี่ยวกับค�ำอธิบายโปรแกรม ก. ค�ำอธบิ ายหน่งึ บรรทดั ใช้ // ถ้ามากกว่าหนง่ึ บรรทัด ใช้ /* น�ำหน้าขอ้ ความ และปิดด้วย */ ข. ค�ำอธิบายหน่ึงบรรทัด ใช้ / ถ้ามากกวา่ หนึ่งบรรทัด ใช้ /* น�ำหนา้ ข้อความ และปิดด้วย */ ค. ค�ำอธบิ ายหนึ่งบรรทัด ใช้ // ถา้ มากกวา่ หน่ึงบรรทัด ใช้ */ น�ำหนา้ ขอ้ ความ และปดิ ดว้ ย /* ง. ค�ำอธบิ ายหนง่ึ บรรทัด ใช้ / ถ้ามากกวา่ หน่งึ บรรทัด ใช้ */ น�ำหน้าข้อความ และปดิ ด้วย /* ค�ำชแี้ จง นกั เรียนน�ำชื่อเมนู ใสห่ น้ากล่มุ ค�ำสง่ั ของเมนูให้ถกู ตอ้ ง Format Help Team Project Edit Test File Window Data Debug Build View Tools ____________ 1. กลุ่มค�ำสัง่ เกีย่ วกบั การหาข้อผิดพลาดของโปรเจกต์ ____________ 2. กลุม่ ค�ำสง่ั ขอความชว่ ยเหลือจาก Visual Studio ____________ 3. กลุ่มค�ำสั่งเกีย่ วกับการจดั รปู แบบการแสดงผล ____________ 4. กลมุ่ ค�ำสงั่ เกยี่ วกบั โปรเจกต์ เชน่ การสรา้ งโปรเจกตใ์ หม่ การเปดิ โปรเจกต์ การบนั ทกึ ____________ 5. กลุ่มค�ำสั่งเกี่ยวกบั การออกแบบ Form ____________ 6. กลมุ่ ค�ำสัง่ เก่ยี วกบั การใช้งานเคร่อื งมอื ต่าง ๆ ____________ 7. กลมุ่ ค�ำสั่งในการแกไ้ ขการท�ำงานของโปรเจกต์ เช่น การคัดลอก การวาง ____________ 8. กลมุ่ ค�ำสง่ั เกย่ี วกบั การติดตอ่ กับฐานข้อมลู ____________ 9. กลุ่มค�ำสั่งการจัดการโปรเจกต์ เช่น การเพิม่ ฟอร์ม การอา้ งอิง ____________ 10. กลุ่มค�ำส่ังเก่ียวกบั การจัดการรูปแบบการแสดงผล IDE ของ Visual Studio
152 ใบงานประจ�ำหน่วยการเรยี นรทู้ ี่ 4 ใบงานประจำ� หน่วยการเรียนรูท้ ่ี 4 ค�ำชแ้ี จง นกั เรยี นฝึกปฏิบตั ิ และตอบค�ำถามต่อไปนี้ให้ถกู ตอ้ ง 1. นักเรยี นเขียนโปรแกรมทม่ี ีการท�ำงานแบบ Event Driven Programming ด้วย Microsoft Visual C# ตามภาพตวั อย่าง โดยเปลย่ี นชือ่ ฟอรม์ เป็นชือ่ ของนกั เรยี น 2. นกั เรียนเลือก Control ที่เหมาะสมเพ่ือเขียนโปรแกรมตามภาพตวั อย่าง
การสร้างเกมคอมพิวเตอร์เบ้อื งต้น 153 3. นกั เรียนเลือก Control ที่เหมาะสมเพ่อื เขียนโปรแกรมตามภาพตวั อย่าง 4. นักเรียนเลอื ก Control ทเี่ หมาะสมเพ่ือเขยี นโปรแกรมตามภาพตวั อยา่ ง 5. นักเรียนเลือก Control ทเ่ี หมาะสมเพือ่ เขยี นโปรแกรมตามภาพตัวอยา่ ง
154 ใบงานประจ�ำหน่วยการเรียนรู้ท่ี 4 6. นักเรยี นพจิ ารณาชื่อตัวแปรท่กี �ำหนดใหว้ ่าถกู ต้องตามกฎการตงั้ ช่อื ตวั แปรหรือไม่ พร้อมเหตผุ ล ชื่อตวั แปร ถกู ต้อง/ไม่ถูกต้อง เหตผุ ลทีไ่ มถ่ ูกตอ้ ง aaa ......................................................................................... ......................................................................................... string ......................................................................................... ......................................................................................... a_b ......................................................................................... ......................................................................................... 007james ......................................................................................... ......................................................................................... Compu9 ......................................................................................... ......................................................................................... 7. นักเรยี นหาผลลัพธ์จากการใชต้ วั ด�ำเนนิ การเปรยี บเทียบ เม่ือ a = 5 b = 10 ตัวดำ� เนนิ การเปรียบเทยี บ ผลลัพธ์ท่ไี ด้ a==b a!=b a<b a<=b a>b a>=b
การสรา้ งเกมคอมพวิ เตอรเ์ บอื้ งตน้ 155 8. นกั เรยี นหาผลลัพธ์จากการใช้ตัวด�ำเนนิ การทางตรรกศาสตร์ เม่ือ a = False b = True ตวั ด�ำเนินการทางตรรกศาสตร์ ผลลัพธ์ที่ได้ !a a && b a||b a^b 9. นักเรียนหาผลลพั ธ์จากการใช้ตัวด�ำเนินการเพิ่มคา่ ลดค่า และ String เม่ือ b = 35 ตัวดำ� เนนิ การเพมิ่ คา่ ลดคา่ และ String ผลลพั ธท์ ไ่ี ด้ a = b + + a = b = a=++b a = b = a=b-- a = b = a=--b a = b = a+b
156 ใบงานประจ�ำหน่วยการเรยี นรทู้ ่ี 4 10. นกั เรยี นพิจารณาและอธิบายการแปลงขอ้ มลู ตามตวั อย่างทีใ่ ห้ ตวั อย่างการแปลงข้อมลู ค�ำอธบิ าย g = int.Parse(textBox1.Text); ......................................................................................... ......................................................................................... h = int.Parse(“111”); ......................................................................................... ......................................................................................... i = double.Parse(textBox1.Text); ......................................................................................... ......................................................................................... j = double.Parse(“99.99”); ......................................................................................... ......................................................................................... int k = 10; ......................................................................................... textBox1.Text = k.ToString(); ......................................................................................... I = DateTime.Now.ToString(); ......................................................................................... .........................................................................................
แนวคิด บทท่ี 5 โปรแกรม Microsoft Visual C# มี 2 รูปแบบทิศทาง ไดแ้ ก่ การตดั สนิ ใจ และการวนซำ�้ ทิศทางการท�ำงาน ทิศทางการท�ำงานของโปรแกรมแบบตดั สินใจ (Decision) เป็นการก�ำหนด เงอ่ื นไขใหโ้ ปรแกรมทำ� ตามคำ� สง่ั โดยเลอื กจากตวั เลอื กท่ีมใี หแ้ บง่ ได้ 2 แบบ ไดแ้ ก่ ของโปรแกรม การตดั สนิ ใจแบบ 2 เงอื่ นไข และการตัดสนิ ใจแบบมากกวา่ 2 เงื่อนไข ทศิ ทางการทำ� งานของโปรแกรมแบบวนซำ�้ หรอื เรยี กวา่ ลปู (Loop) เปน็ การ ทำ� งานทม่ี กี ารซำ้� กนั หลายครงั้ ตามเงอ่ื นไขมี 3 รปู แบบ คอื 1. for () 2. While () 3. do...While () ค�ำส่ังท่ีใช้ในงานจ�ำเป็นต้องขัดจังหวะการท�ำงานของโปรแกรมทั้งขณะ ตดั สินใจหรอื วนซำ�้ ได้แก่ break, continue, return, goto สาระการเรียนรู้ 1. ทิศทางการท�ำงานของโปรแกรม สมรรถนะประจ�ำ บท 1. เรยี นรูท้ ิศทางการทำ� งานของโปรแกรม 2. ปฏบิ ตั ิการใช้ค�ำสั่งที่ใช้ในการเขยี นโปรแกรมแบบต่าง ๆ จดุ ประสงคเ์ ชงิ พฤตกิ รรม 1. อธิบายรปู แบบทิศทางการท�ำงานของโปรแกรม 2. อธบิ ายค�ำสัง่ ทใี่ ช้ในการเขยี นโปรแกรมในรปู แบบตา่ ง ๆ 3. ปฏบิ ัติการใช้ค�ำสัง่ ท่ใี ช้ในการเขียนโปรแกรมในรปู แบบต่าง ๆ
158 บทที่ 5 ทิศทางการท�ำงานของโปรแกรม ทศิ ทางการทำ� งาน ของโปรแกรม บทท่ี 5 ทศิ ทางการทำ� งานของโปรแกรม โปรแกรม Microsoft Visual C# มี 2 รปู แบบทศิ ทาง ไดแ้ ก่ การตัดสินใจ และการวนซ�้ำ ดงั นี้ การตดั สนิ ใจ (Decision) การวนซำ้� (Iteration) ค�ำสั่ง การท�ำงานของคำ� สัง่ ค�ำสัง่ การท�ำงานของคำ� สั่ง if…else… เลือก 1 ตวั เลือก 1 เง่ือนไข for วนซ้�ำแบบจำ� นวนรอบทีแ่ นน่ อน if…else…if เลือก 1 ตัวเลือก หลายเงอ่ื นไข while จ�ำนวนวนรอบขึน้ อยกู่ ับเงอ่ื นไข switch-case เลือก 1 ตัวเลอื ก หลายตัวเลอื ก do…while จ�ำนวนวนรอบข้ึนอยู่กับเงื่อนไข แต่ท�ำงานก่อน 1 รอบแล้วจึง ตรวจสอบเง่อื นไข
การสรา้ งเกมคอมพิวเตอรเ์ บอื้ งตน้ 159 ทศิ ทางการท�ำงานของโปรแกรมแบบตัดสนิ ใจ ทศิ ทางการท�ำงานของโปรแกรมแบบตัดสนิ ใจ (Decision) เปน็ การก�ำหนดเง่อื นไขให้โปรแกรม ทำ� ตามคำ� สง่ั โดยเลอื กจากตัวเลือกทมี่ ใี ห้ ซงึ่ พจิ ารณาจากตวั แปรทกี่ ำ� หนดเปน็ เงอื่ นไข ท่ีใช้ตัวด�ำเนนิ การ แบบต่าง ๆ มาใช้ในการตัดสินใจ สามารถแบ่งได้ 2 แบบ ได้แก่ การตัดสินใจแบบ 2 เง่ือนไข และ การตดั สินใจแบบมากกวา่ 2 เง่ือนไข ค�ำสง่ั ทใ่ี ช้ในการเขียนโปรแกรมแบบตัดสนิ ใจ if เปน็ คำ� สงั่ ทก่ี ำ� หนดการทำ� งานทม่ี กี ารเลอื กหนง่ึ ตวั เลอื ก ถา้ เงอื่ นไขเปน็ จรงิ (True) จะทำ� ตาม ค�ำสั่งทีอ่ ยภู่ ายในเคร่อื งหมายวงเลบ็ ปีกกา รปู แบบ กรณีเงอ่ื นไขเดียว (Single Statement) if (เงื่อนไข) {คำ� ส่ังที่มีเงื่อนไขเป็นจริง; } ตวั อย่าง รปู แบบ กรณมี ากกวา่ หนึ่งเง่อื นไข (Compound Statement) if (เงอ่ื นไข) { คำ� ส่งั 1 เมือ่ เงื่อนไข เป็นจรงิ ; คำ� ส่งั 2 เมอ่ื เงือ่ นไข เปน็ จริง; ค�ำสัง่ 3 เมื่อเงอ่ื นไข เปน็ จริง; ... ค�ำสง่ั n เมอื่ เงอื่ นไข เปน็ จรงิ ; }
160 บทที่ 5 ทิศทางการท�ำงานของโปรแกรม ตวั อยา่ ง if…else… เป็นการท�ำงานทเี่ ลือกหนึง่ ตวั เลือก จาก 2 ตวั เลอื ก ถ้าเงอื่ นไขเปน็ จรงิ จะทำ� งานใน คำ� ส่ังหลงั เงือ่ นไขท่อี ย่ภู ายในวงเล็บปีกกา แต่ถ้าเป็นเทจ็ จะท�ำงานในคำ� ส่ังหลงั else ท่ีอยภู่ ายในวงเลบ็ ปีกกา รูปแบบ if…else… if (เง่ือนไข) { ค�ำส่ังท�ำงาน เมื่อเงือ่ นไขเป็นจรงิ ; } else { ค�ำสง่ั ทำ� งาน เมอ่ื เงอ่ื นไขเปน็ เทจ็ ; } ตวั อย่าง if…else…
การสร้างเกมคอมพิวเตอร์เบอื้ งตน้ 161 ตัวอยา่ งการเขยี นโปรแกรมแบบ if…else… ข้ันตอนท่ี 1 สร้างฟอรม์ ตามภาพและก�ำหนดคณุ สมบตั ิ Text ของ label2 โดยลบ label2 1. สร้างฟอร์ม 2. ก�ำหนดคุณสมบัติ ตามภาพ Text ของ label2 โดยลบ label2 ขนั้ ตอนที่ 2 เขยี นโค้ด โดยดบั เบลิ คลิกท่ปี มุ่ “ตรวจสอบพลัง” ดงั ภาพ ภาพผลลัพธ์ของโปรแกรมเมื่อเงอ่ื นไขเป็นจริง ภาพผลลพั ธ์ของโปรแกรมเมอื่ เงื่อนไขเป็นเท็จ
162 บทที่ 5 ทศิ ทางการทำ� งานของโปรแกรม if…else…if เปน็ การทำ� งานทม่ี กี ารตรวจสอบเงอ่ื นไขมากกวา่ 1 เงอื่ นไข ซง่ึ เปน็ เงอ่ื นไขทซี่ อ้ นกนั รปู แบบ if…else…if if (เงื่อนไข1) { คำ� ส่ังทำ� งาน เม่อื เงื่อนไข 1 เปน็ จรงิ ; } else if (เงือ่ นไข 2) { คำ� สง่ั ทำ� งาน เมอ่ื เงอ่ื นไข 2 เป็นจริง; } else { คำ� สัง่ ทำ� งาน เมอ่ื เงือ่ นไข 1 และเงื่อนไข 2 เป็นเท็จ; } ตวั อย่าง if…else…if ตวั อย่างการเขียนโปรแกรมแบบ if…else…if ขั้นตอนที่ 1 สร้างฟอร์มตามภาพ และก�ำหนดคุณสมบัติ Text ของ label3 โดยลบ label3
การสร้างเกมคอมพิวเตอรเ์ บอ้ื งตน้ 163 ขน้ั ตอนที่ 2 เขยี นโคด้ โดยดับเบิลคลกิ ที่ปมุ่ “ตรวจสอบระดบั ” ดงั ภาพ ภาพผลลัพธข์ องโปรแกรมเม่อื เงือ่ นไขท่ี 1 เป็นจรงิ ภาพผลลพั ธข์ องโปรแกรมเมอ่ื เงอ่ื นไขที่ 2 เป็นจริง ภาพผลลัพธข์ องโปรแกรมเม่ือเงอ่ื นไขที่ 3 เปน็ จริง ภาพผลลพั ธข์ องโปรแกรมเมอ่ื เงื่อนไขท่ี 4 เปน็ จรงิ
164 บทที่ 5 ทศิ ทางการทำ� งานของโปรแกรม ภาพผลลัพธข์ องโปรแกรมเมอ่ื เง่ือนไขที่ 1, 2, 3 และ 4 เปน็ เท็จ switch…else เป็นการท�ำงานทเ่ี ลือกหนึ่งตัวเลอื กจากหลายตัวเลือก ซ่ึงใช้ตัวแปรตรวจสอบ การท�ำงานทต่ี รงกบั ตวั เลือกใด เนอ่ื งจากตัวเลือกแตล่ ะตวั มีการก�ำหนดการท�ำงานท่ีแตกตา่ งกัน รูปแบบ switch…else switch (ตัวแปรตรวจสอบ) { case คา่ คงที่ 1 : คำ� ส่ังท�ำงาน เมอ่ื ค่าตัวแปรตรวจสอบตรงกับค่าที่ 1; break; case ค่าคงท่ี 2 : ค�ำสงั่ ท�ำงาน เมอ่ื ค่าตัวแปรตรวจสอบตรงกบั คา่ ท่ี 2; break; case ค่าคงท่ี 3 : ค�ำสั่งทำ� งาน เมอ่ื ค่าตัวแปรตรวจสอบตรงกบั ค่าท่ี 3; break; … case ค่าคงท่ี n : คำ� ส่งั ทำ� งาน เมื่อค่าตัวแปรตรวจสอบตรงกบั ค่าที่ n; break; default : คำ� สง่ั ทำ� งาน เม่ือค่าตวั แปรตรวจสอบไม่ตรงกบั ค่าท่ี 1 ถึง ค่าท่ี n } ตวั อยา่ ง switch…else
การสร้างเกมคอมพิวเตอร์เบ้อื งตน้ 165 ตวั อย่างการเขียนโปรแกรมแบบ switch…else ข้ันตอนท่ี 1 สรา้ งฟอรม์ ตามภาพ ขั้นตอนที่ 2 เขยี นโคด้ โดยดบั เบลิ คลกิ ที่ปุ่ม “ท�ำนาย” ดังภาพ ภาพผลลพั ธ์ของโปรแกรมตรวจสอบเง่ือนไข ตรงกบั case 0 ภาพผลลพั ธ์ของโปรแกรมตรวจสอบเงือ่ นไข ตรงกบั case 1
166 บทท่ี 5 ทศิ ทางการท�ำงานของโปรแกรม ภาพผลลัพธ์ของโปรแกรมตรวจสอบเง่ือนไข ตรงกับ case 2 ภาพผลลัพธ์ของโปรแกรมตรวจสอบเงื่อนไข ตรงกบั case 3 ภาพผลลัพธข์ องโปรแกรมตรวจสอบเงอ่ื นไข ตรงกับ case 4 ทศิ ทางการท�ำงานของโปรแกรมแบบวนซำ้� ทศิ ทางการทำ� งานของโปรแกรมแบบวนซำ�้ หรอื เรยี กวา่ ลปู (Loop) เปน็ การทำ� งานทมี่ กี ารซำ้� กนั หลายครั้งตามเงอ่ื นไข มี 3 รปู แบบ คือ 1) for ( ) 2) while ( ) และ 3) do…while ( ) ค�ำสง่ั ที่ใช้ในการเขียนโปรแกรมแบบวนซ�ำ้ for ( ) เป็นค�ำสั่งวนซ�้ำท่ีมีจ�ำนวนรอบท่ีแน่นอน เป็นการท�ำงานตามจ�ำนวนรอบที่ก�ำหนดไว้ โดยใช้ตัวแปรก�ำหนดค่าเริ่มต้น ท�ำการตรวจสอบเง่ือนไข เมื่อเง่ือนไขเป็นจริงก็ท�ำตามค�ำส่ัง และปรับ จำ� นวนรอบตามท่ีกำ� หนด
การสร้างเกมคอมพวิ เตอร์เบื้องต้น 167 รปู แบบการใช้คำ� ส่งั for ( ) for (คา่ ดัชนนี ับจำ� นวนรอบ = จ�ำนวนรอบเรมิ่ ต้น; เงอ่ื นไขสำ� หรับหยุดการวนซ้�ำ; ปรับจำ� นวนรอบ) { ค�ำสั่ง; } ตวั อย่างการใชง้ าน จากตวั อยา่ งการใชง้ าน อธิบายได้ดงั น้ี คำ� ส่ัง for จะทำ� คำ� ส่งั i = 1 ในครัง้ แรกเพียงคร้ังเดยี วเทา่ น้นั แลว้ จงึ ตรวจสอบเง่อื นไข i <= 12 วา่ เงือ่ นไขเปน็ จริงหรือไม่ ถ้าตรวจสอบแล้วเง่อื นไขเป็น จรงิ จะ เข้าไป ท�ำงานตามค�ำสัง่ ในวงรอบ ถา้ ตรวจสอบแลว้ เงื่อนไขเปน็ เทจ็ จะ ไม่เขา้ ไป ทำ� งานตามคำ� สัง่ ในวงรอบ เม่อื ทำ� งานคำ� ส่ังในวงรอบตามเงื่อนไขทก่ี �ำหนดแล้ว จะกลับมาท�ำตามค�ำสงั่ i ++ คือ ท�ำการเพม่ิ คา่ i ข้ึนอกี 1 คา่ ตวั อย่างการเขยี นโปรแกรมแบบ for ( ) ข้นั ตอนที่ 1 สรา้ งฟอร์มตามภาพ 2. ดับเบลิ คลกิ ท่ีปมุ่ “แสดง” เพอื่ เขียนโค้ดตามขน้ั ตอนท่ี 2 1. สร้างฟอร์มตามภาพ
168 บทที่ 5 ทิศทางการทำ� งานของโปรแกรม ขั้นตอนที่ 2 เขยี นโค้ด โดยดบั เบิลคลิกทปี่ ุ่ม “แสดง” ดงั ภาพ ภาพผลลพั ธข์ องโปรแกรม while ( ) เป็นค�ำส่ังวนซ�้ำที่มีจ�ำนวนรอบไม่แน่นอน ทุกครั้งที่จะวนซ�้ำใหม่จะต้องตรวจสอบ เงอ่ื นไขกอ่ นทกุ ครั้ง ถ้าเงอื่ นไขเป็นจรงิ ก็วนซ�ำ้ ตอ่ ไป แต่ถา้ เงื่อนไขเปน็ เท็จจะหยุดการวนซ�้ำ รปู แบบการใชค้ ำ� สั่ง while ( ) ตัวอย่างการใชง้ าน while (เง่อื นไข) { ค�ำสั่ง; }
การสร้างเกมคอมพิวเตอร์เบ้ืองต้น 169 จากตวั อย่างการใชง้ าน อธบิ ายไดด้ ังน้ี ค�ำส่ัง while จะทำ� การตรวจสอบเง่อื นไข i <= 10 ว่าเงือ่ นไขเป็นจริงหรือเท็จ ถา้ ตรวจสอบแล้วเง่อื นไขเป็น จริง จะ เข้าไป ท�ำงานตามค�ำสงั่ ในวงรอบ ถ้าตรวจสอบแล้วเงอ่ื นไขเปน็ เทจ็ จะ ไม่เข้าไป ทำ� งานตามคำ� สั่งในวงรอบ เมื่อท�ำงานค�ำส่ังในวงรอบครบแล้วจะกลับมาท�ำงานที่ค�ำสั่ง while เพ่ือตรวจสอบ เงื่อนไขอีกครง้ั จนกว่าเง่ือนไขจะเป็นเท็จจึงจบการท�ำงานวนซ้ำ� ตัวอยา่ งการเขียนโปรแกรมแบบ while ( ) ขน้ั ตอนท่ี 1 สรา้ งฟอรม์ ตามภาพ ข้นั ตอนที่ 2 เขยี นโค้ด โดยดับเบลิ คลิกท่ปี มุ่ “จำ� นวนค่”ู ดังภาพ
170 บทที่ 5 ทิศทางการทำ� งานของโปรแกรม ภาพผลลัพธ์ของโปรแกรม do…while เป็นค�ำสั่งวนซ�้ำที่มีจ�ำนวนรอบไม่แน่นอน ท�ำค�ำส่ังก่อน 1 คร้ังแล้วจึงตรวจสอบ เงื่อนไข ถ้าเงอื่ นไขเป็นจรงิ จะทำ� ซำ้� ในวงรอบต่อไป แตถ่ า้ เงื่อนไขเป็นเท็จจะจบการท�ำซ้�ำ รปู แบบการใชค้ ำ� สงั่ do while do { คำ� ส่งั ; } while (เงือ่ นไข) ตวั อย่างการใช้งาน
การสร้างเกมคอมพิวเตอรเ์ บอ้ื งตน้ 171 จากตวั อยา่ งการใชง้ าน อธบิ ายได้ดงั น้ี ค�ำสั่ง do จะท�ำคำ� สงั่ ในวงรอบก่อน แลว้ จึงทำ� คำ� สง่ั while โดยตรวจสอบเงอ่ื นไข ถา้ ตรวจสอบแลว้ เงอื่ นไขเป็น จรงิ จะ เขา้ ไป ท�ำงานตามค�ำส่ังในวงรอบ ถ้าตรวจสอบแลว้ เง่อื นไขเป็น เท็จ จะ ออกจาก วงรอบ ตวั อยา่ งการเขยี นโปรแกรมแบบ do…while ( ) ข้ันตอนที่ 1 สรา้ งฟอร์มตามภาพ ขั้นตอนท่ี 2 เขยี นโคด้ โดยดบั เบิลคลิกทป่ี มุ่ “ค�ำนวณ” ดังภาพ
172 บทที่ 5 ทิศทางการท�ำงานของโปรแกรม ภาพผลลัพธ์ของโปรแกรม ค�ำสง่ั ขัดจงั หวะการท�ำงานของโปรแกรม คำ� สง่ั ทใ่ี ชใ้ นการจำ� เปน็ ตอ้ งขดั จงั หวะการทำ� งานของโปรแกรม ทงั้ ขณะตดั สนิ ใจหรอื วนซำ�้ มดี งั นี้ คำ� ส่ัง ขัน้ ตอนการขัดจงั หวะการทำ� งาน break หยดุ การทำ� งาน โดยไม่สนใจการวนซำ�้ continue หยดุ การทำ� งานในการวนซำ�้ เท่านนั้ ซง่ึ โปรแกรมจะหยดุ วนซ้�ำในรอบนัน้ และขา้ ม ไปทำ� งานในรอบถดั ไป โดยไม่สนใจคำ� สง่ั ที่ยังไมท่ ำ� งานในการวนซำ�้ ในรอบน้ัน ๆ return ออกจากการท�ำงานของโปรแกรมย่อยหรือจบการท�ำงานของ Method goto ให้โปรแกรมขา้ มไปทำ� งาน ณ จุดใด ๆ ภายในวงเล็บปีกกาของการท�ำงานแบบวนซำ้� หรอื ทางเลอื กทีก่ �ำลังทำ� งานอยู่ โดยก�ำหนดจุดทข่ี า้ มไปทำ� งานได้
การสรา้ งเกมคอมพวิ เตอร์เบอื้ งตน้ 173 ตัวอยา่ งโปรแกรมทใ่ี ชง้ านคำ� สั่งขดั จังหวะ ข้ันตอนที่ 1 ออกแบบฟอรม์ ตามภาพ ขนั้ ตอนที่ 2 ดับเบิลคลกิ ปุ่ม “เลือกดา่ นแบบ Break” แลว้ ลงโคด้ ดังภาพ ขัน้ ตอนท่ี 3 ดบั เบิลคลิกปมุ่ “เลือกดา่ นแบบ Continue” แล้วลงโคด้ ดงั ภาพ
174 บทที่ 5 ทศิ ทางการท�ำงานของโปรแกรม ผลลัพธข์ องโปรแกรม เม่อื คลกิ ปุ่ม “เลือกด่านแบบ Break” ครง้ั ที่ 1 ครั้งท่ี 2 คคคคคคคคุุณุณณุณุุณณุณณุ ผผผผผผผผ่่่าา่่า่่าาา่าานนนนนนนนดดดดดดดดาา่่าา่่่่าาา่า่ นนนนนนนนททททททททีี่่่ี่ี่่ีีี่ี่ 84315726 แแแแแแแแลลลลลลลลว้้ว้้ว้วว้้ว้วว คคณุณุ ผผาา่่ นนดดา่า่ นนทท่ี่ี 12 แแลล้ว้ว คุณตอ้ งเขา้ แบตเทลิ ดา่ นท่ี 8 คุณต้องเขา้ แบตเทิล ด่านที่ 2 ผลลพั ธข์ องโปรแกรม เมือ่ คลกิ ปมุ่ “เลือกดา่ นแบบ Continue” ครงั้ ท่ี 1 ครงั้ ที่ 2 - - คค-คคคคคคคณุุุณุุณณุุณณณุณณุcoผผผผผผผผผnาา่่า่าา่่่าาา่า่่ tนนนนนนนนนinดดดดดดดดดu่า่่าาาา่าา่่า่่่าeนนนนนนนนนททททททททท-่ี่่่่ีีีีี่่ี่ี่ี - 387154691-0 แแแแแแแแ แลลลลลลลลลว้ว้วววว้้วว้้้้ ว้ - - คคคคค-คคคคุุณุุณุณณณุณณุณุุณcoผผผผผผผผผn่า่่า่า่าา่่่าา่าาtนนนนนนนนนinดดดดดดดดดu่าาา่่าา่่าา่่า่า่ eนนนนนนนนนททททททททท-ี่่ี่ีี่่ี่ี่ี่ีี่ - 781263149-0 แแแแแแแแ แลลลลลลลลล้วว้ว้้ว้ว้้วว้วว้ คณุ ต้องเขา้ แบตเทิล ดา่ นท่ี 2 คณุ ต้องเข้าแบตเทิล ด่านท่ี 5 อธิบายการท�ำงานของโปรแกรมทใ่ี ชง้ านคำ� ส่งั ขดั จังหวะ จากภาพผลลพั ธ์การเลอื กด่านแบบ Break คร้งั ที่ 1 ข้ันท่ี 1 โปรแกรมสุ่มได้เลข 8 ข้ันที่ 2 โปรแกรมวนซำ้� ทำ� งานจนถงึ รอบที่ 8 จงึ แสดงขอ้ ความ “คณุ ตอ้ งเขา้ แบตเทลิ ดา่ นที่ 8” ขน้ั ที่ 3 โปรแกรมจบการวนซ้�ำ เพราะพบค�ำสงั่ Break จากภาพผลลัพธก์ ารเลอื กดา่ นแบบ Continue คร้ังท่ี 2 ข้นั ที่ 1 โปรแกรมสมุ่ ไดเ้ ลข 5 ขัน้ ที่ 2 โปรแกรมวนซ้�ำท�ำงานจนถงึ รอบที่ 5 จงึ แสดงข้อความ “- - - continue - - -” ขน้ั ที่ 3 โปรแกรมข้ามการท�ำงานท่ีเหลอื ทั้งหมดไปเร่มิ ตน้ ท�ำงานทร่ี อบที่ 5 เพราะพบค�ำส่งั Continue
การสรา้ งเกมคอมพวิ เตอรเ์ บ้ืองต้น 175 การแสดงผลด้วย MessageBox รูปแบบ MessageBox.Show(ขอ้ ความ [, หวั ข้อเรื่อง] [, ปุม่ ] [, สญั รปู ] [, DefaultButton] ); โดย ข้อความ คอื ขอ้ ความทป่ี รากฏบนหนา้ ตา่ งใน MessageBox หัวข้อเร่ือง คือ ข้อความท่ปี รากฏบนแถบชอ่ื เรอื่ งของ MessageBox ปมุ่ คอื ปุม่ ทใ่ี ห้ผใู้ ชเ้ ลอื กหลงั อ่านขอ้ ความแล้ว สัญรปู คือ ภาพประกอบข้อความ DefaultButton คือ ให้เคอรเ์ ซอรไ์ ปรออยู่ ณ ตำ� แหนง่ ของปุม่ ที่ตอ้ งการ ปุ่มที่แสดงผล ปุ่มท่ีปรากฏ Abort Retry Ignore การเรียกใชง้ าน OK MessageBoxButtons.AbortRetryIgnore OK Cancel MessageBoxButton.OK Retry Cancel MessageBoxButton.OKCancel Yes No MessageBoxButton.RetryCancel Yes No Cancel MessageBoxButton.YesNo MessageBoxButton.YesNoCancel สัญรปู ท่แี สดงผล สญั รปู ทป่ี รากฏ การเรียกใช้งาน MessageBoxIcon.Asterisk MessageBoxIcon.Information MessageBoxIcon.Error MessageBoxIcon.Hand MessageBoxIcon.Stop MessageBoxIcon.Exclamation MessageBoxIcon.Warning MessageBoxIcon.Question MessageBoxIcon.None ไมแ่ สดงสัญรูป
176 บทท่ี 5 ทิศทางการท�ำงานของโปรแกรม ตวั อยา่ งการเขียนโปรแกรมเพ่ือใชง้ านการแสดงผล ข้ันตอนที่ 1 สร้างโปรเจกตแ์ บบ Windows Form Application ดบั เบลิ คลิกที่ ฟอรม์ และเขยี นโค้ด ดงั ภาพ ขัน้ ตอนท่ี 2 ดบั เบลิ คลิกท่ี ฟอร์ม และเขยี นโคด้ ดงั ภาพ
การสร้างเกมคอมพวิ เตอรเ์ บื้องตน้ 177 แสดงผลลพั ธโ์ ปรแกรม Yes No Yes No Yes No Yes จบการทำ� งาน
178 บทท่ี 5 ทศิ ทางการทำ� งานของโปรแกรม แบบทดสอบและกจิ กรรม การฝึกทกั ษะ บทที่ 5 เนือ้ หาการเรยี นรู้ จดุ ประสงค์ - ทศิ ทางการท�ำงานของโปรแกรมแบบตัดสนิ ใจ - มคี วามรคู้ วามเขา้ ใจ สามารถเลอื กใชโ้ ปรแกรม - ทศิ ทางการท�ำงานของโปรแกรมแบบวนซำ�้ และเคร่ืองมือท่ีใช้ในการเขียนโปรแกรมเกม - ค�ำส่ังขดั จังหวะการท�ำงาน คอมพิวเตอร์ - การเขยี นโปรแกรมเกม ทดสอบและตดิ ตง้ั ใชง้ าน ค�ำช้แี จง นักเรียนเลือกคำ� ตอบทถ่ี กู ตอ้ งทสี่ ุดเพยี งค�ำตอบเดยี ว 1. การก�ำหนดเงื่อนไขให้โปรแกรมท�ำตามค�ำสง่ั เปน็ ทศิ ทางการท�ำงานของโปรแกรมในข้อใด ก. การตดั สนิ ใจ (Decision) ข. การวนซ้�ำ (Loop) ค. การเรม่ิ โปรแกรม (Start) ง. การสิ้นสุดโปรแกรม (Stop) 2. ค�ำสง่ั ใด ก�ำหนดการท�ำงานที่มีการเลือกหนึ่งตัวเลือก ถ้าเงอ่ื นไขเปน็ จริงจะทำ� ตามค�ำสงั่ ทีอ่ ยภู่ ายใน เครอื่ งหมายวงเล็บปกี กา ก. else ข. while ค. if ง. for 3. ค�ำส่ังใด ท�ำงานโดยเลือกหน่ึงตัวเลือกจากสองตัวเลือก ถ้าเง่ือนไขเป็นจริงจะท�ำงานในค�ำสั่งหลัง เง่อื นไขที่อยูภ่ ายในวงเลบ็ ปกี กา ถา้ เป็นเท็จจะทำ� งานในคำ� ส่งั หลัง else ทอี่ ยภู่ ายในวงเล็บปกี กา ก. if…for ข. switch…case ค. if…else… ง. while…do 4. ค�ำสัง่ ใด มีการท�ำงานที่ตอ้ งตรวจสอบเงอื่ นไขมากกวา่ หน่งึ เง่ือนไข ซงึ่ เป็นเงอ่ื นไขซ้อนเง่อื นไข ก. if…else…if ข. if…switch…case ค. if…do…else… ง. if…while…do
การสร้างเกมคอมพิวเตอร์เบ้อื งต้น 179 5. คำ� สง่ั ใดyทำ� งานโดยเลอื กหนงึ่ ตวั เลอื กจากหลายตวั เลอื กyใชต้ วั แปรตรวจสอบการทำ� งานทต่ี รงกบั ตวั เลอื ก ก. if…else…if ข. switch…case ค. do…while… ง. while 6. ค�ำส่งั ใดใช้ในการวนซำ�้ ทม่ี จี ำ� นวนรอบที่แนน่ อน ท�ำงานตามจ�ำนวนรอบทกี่ �ำหนด และใชต้ ัวแปร ก. while…do ข. switch…case ค. for ง. do…while 7. คำ� สง่ั ใดเปน็ การวนซำ�้ ทมี่ จี ำ� นวนรอบไมแ่ นน่ อน ตรวจสอบเงอื่ นไขกอ่ นทกุ ครง้ั หยดุ เมอ่ื เงอื่ นไขเปน็ เทจ็ ก. switch-case ข. while ค. for ง. do…while 8. ค�ำส่ังใดเป็นการวนซ้�ำท่ีมีจ�ำนวนรอบไม่แน่นอน ท�ำค�ำส่ังก่อน 1 ครั้ง แล้วจึงตรวจสอบเง่ือนไข ถา้ เง่อื นไขเปน็ จรงิ จะท�ำซ�้ำในรอบตอ่ ไป แต่ถ้าเงอ่ื นไขเปน็ เทจ็ จะจบการทำ� ซำ้� ก. switch-case ข. while ค. for ง. do…while 9. ข้อใดกลา่ วถกู ตอ้ ง เกยี่ วกับคำ� สัง่ ขัดจงั หวะการทำ� งานของโปรแกรม ก. break เปน็ คำ� สั่งทหี่ ยุดการท�ำงานโดยไม่สนใจในการวนซำ�้ ข. return เปน็ การหยุดการท�ำงานในการวนซำ้� ในรอบนั้นเทา่ นั้น แตข่ า้ มไปท�ำงานในรอบถัดไป ค. continue เป็นการข้ามการท�ำงานของโปรแกรมในจุดน้นั และไปทำ� งานยังจดุ ตอ่ ไป ง. goto เป็นการออกจากการทำ� งานของโปรแกรมย่อยหรือจบการท�ำงาน 10. ข้อใด คอื รปู แบบการแสดงผลด้วย MessageBox ตามภาพท่กี �ำหนดให้ ก. MessageBox.Show(“เกมขนาดเลก็ พร้อมใหท้ ดลองเลน่ ”, “โลกของเกมขนาดเล็ก”, MessageBoxButtons.YesNo, MessageBoxIcon.Question); ข. MessageBox.Show(“เกมขนาดเลก็ พรอ้ มให้ทดลองเลน่ ”, “โลกของเกมขนาดเล็ก”, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
180 บทท่ี 5 ทิศทางการทำ� งานของโปรแกรม ค. MessageBox.Show(“เกมขนาดเล็ก พร้อมให้ทดลองเล่น”, “โลกของเกมขนาดเล็ก”, MessageBoxButtons.OK, MessageBoxIcon.Question); ง. MessageBox.Show(“เกมขนาดเล็ก พร้อมให้ทดลองเลน่ ”, “โลกของเกมขนาดเลก็ ”, MessageBoxButtons.OK, MessageBoxIcon.Information); คำ� ช้ีแจง นักเรยี นเติมรูปแบบทิศทาง และคำ� สงั่ ของการทำ� งานของคำ� สง่ั ใหถ้ กู ตอ้ ง รูปแบบทศิ ทาง การตดั สินใจ การวนซ�ำ้ คำ� สง่ั if…else… for do…while while switch-case if…else…if ค�ำสัง่ รปู แบบทศิ ทาง การทำ� งานของค�ำส่ัง จำ� นวนวนรอบขน้ึ อยกู่ บั เงอื่ นไข แตท่ ำ� งานกอ่ น 1 รอบ แลว้ จงึ ตรวจสอบเง่ือนไข วนซำ�้ แบบจำ� นวนรอบท่ีแน่นอน เลอื ก 1 ตัวเลอื ก 1 เง่อื นไข เลอื ก 1 ตัวเลือก หลายตัวเลือก จ�ำนวนวนรอบ ขึน้ อยกู่ ับเงอ่ื นไข เลอื ก 1 ตัวเลือก หลายเงอื่ นไข
การสร้างเกมคอมพิวเตอรเ์ บ้อื งต้น 181 ใบงานประจำ� หนว่ ยการเรียนรู้ที่ 5 ค�ำช้แี จง นกั เรยี นฝึกปฏบิ ัติ และตอบคำ� ถามตอ่ ไปนีใ้ ห้ถกู ต้อง 1. นกั เรยี นฝกึ เขยี นโปรแกรมแบบ if…else โดยกำ� หนดคา่ ใหก้ บั ตวั แปร ถา้ เปน็ เลขคู่ ใหแ้ สดงขอ้ ความวา่ “จ�ำนวนคู่” แต่ถ้าเป็นเลขคี่ ใหแ้ สดงขอ้ ความว่า “จำ� นวนคี”่ 2. นกั เรียนฝกึ เขียนโปรแกรมแบบ if…else…if โดยรับค่าคะแนน ถ้าคะแนนมากกวา่ 7 ใหแ้ สดงขอ้ ความ “ผา่ นเกณฑ์” ถ้าคะแนน 5 – 7 ให้แสดงข้อความ “ตามเกณฑ”์ ถ้าคะแนนน้อยกว่า 5 ใหแ้ สดง ข้อความ “ไมผ่ า่ นเกณฑ์” 3. นกั เรยี นฝกึ เขยี นโปรแกรมแบบ switch…case โดยมี 5 สถานท่ีทอ่ งเที่ยวใหเ้ ลือก เมือ่ เลือกสถานท่ี ทอ่ งเทย่ี วใด ๆ ให้แสดงรายละเอียดอย่างย่อของสถานทีท่ อ่ งเทยี่ วน้นั ๆ นักเรยี นฝึกเขียนโปรแกรมเปรยี บเทยี บการทำ� งานแบบวนซำ้� ทง้ั 3 แบบ คอื for ( ) while ( ) do…while ( ) และตอบค�ำถามข้อ 4 – 6 ขั้นตอนที่ 1 สร้างฟอร์มดังภาพ
182 ใบงานประจ�ำหนว่ ยการเรยี นร้ทู ่ี 5 ขัน้ ตอนที่ 2 ดบั เบลิ คลิกทป่ี ุ่ม for และเขยี นโค้ด ดังภาพ ขัน้ ตอนที่ 3 ดบั เบลิ คลกิ ที่ปุ่ม while และเขียนโคด้ ดังภาพ ขน้ั ตอนที่ 4 ดับเบิลคลิกท่ีปุ่ม do…while และเขยี นโคด้ ดงั ภาพ
การสรา้ งเกมคอมพวิ เตอร์เบือ้ งตน้ 183 4. นักเรยี นเขยี นผลลัพธข์ องโปรแกรม เมือ่ คลิกทป่ี ่มุ for ( ) 5. นักเรียนเขียนผลลัพธข์ องโปรแกรม เม่ือคลิกท่ีปมุ่ while ( )
184 ใบงานประจ�ำหน่วยการเรยี นร้ทู ่ี 5 6. นักเรยี นเขียนผลลัพธข์ องโปรแกรม เม่ือคลกิ ท่ีปุ่ม do…while ( ) 7. นักเรยี นทบทวนโปรแกรมทใี่ ช้งานค�ำสงั่ ขดั จงั หวะ พร้อมอธิบายภาพการท�ำงานของ Break ครั้งที่ 2 8. นักเรียนทบทวนโปรแกรมทใี่ ชง้ านค�ำสั่งขัดจังหวะ พร้อมอธบิ ายการท�ำงานของ Continue คร้งั ท่ี 1
การสรา้ งเกมคอมพิวเตอรเ์ บอื้ งตน้ 185 9. นักเรียนพิจารณา และเขยี นคำ� สง่ั ทใ่ี ชใ้ นการเรียกใช้งานปุ่มท่กี �ำหนดให้ ปมุ่ ทป่ี รากฏ การเรียกใชง้ าน OK Retry Cancel Yes No OK Cancel Yes No Cancel Abort Retry Ignore 10. นกั เรยี นฝึกเขียนโปรแกรมเพือ่ ให้มผี ลลพั ธ์ ดังภาพลงในโปรแกรม Microsoft Visual C# สญั รูปที่ปรากฏ การเรียกใชง้ าน ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... ไม่แสดงสัญรปู ......................................................................................................................... .........................................................................................................................
แนวคิด บทท่ี เกม Tic Tac Toe หรอื เกม XO เปน็ เกมกระดานท่มี ผี เู้ ลน่ 2 ฝ่ายสลับกนั 6 เขยี นเครือ่ งหมาย X และ O ลงในกระดาษที่มลี ักษณะเป็นตาราง กว้าง 3 ช่อง และ ยาว 3 ชอ่ ง สลบั กันเขียนเครอื่ งหมายของตัวเองจนเต็มชอ่ งกระดาน ผชู้ นะคอื ผูท้ ี่ เกม Tic Tac Toe เขยี นเครอ่ื งหมายของตวั เองเรยี งตามแนวนอน แนวตง้ั หรอื แนวทแยงมมุ ตอ่ กนั 3 ชอ่ ง สาระการเรยี นรู้ 1. การสร้างเกม Tic Tac Toe สมรรถนะประจ�ำ บท 1. เรียนรูก้ ารสร้างเกมขนาดเลก็ 2. ปฏิบตั กิ ารสรา้ งเกมขนาดเล็กตามขั้นตอน จดุ ประสงคเ์ ชงิ พฤติกรรม 1. อธบิ ายการสรา้ งเกม Tic Tac Toe 2. ปฏบิ ตั กิ ารสรา้ งเกม Tic Tac Toe 3. ใชโ้ ปรแกรม Microsoft Visual C# ฝึกสรา้ งเกม
เกม Tic Tac Toe บทที่ 6 การสรา้ งเกม Tic Tac Toe เกม Tic Tac Toe หรอื เกม XO เปน็ เกมกระดานที่มีผู้เล่น 2 ฝา่ ยสลับกันเขยี นเครอ่ื งหมาย X และ O ลงในกระดานท่ีมีลกั ษณะเป็นตาราง กวา้ ง 3 ชอ่ งและยาว 3 ช่อง โดยไม่เขยี นเคร่อื งหมายซ�้ำ ในช่องทีเ่ ขียนแล้ว สลับกันเขียนเครอื่ งหมายของตัวเองจนเต็มช่องกระดาน สำ� หรับเงือ่ นไขของการเป็น ผู้ชนะในเกม คือ เมื่อผู้เล่นคนใดคนหน่ึงเขียนเครื่องหมายของตัวเองเรียงตามแนวนอน แนวต้ัง หรือ แนวทแยงมุมต่อกนั 3 ช่อง ถา้ วางจนเต็มช่องกระดานแต่ยังไม่มีฝ่ายใดวางเคร่ืองหมายเรียงตามแนวได้ ในเกมนน้ั จงึ เสมอกนั ในโปรแกรม Microsoft Visual C# นกั เรียนสามารถฝึกสรา้ งเกม Tic Tac Toe ไดต้ ามขั้นตอน ดงั นี้ ข้ันตอนที่ 1 เขา้ โปรแกรม เลือก Windows Form Application ตัง้ ช่อื ตามเกม คอื Tic Tac Toe และกดปุ่ม OK
188 บทท่ี 6 เกม Tic Tac Toe เม่ือทดลองรันโปรแกรมจะเห็นว่าผู้เล่นสามารถขยายหน้าจอให้ใหญ่ได้ เราจึงท�ำการตั้งค่า คุณสมบัติของ Form1 ให้สอดคล้องกับเกม Tic Tac Toe และไม่อนุญาตให้ผู้เล่นขยายหน้าจอได้ โดยท�ำการตั้งค่าคุณสมบัติของ Form1 ท่ีหน้าต่าง Properties ดังน้ี 1. MaximizeBox False 1 2. ShowIcon False 3. Text Tic Tac Toe 2 3
การสรา้ งเกมคอมพวิ เตอรเ์ บอื้ งตน้ 189 เมอื่ ทดลองรันโปรแกรม โดยการกดปมุ่ F5 ปรากฏผลดังภาพ ภาพก่อนการต้ังค่า False ใน MaximizeBox ภาพหลังการต้งั ค่า False ใน MaximizeBox ภาพก่อนการตั้งค่า False ภาพหลงั การตงั้ คา่ False (จะเหน็ ว่าผ้เู ลน่ สามารถ (ไมอ่ นุญาตใหผ้ เู้ ล่น ขยายหน้าจอให้ใหญ่ได)้ ขยายหนา้ จอได)้ ขน้ั ตอนท่ี 2 เลือก MenuStrip มาวางไว้ใน Form และพิมพเ์ มนู File > New Game, File > Exit และ เมนู Help > About ดงั ภาพ 2. พมิ พเ์ มนดู งั ภาพ 1. เลอื ก MenuStrip มาวางไวใ้ น Form ข้นั ตอนท่ี 3 เลือก Button มาวางใน Form โดยตง้ั คา่ คุณสมบตั ิของ Button ดังน้ี 1. Size Width 75 Height 75
190 บทท่ี 6 เกม Tic Tac Toe 2. Font Size 3. TextAlign : MiddleCenter 4. StartPosition : CenterScreen
การสร้างเกมคอมพวิ เตอร์เบือ้ งต้น 191 เมื่อตั้งค่าคุณสมบัติแล้ว ให้คัดลอกปุ่มและวางจนครบ 9 ปุ่ม ซ่ึงท้ัง 9 ปุ่มน้ีได้ออกแบบมา เหมอื นตาราง 9 ช่อง คือ แนวนอน 3 ชอ่ ง และแนวตัง้ 3 ชอ่ ง เม่ือมี 9 ปุ่มครบแล้ว ท�ำการตั้งค่าคุณสมบัติ Name ให้แต่ละปุ่ม โดยมีแนวคิดคือ แนวนอน แทนดว้ ยตวั อกั ษรภาษาอังกฤษ คือ A B และ C และแนวตัง้ แทนด้วยตัวเลข คอื 1 2 และ 3 จะได้ A1 A2 A3 B1 B2 B3 C1 C2 C3 ขั้นตอนที่ 4 เขียนโปรแกรมให้เมนู About แสดงขอ้ ความเกีย่ วกับเกมทสี่ รา้ งขึน้ สามารถท�ำได้ โดยดบั เบิลคลกิ ทีเ่ มนู About และเขยี นโปรแกรมดงั ภาพ
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