[Lua] วิธีการ Debug แบบที่ต้องพึ่งผลลัพธ์แบบสุ่มจากฟังก์ชั่น math.random() by

31
Aug
0

โดยปกติแล้วในโค้ดของเรา ถ้ามีการสุ่มเราจะพึ่ง ฟังก์ชั่น math.random() แต่ที่ในเวลาเราที่เราจะ Debug ฟังก์ชั่น math.random() ของเราจะรีเทิร์นค่าเดิมมาเสมอๆ
ทีนี้เราจะทำยังไงล่ะ ถ้าสมมติโค้ดของเราใช้ได้บ้างพังบ้าง มันก็อาจจะเกิดจากค่าที่เราใช้จาก math.random() ยกตัวอย่างเช่นโจมตีติด Critical หรือใส่ดีบัฟติดหรือเปล่า รันกี่รอบๆก็จะได้ผลลัพธ์เดิมๆเพราะ math.random() ของเราคืนค่าเดิมมาตลบอดนั่นเอง

ตัวอย่างเช่น
print(math.random(100))

57

ซึ่งเรารันอีกกี่ทีก็จะได้ 57 เหมือนเดิม

วิธีการ Debug ให้ได้หลายผลลัพธ์แรกคือ
1. ใส่ For ครอบ
for i=0, 10 ,1 do
print(isCritical(50)) //ใน isCritical มีเช็ค % กับ math.random(100)
end

false
false
false
false
*

จะทำให้ math.random() ของเราทำงานหลายครั้งและเปลี่ยนค่า จากตัวอย่างอาจจะติดในลูปครั้งที่ 5 และ Error ทันที

แต่ถ้าเรามีการกำหนด Seed ไว้ก่อน ให้นำ seed จากรอบที่มีปัญหามาเช็คได้เลย
2. กำหนด randomseed ก่อน
math.randomseed(seed)
print(isCritical(50))

ก็จะทำให้เราพบบรรทัดที่ Error ได้เลยเพราะ จะ Debug Error ในทันทีครับ

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน