在我的拖放拼写游戏中,我设计了它,所以当正确的字母被拖到相应的单词上时,会应用一种风格(wordglow2)使其消失并显示背后的图片 - 这是游戏的目标。问题在于,当用户得到错误的单词时,他/她没有第二次尝试该单词,因此它停留在网格中意味着游戏无法完成。风格应用于错误的单词(wordglow)后,我需要它再次尝试,有人可以帮忙吗?
$(".drop").droppable({
drop: function(event, ui) {
word = $(this).data('word');
guesses[word].push($(ui.draggable).attr('data-letter'));
console.log($(event));
console.log($(ui.draggable).text());
console.log('CHECKING : ' + $(this).text() + ' against ' + $(ui.draggable).text().trim());
if ($(this).text() == $(ui.draggable).text().trim()) {
$(this).addClass('wordglow3');
} else {
$(this).addClass('wordglow');
}
console.log('CHECKING : ' + $(this).text() + ' against ' + $(ui.draggable).text().trim());
console.log(guesses);
if (guesses[word].length == 3) {
if (guesses[word].join('') == word) {
$('td[data-word=' + word + ']').addClass("wordglow2");
} else {
$('td[data-word=' + word + ']').addClass("wordglow4");
}
}
},
activate: function(event, ui) {
word = $(this).data('word');
// try to remove the class
$('td[data-word=' + word + ']').removeClass('wordglow').removeClass('wordglow4').removeClass('wordglow3');
}
});
答案 0 :(得分:3)
目前您只需填充数组以检查单词是否正确。但这还不够。说我想解决“顶部”,但我很懒,从“p”开始,因为我的鼠标指针靠近这个特殊的字母。然后,数组将由单个字母['p']
组成,并且该单词不再可解。
请检查您当前正在操作的字母,将字母保存在正确的位置,并使用固定为3而不是Array.push
的数组。
但是,如果您不希望用户能够提供错误的订单,您只需删除旧猜测(请参阅splice
):
if (guesses[word].length == 3) {
if (guesses[word].join('') == word) {
$('td[data-word=' + word + ']').addClass("wordglow2");
} else {
$('td[data-word=' + word + ']').addClass("wordglow4");
guesses[word].splice(0,guesses[word].length);
}
}