Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[GML]คำสั่ง IF (เรียนรู้เงื่อนไข)
#1
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 (ถ้าว่างนะ)
[-] The following 8 users say Thank You to gol-a-khung for this post:
  • arkman, [IRPG] bassza123, KonRaiNamJai, [IRPG] Kuntana, melodious, Shinryu, slost, นิราจ
Reply
#2
ขอบคุณมากครับ มีประโยชน์มาก

[Image: 50840484]

เกมที่กำลังทำlast island
กระทู้กาฟ
http://irpg.in.th/thread-1828.html
แฟนเพจ
https://www.facebook.com/nukcashgamenew
Reply
#3
ขอบคุณมากๆคับ
ความรู้ใหม่ๆคับ
เป็นประโยชน์มากๆครับ
[Image: btpni.jpg]
Reply
#4
รอชมคำสั่ง สวิต ครับ
https://www.facebook.com/guless.jn สมุดหนังหน้าสำหรับการตามข้อมูลรั่วๆ ที่หื่นบ้างอะไรบ้าง
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)