我在遊戲中涉及到XP水平的算法問題:遊戲經驗水平的問題
我有列出該級別水平的數字,和XPS的數量的表格:
GameLevel ExperiencePointsInLevel
1 30
2 70
3 160
4 250
對於每個玩家,我只維持他們的總XP,而不是任何關卡信息。 給定玩家的總XP,我如何通過算法確定以下內容(我正在使用C#& LINQ)?
- 當前的個人水平
- 點數的人在這個級別
例如,如果一個球員有110個XPS,答案應該是:
- 3級
- 10 XPs; (110-30-70 = 10)
任何想法?
乾杯,
迪安
爲什麼你不記錄他們在什麼級別?該算法是從第1級開始,看看XP的成績是否低於這個水平,如果不是,減去剩餘的水平,然後繼續下一個水平,然後重複,直到你發現剩餘的XP少於下一個所需的水平水平的進步。在這一點上,你有在關卡內的成就。 – Lazarus
你使用EF還是LINQ2SQL?我不認爲你在你的項目中使用了兩個 - 但你問題上的標籤意味着... –
對不起,linq2sql – Dean