vtmer / gdut-jwgl-helper

广东工业大学教务管理系统助手
http://projects.vtmer.com/gdut-jwgl-helper/
41 stars 15 forks source link

一定几率的自动评价重复错误 #23

Closed imlonghao closed 8 years ago

imlonghao commented 8 years ago

HI,

首先感谢你们的作品,十分好,十分方便我们学生进行使用,下面是我发现的一个问题。

在某一次的自动评价中,我点的是 老师我爱你 ,然后自动评分,自动提交,然后报错说有重复。当时我没怎么注意这个,然后又点了一次,提交,好了。

今天刚刚军训完闲得蛋疼想了起来这个地方,然后看了看代码,应该是有一定几率的问题。

根据我之前对这个页面的观察,上面的是一组,下面的四个选项(我忘了是几个了...)是一组,两组的选择均不能分别完全重复。

似乎现在的流程是把全部的选项归为一组,然后全部一起来生成一个分数的序列

var seq = RatingMaker.makeSequenceBetween($choices.length, 1, 3);

然后通过

$choices[i].selectedIndex = seq[i];

来写评分

在生产序列的时候,有一定几率会导致后面几个选项是相同的。

RatingMaker.makeSequenceBetween(30,1,3)
[1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1]

一旦后面几个选项是相同的话,就会出问题了。

解决方案

将后面的四个单独抽出来作为另外一组 var seq2 之类的

顺祝寒假快乐!


我这边没有待评价的科目了,所以我不能看到那个页面的情况...

bcho commented 8 years ago

Hi, https://github.com/vtmer/gdut-jwgl-helper/blob/master/src/test/rating.html 这里有测试,你可以试试重新 & 修改

linkkingjay commented 8 years ago

多谢反馈,已经修复:https://github.com/vtmer/gdut-jwgl-helper/commit/705697cbf506f65bf653d8e21c1d5bd7191a6aa6