获得多个科目的平均成绩

时间:2016-05-09 14:01:57

标签: php laravel

所以我有一个游戏,用户在每个科目都有成绩,我希望在将所有当前成绩记入帐户时获得整体成绩..

所以主题是:英语,科学,ICT,数学,力学

等级为:A *,A,B,C,D,E,U。

现在,例如每个年级都有一个XP_NEEDED列,这个列被称为中间的结束XP,以及我如何得到起始XP是上一年级的结束XP。

例如:U是100XP,E是200 XP,D是500 XP,C是1000 XP,B是2000 XP,A是3200 XP,A *是4500 XP。

可能的结果:

如果他们有A *和4 U,则整体成绩将在E

附近

如果他们有5个A *,则为A *

在PHP和Laravel 5.2中执行此操作的最佳方法是什么?我还没有尝试任何东西,因为我不知道从哪里开始,谷歌根本没有帮助我。

1 个答案:

答案 0 :(得分:1)

所以你应该有办法为每个科目的每个用户分配XP,我假设每个用户都在考虑这五个科目。

你基本上要实现的是平均公式,在这种情况下, TotalXP(所有5个科目)除以5 。此结果将为您提供某个用户的平均XP,并根据您的列,您可以为他们分配相应的成绩。

我指的是用户获得的总xp。这将是每个主题中获得的各个XP的总和。

假设用户拥有以下XP:2000,3200,3200,4500,1000。此用户的TotalXP将为:(2000 + 3200 + 3200 + 4500 + 1000)= 13900。 现在获得AverageXP:(13900/5)= 2780。

您对成绩有限制,使用比较,查看AverageXP在哪个范围内。现在您可以分配平均成绩。在这种情况下,2780是B. (如2000 <2780 <3200)