irpg Community
[GML]คำสั่ง IF (เรียนรู้เงื่อนไข) - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html)
+--- Forum: The Great Game Maker Library (https://irpg.in.th/forum-31.html)
+--- Thread: [GML]คำสั่ง IF (เรียนรู้เงื่อนไข) (/thread-1499.html)



[GML]คำสั่ง IF (เรียนรู้เงื่อนไข) - gol-a-khung - 10-28-2013

IF
สวัสดีครับ โกลเอ้คุง นักสร้างเกมส์มือใหม่ บทความนี้จะมาเจาะลึกเรื่องคำสั่ง IF
คำสั่ง IF ส่วนใหญ่จะใช้เขียนเงื่อนไขที่พบเห็นได้ในชีวิตประจำวัน เช่น
ถ้ามีจักรยาน ฉันจะขี่ไปโรงเรียน แต่ถ้าไม่มีจักรยาน ฉันจะเดินไปโรงเรียน
หรือ
ถ้าเก็บกล่องสมบัติ จะมีสมบัติล้ำค่า

กล่าวได้ว่า IF มี 2 ลักษณะ คือ
1. ถ้าเงื่อนไขเป็นจริง จะทำให้เกิดเหตุการ์ที่กำหนด
2. แต่ถ้าไม่เป็นจริงจะทำให้เกิด อีกเหตุการณ์ที่กำหนด

[Image: variables_clip_image001_0003.gif]
เครดิตภาพ 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 (ถ้าว่างนะ)


RE: [GML]คำสั่ง IF (เรียนรู้เงื่อนไข) - santa555a - 10-28-2013

ขอบคุณมากครับ มีประโยชน์มาก


RE: [GML]คำสั่ง IF (เรียนรู้เงื่อนไข) - นิราจ - 10-28-2013

ขอบคุณมากๆคับ
ความรู้ใหม่ๆคับ
เป็นประโยชน์มากๆครับ


RE: [GML]คำสั่ง IF (เรียนรู้เงื่อนไข) - jin - 10-29-2013

รอชมคำสั่ง สวิต ครับ