Вы также хотите проверить их по порядку. Прямо сейчас вы можете нажать клавиши в любом порядке и при этом активировать пасхальное яйцо. Enter + lorocs
например.
Я бы сохранял значения, которые вы ищете, в следующем порядке:
// Enter, c, o, l, o, r, s
var keys = [13,67,79,76,79,82,83];
Затем вы можете просто отслеживать, где находится пользователь в последовательности:
var nextKey = 0;
$(window).keydown(function(e){
var key = e.which;
if (key === keys[nextKey])
nextKey++;
ColorMap();
});
Это будет увеличивать nextKey
каждый раз, когда вы соответствуете следующей клавише, которую вы ищете в последовательности. Переменная nextKey
начинается с индекса 0, что означает, что мы начинаем искать Enter
. Теперь нам нужно проверить конечное условие в функции ColorMap
.
function ColorMap() {
var maxKeyIndex = keys.length - 1;
if(nextKey >= maxKeyIndex) {
//DO FUNCTION//
nextKey = 0;
}
}
Это решение должно позволить вам изменить специальную последовательность в переменной keys
, не требуя изменения в другом месте кода.
EDIT:
Если вы хотите, чтобы ответ был непрерывным, как вы, вероятно, делаете, то вы можете сбросить переменную nextKey
, когда совпадение не удастся.
if (key === keys[nextKey])
nextKey++;
else
nextKey = 0;
Для дополнительного кредита вы можете переключить его, чтобы использовать строку для хранения пасхального яйца, а затем String.fromCharCode
, чтобы преобразовать ее в код символа, который возвращает e.which
.