UNPKG

ktane-solver

Version:
45 lines (37 loc) 1.19 kB
class Button { // stage 1 static solvePartOne(input, bomb) { input = input.toLowerCase() let [colour, text] = input.split(" ") if (!(colour && text)) { throw "Expected colour and text, got: colour - " + colour + "; text - " + text; } if (colour === "blue" && text === "abort") { return "HOLD" } else if (bomb.batteries > 1 && text === "detonate") { return "RELEASE" } else if (colour === "white" && bomb.car) { return "HOLD" } else if (bomb.batteries > 2 && bomb.frk) { return "RELEASE" } else if (colour === "yellow") { return "HOLD" } else if (colour === "red" && text === "hold") { return "RELEASE" } else { return "HOLD" } } // part 2 if part 1 returns "HOLD" static solvePartTwo(input) { input = input.toLowerCase() if (input === "blue") { return "4" } else if (input === "yellow") { return "5" } else { return "1" } } } export default Button