12 - Key Sequence Detection
筆記
實作監聽鍵盤輸入特殊指令的程式,如遊戲祕技指令 Konami code(↑↑↓↓←→←→BA)。
作法: 監聽鍵盤的輸入並儲存到陣列裡,透過 splice 讓陣列長度不超過秘技長度,並比對之。
Array.splice()
1 | array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) |
本範例教學使用 pressed.splice(-secretCode.length-1,pressed.length-secretCode.length)
,第一個參數用負數代表從後往前數,第二個參數用輸入的長度扣除祕技的長度,此為欲刪除的數量。
個人認為此教學使用方式較難理解,自己是覺得可以直接刪除 index 0 的值即可pressed.splice(0,pressed.length-secretCode.length)
,或者用 shift()一樣能達到同等效果。
1 | if (pressed.length > secretCode.length) { |