IF
สวัสดีครับ โกลเอ้คุง นักสร้างเกมส์มือใหม่ บทความนี้จะมาเจาะลึกเรื่องคำสั่ง IF
คำสั่ง IF ส่วนใหญ่จะใช้เขียนเงื่อนไขที่พบเห็นได้ในชีวิตประจำวัน เช่น
ถ้ามีจักรยาน ฉันจะขี่ไปโรงเรียน แต่ถ้าไม่มีจักรยาน ฉันจะเดินไปโรงเรียน
หรือ
ถ้าเก็บกล่องสมบัติ จะมีสมบัติล้ำค่า
กล่าวได้ว่า IF มี 2 ลักษณะ คือ
1. ถ้าเงื่อนไขเป็นจริง จะทำให้เกิดเหตุการ์ที่กำหนด
2. แต่ถ้าไม่เป็นจริงจะทำให้เกิด อีกเหตุการณ์ที่กำหนด
เครดิตภาพ
http://202.143.168.214/uttvc/website/05.html
คำสั่ง if - else
เงื่อนไขคำสั่ง if - else ใช้ในกรณีที่ต้องการเงือนไขที่ เป็นจริง และ เป็นเท็จ
โดยใช้ "นิพจน์ตรรกศาสตร์" ตรวจสอบเงื่อนไข มีรูปแบบคำสั่งดังนี้
if (เงื่อนไข)
คำสั่งที่ 1;
else
คำสั่งที่ 2;
ตัวอย่างเช่น ต้องการตรวจสอบค่าตัวเลขใน ตัวแปร a ที่รับเข้ามาถ้ามีค่ามากกว่า 5 ให้ตัวแปร number มีค่าเป็น 1
แต่ถ้าไม่ใช่ให้ ตัวแปร number มีค่าเป็น 0
if (a>5)
number=1;
else
number=0;
หากเงื่อนไขต้องใช้คำสั่งมากกว่า 1 คำสั่ง จำเป็นต้องเขียน if - else ในรูปเครื่องหมาย { } ครอบคำสั่งเงื่อนไข มีรูปแบบคำสั่งดังนี้
if (เงื่อนไข){
คำสั่งที่ 1;
คำสั่งที่ 2;
....
}else {
คำสั่งที่ 3;
คำสั่งที่ 4;
....
}
ตัวอย่างเช่น จากตัวอย่างก่อนหน้านี้ แต่เพิ่มความต้องการให้ ตัวแปร a มีค่าเท่ากับ 0
if (a>5) {
number=1;
a=0;
} else {
number=0;
a=0;
}
==========================================================
คำสั่ง if ที่เป็นจริงเท่านั้น
เงื่อนไขคำสั่ง if นี้มีการทำงานเฉพาะเงื่อนไขที่เป็นจริงเท่านั้น มีรูปแบบคำสั่งดังนี้
if (เงื่อนไข)
คำสั่งที่ 1;
หรือ
if (เงื่อนไข) then
คำสั่งที่ 1;
แล้วถ้าเงื่อนไขต้องใช้คำสั่งมากกว่า 1 คำสั่ง ก็ใช้รูปเครื่องหมาย { } ครอบคำสั่งเงื่อนไข
if (เงื่อนไข){
คำสั่งที่ 1;
คำสั่งที่ 2;
....
}
* then ใช้ได้เฉพาะเงื่อนไขที่มีคำสั่งเดียวเท่านั้น
==========================================================
คำสั่ง if แบบซับซ้อน
ในกรณีที่เงื่อนไขมีความซับซ้อนมากขึ้น เช่น ให้ตรวจสอบ ตัวแปร a กำหนดว่า ถ้าเป็นเลข1ให้numberเท่ากับ1
เลข2ให้numberเท่ากับ2 เลข3ให้numberเท่ากับ3 และเลขอื่นให้เท่ากับ4
if (a==1)
number=1;
else if (a==2)
number=2;
else if (a==3)
number=3;
else
number=4;
แล้วถ้ามีเงื่อนไขต้องใช้คำสั่งมากกว่า 1 คำสั่ง ก็ใช้รูปเครื่องหมาย { } ครอบคำสั่งเงื่อนไข
if (a==1) {
number=1;
a=0;
}else if (a==2) {
number=2;
a=0;
}else if (a==3) {
number=3;
a=0;
}else {
number=4;
a=0;
}
==========================================================
จบครับ แล้วถ้าเงื่อนไขที่ซับซ้อนกันมากๆ ละพี่โกลเอ้ทำไง (เป็นคำถามที่ดีครับ) เราสามารถใช้คำสั่ง switch โดยใช้
case แก้ปัญหา อ๊ะ..!!! งงอะดิ.. จะมาต่อให้ครับ คำสั่ง switch (ถ้าว่างนะ)