ฉันกำลังพัฒนาเกมต่อสู้ข้อความอย่างง่ายและมีปัญหาบางอย่างที่คำนวณว่าควรได้รับ XP เท่าใดหลังจากการสู้รบมีปัจจัยบางประการที่ฉันต้องการพิจารณา:
1) ผู้เล่นควรได้รับ XP ที่ดีถ้าพวกเขาเอาชนะคนในระดับเดียวกัน
2) ผู้เล่นควรได้รับ XP ที่ยอดเยี่ยมถ้าพวกเขาเอาชนะใครบางคนในระดับที่สูงขึ้น
3) ผู้เล่นควรได้รับ XP ที่แย่ถ้าพวกเขาเอาชนะคนที่มีระดับต่ำกว่า
4) สิ่งที่กล่าวมาข้างต้นน่าจะปรับได้อย่างดีเช่นถ้าผู้เล่น A เป็นระดับ 10 และต่อสู้กับผู้เล่น B ที่ระดับ 9 หรือ 11 ความแตกต่างไม่ควรใหญ่ (แน่นอนว่าพวกเขาจะได้รับ XP มากขึ้นสำหรับการเอาชนะตัวละครระดับ 11 แต่เราจะไม่ คาดหวังว่าสิ่งนี้จะมีขนาดใหญ่มาก) แต่ถ้าเขาต้องต่อสู้กับเลเวล 5 หรือ 15 ความแตกต่างนี้น่าจะมาก
มีปัญหาในการคำนวณบางอย่างที่ทำงานได้ดีในทุกสถานการณ์ขณะนี้ตาราง XP ของฉันมีลักษณะดังนี้:
Current Level XP Needed Increase from Last Level
1 30 0
2 65 35
3 106 41
4 154 48
5 210 56
...
10 672 123
ใน PHP โค้ดของฉันดูเหมือนด้านล่างเพื่อคำนวณ XP Needed:
$offset = 30;
$multiplier = 1.17;
$base = $prevXp * $multiplier;
$xp = $base + $offset;
ฉันได้ลองทำสิ่งที่แตกต่างกันเล็กน้อย แต่ฉันไม่ได้ประทับใจกับสิ่งเหล่านี้ฉันต้องการทำงานกับการคำนวณความแตกต่างใน XP แล้วใช้ตัวคูณบางชนิด แต่ฉันไม่ได้ประทับใจกับผลลัพธ์
ความช่วยเหลือ / การป้อนข้อมูลใด ๆ ที่จะได้รับการชื่นชม