ในเกมมักมีความสัมพันธ์ระหว่างสาเหตุและผลอยู่หลายอย่าง ตัวอย่างเช่น:
- หากผู้เล่นทำคะแนนได้ 10 คะแนน พวกเขาจะชนะเกม
- หากผู้เล่นมีพลังพิเศษ พวกเขาสามารถวิ่งได้เร็วมาก
- หากผู้เล่นพูดว่า "สุขสันต์วันเกิด" ในแชท จะมีฝนของขวัญตกลงมา
สคริปต์ใช้คำสั่งเงื่อนไขเพื่อจัดการกับสถานการณ์เหล่านี้ คำสั่งเงื่อนไข คือบรรทัดของโค้ดที่ทำงานเฉพาะเมื่อเงื่อนไขบางอย่างเป็นจริง หนึ่งในประเภทของคำสั่งเงื่อนไขคือ คำสั่ง if/then ใน Luau รูปแบบไวยากรณ์สำหรับคำสั่ง if มีลักษณะดังนี้:
if "บางสิ่งเกิดขึ้น" then
-- ทำให้สิ่งอื่นเกิดขึ้น
endบล็อกโค้ดที่ใช้คำสั่งเงื่อนไขเรียกว่า โครงสร้างควบคุม โครงสร้างควบคุมเหมือนกับแผนภาพการไหลในรูปแบบของโค้ดและสามารถมีคำสั่งเงื่อนไขหลายคำสั่ง
การฝึกฝนคำสั่ง if
ขั้นตอนเหล่านี้แสดงวิธีการสร้างสคริปต์ที่เปลี่ยนสีของชิ้นส่วนหากคำสั่งเป็นจริง
ใน ServerScriptService สร้างสคริปต์ใหม่และตั้งชื่อว่า TruthChecker เพิ่มความคิดเห็นที่เหมาะสมในสคริปต์
-- เปลี่ยนชิ้นส่วนหากเงื่อนไขเป็นจริงสร้างชิ้นส่วนใหม่ชื่อ LieDetector
รูปแบบคำสั่ง if
เงื่อนไข สามารถมีรูปแบบที่หลากหลาย แต่โดยทั่วไปจะเป็นคำสั่งง่ายๆ เช่น สมการทางคณิตศาสตร์ ตัวอย่างเช่น หาก 1+1 เท่ากับ 2 ให้รันโค้ดบางอย่าง เช่นเดียวกับสมการทางคณิตศาสตร์ทั่วไป คำสั่งเงื่อนไขสามารถใช้ ตัวดำเนินการ เช่น บวก (+) หรือ น้อยกว่า (<) เพื่อประเมินคำสั่ง
ตัวดำเนินการที่ควรระวังคือ == ซึ่งหมายถึง "เท่ากับ" ดังนั้นคำสั่ง 2 + 2 == 4 สามารถอ่านได้ว่า "สองบวกสองเท่ากับสี่" ต้องระมัดระวังไม่ให้สับสนกับ = ซึ่งใช้กำหนดค่าใหม่ให้กับวัตถุต่างๆ เช่น ตัวแปร
ตั้งค่าเงื่อนไขว่าง ในสคริปต์ ให้พิมพ์ if then และกด Enter เพื่อเติมคำสั่งเงื่อนไขให้ครบถ้วน คำสำคัญ then จะถูกขีดเส้นใต้เพราะโค้ดยังไม่สมบูรณ์
if then-- โค้ดว่างendหลังจากคำสำคัญ if ให้พิมพ์คำสั่งที่เป็นจริง เช่น 3 + 3 == 6
if 3 + 3 == 6 then-- โค้ดว่างendภายในเงื่อนไข ให้อ้างอิงถึงชิ้นส่วนที่คุณตั้งชื่อว่า LieDetector และเปลี่ยนคุณสมบัติ Color ของชิ้นส่วนเป็นสีเขียว
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endทดสอบ โค้ดของคุณ หากสามบวกสามเท่ากับหก ชิ้นส่วนจะเปลี่ยนเป็นสีเขียว
ตรวจสอบเงื่อนไขที่เป็นเท็จ
ตอนนี้ให้เปลี่ยนคำสั่งโดยเจตนาเพื่อดูว่าเกิดอะไรขึ้นเมื่อสมการทางคณิตศาสตร์เป็นเท็จ
ในคำสั่ง if ให้เปลี่ยนสมการเป็นสิ่งที่ไม่ถูกต้อง เช่น 3 + 3 >= 10
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endทดสอบโค้ดของคุณตอนนี้ ชิ้นส่วนไม่ควรเปลี่ยนเป็นสีเขียวสำหรับคำสั่งที่เป็นเท็จ
ตัวดำเนินการทางคณิตศาสตร์
ตารางด้านล่างแสดงตัวดำเนินการทั่วไปใน Luau ข้อมูลเพิ่มเติมเกี่ยวกับตัวดำเนินการสามารถพบได้ที่ ตัวดำเนินการ Luau.
| สัญลักษณ์ | ความหมาย |
|---|---|
| + | การบวก |
| - | การลบ |
| * | การคูณ |
| / | การหาร |
ตัวดำเนินการเปรียบเทียบ
- == : เท่ากับ
- ~= : ไม่เท่ากับ
- < หรือ > ใช้สำหรับน้อยกว่าหรือมากกว่า ตามลำดับ
- <= หรือ >= ใช้สำหรับน้อยกว่าหรือเท่ากับ/มากกว่าหรือเท่ากับ ตามลำดับ
ตัวแปรและคุณสมบัติ
คำสั่งเงื่อนไขยังใช้เพื่อประเมินสถานะของคุณสมบัติและตัวแปร ขั้นตอนต่อไปนี้ตรวจสอบว่าตัวแปรถูกกำหนดค่าอย่างถูกต้องหรือไม่
ลบโค้ดทั้งหมดและคัดลอกโค้ดต่อไปนี้ไปยังสคริปต์ ทดสอบมัน และจะมีข้อผิดพลาดใหม่ปรากฏใน Output
local mysteryPart = workspace.MysteryPart-- ประเมินเป็นจริงหาก MysteryPart ถูกกำหนดค่าอย่างถูกต้องif mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endแทรกชิ้นส่วนใหม่ลงใน workspace ชื่อ MysteryPart ทดสอบอีกครั้ง และ LieDetector ควรเปลี่ยนเป็นสีเขียว
สำรวจว่าคุณสมบัติสามารถถูกประเมินด้วยคำสั่งเงื่อนไขได้อย่างไร เก็บ MysteryPart ไว้ แต่ลบโค้ดของคุณอีกครั้งและคัดลอกโค้ดบล็อกด้านล่าง
local mysteryPart = workspace.MysteryPart-- ประเมินเป็นจริงหาก MysteryPart มีความทึบแสงเต็มที่if mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2endทดสอบโค้ด และหาก MysteryPart มีความโปร่งใสเริ่มต้นที่ 0 มันจะกลายเป็นโปร่งใสในขณะที่ LieDetector เปลี่ยนเป็นสีเขียว
สรุป
คำสั่งเงื่อนไขตรวจสอบว่าเป็นจริงหรือไม่ และหากเป็นเช่นนั้นจะรันโค้ดบางอย่าง คำสั่ง if เป็นประเภทที่พบบ่อยมากของคำสั่งเงื่อนไข พวกเขาใช้รูปแบบ "หากสิ่งนี้เป็นจริง ให้ทำสิ่งนั้น"
บล็อกโค้ดที่ใช้คำสั่งเงื่อนไขเรียกว่าโครงสร้างควบคุม โครงสร้างควบคุมสามารถมีคำสั่งเงื่อนไขหลายคำสั่ง
นอกจากการประเมินว่าสมการทางคณิตศาสตร์ง่ายๆ เป็นจริงหรือไม่ คำสั่งเงื่อนไขยังใช้เพื่อตรวจสอบสถานะของตัวแปรและคุณสมบัติด้วย