РЕДАКТИРОВАТЬ: Смотрите мой другой пост для кода, который всегда работает.Следующий код не обнаруживает код, если он перекрывается с самим собой (например: «UP, UP, UP, UP, DOWN, DOWN, LEFT, RIGHT, LEFT, RIGHT, B» не будет работать)
Спасибона Геворг за указание на это.
Если это способ определения только последовательности, которая вас интересует (я предполагаю, что вы знаете, как получить ввод с клавиатуры)тогда вы можете получить что-то, следующее:
int[] sequence = {UP, UP, DOWN, DOWN, LEFT, RIGHT, LEFT, RIGHT, B};
int currentButton = 0;
boolean checkKonami(int keyPressed) {
//Key sequence pressed is correct thus far
if(keyPressed == sequence[currentButton]) {
currentButton++;
//return true when last button is pressed
if(currentButton == sequence.length) {
//Important! Next call to checkKonami()
//would result in ArrayIndexOutOfBoundsException otherwise
currentButton = 0;
return true;
}
}
else {
//Reset currentButton
currentButton = 0;
}
return false;
}
Вызывайте эту функцию всякий раз, когда нажимается клавиша, передавая нажатую клавишу.Конечно, при необходимости измените типы.