5

我正在为孩子们创建一个“打地鼠”风格的教育游戏,其中给出了一个问题,他们必须点击正确的出现数字。例如,当给定“2+2”之类的总和时,孩子必须等待“4”出现并单击它。每次点击正确答案时问题都会改变,但问题是当新问题出现时没有正确答案并且您单击的每个数字都会增加错误分数。有人可以告诉我为什么这种情况一直发生。

这是总和的情况..

function correctlabels() {
    switch (Math.ceil(Math.random() * 9)) {
        case 1:
            check = sum1;
            $('#target').html('0 + 1 = ?');
            break;
        case 2:
            check = sum2;
            $('#target').html('1 + 1 = ?');
            break;
        case 3:
            check = sum3;
            $('#target').html('2 + 1 = ?');
            break;
        case 4:
            check = sum4;
            $('#target').html('2 + 2 = ?');
            break;
        case 5:
            check = sum5;
            $('#target').html('2 + 3 = ?');
            break;
        case 6:
            check = sum6;
            $('#target').html('3 + 3 = ?');
            break;
        case 7:
            check = sum7;
            $('#target').html('2 + 5 = ?');
            break;
        case 8:
            check = sum8;
            $('#target').html('2 + 6 = ?');
            break;
        case 9:
            check = sum9;
            $('#target').html('2 + 5 = ?');
            break;
    }

这是一个小提琴来说明我的意思.. http://jsfiddle.net/pUwKb/8/

4

1 回答 1

3

我认为这是因为您从不重新添加“正确”的课程。尝试改变这个:

    $('.character').each(function (index, character) {
        if (!check(parseInt(this.getAttribute("value")))) {
            $(this).addClass("wrong");
            $(this).removeClass("right");
        }
    });

对此:

    $('.character').each(function (index, character) {
        if (!check(parseInt(this.getAttribute("value")))) {
            $(this).addClass("wrong");
            $(this).removeClass("right");
        } else {
            $(this).addClass("right");
            $(this).removeClass("wrong");
        }
    });

不错的游戏顺便说一句:)

于 2013-01-02T09:34:03.890 回答