UNPKG

ktane-solver

Version:
76 lines (70 loc) 1.93 kB
class SimonSays { static solve(colours, bomb) { colours = colours.map(v => v.toLowerCase()) let board = choose_translate(bomb) let solution = [] colours.forEach(colour => { switch (colour) { case "blue": solution.push(board[0]) break; case "red": solution.push(board[1]) break; case "yellow": solution.push(board[2]) break; case "green": solution.push(board[3]) break; } }); return solution } } function choose_translate(bomb) { if (bomb.vowel) { switch (bomb.strikes) { case 0: return [ // v0 "red", "blue", "green", "yellow" ] case 1: return [ // v1 "green", "yellow", "red", "blue" ] case 2: return [ // v2 "yellow", "blue", "green", "red" ] } } else { switch (bomb.strikes) { case 0: return [ // nv0 "yellow", "blue", "red", "green" ] case 1: return [ // nv1 "blue", "red", "green", "yellow" ] case 2: return [ // nv2 "green", "yellow", "red", "blue" ] } } } export default SimonSays