commit d65b929b9a7abda1ae63ba6edf11114d07cd6be8 Author: prescientmoon Date: Sun Sep 1 00:30:36 2024 +0200 javascript(omcb-server-clocks): Play around with clock decoding Signed-off-by: prescientmoon diff --git a/javascript/omcb-server-clocks/data.txt b/javascript/omcb-server-clocks/data.txt new file mode 100644 index 0000000..46e6b07 --- /dev/null +++ b/javascript/omcb-server-clocks/data.txt @@ -0,0 +1,6 @@ +11 3 6 4. 1 9. 6 9 8. 7 8 5 4 7. 5. 1. 2 3. 10 10. +9. 9 8 7. 8. 2. 3 4. 2 12. 11 10. 12 5. +9. 8. 9 8 7. 6. 5. 6 4 3 7 10. 3. 2. 10 1 11 +6 11 1 3 ? 9. 9 8. 8 7 7. 3. 4 2. 2 4. 12. 6. 5 11. +?? 9. 9 8. 8 7. 7 3. 4. 5 5. 6 1. 2. 11 2 4 3 12 6. +??? 9. 9 8. 8 7. 2. 3 1 10. 11 3. 4 7 10 5. 6. 12 1 12. diff --git a/javascript/omcb-server-clocks/numbers.txt b/javascript/omcb-server-clocks/numbers.txt new file mode 100644 index 0000000..e69de29 diff --git a/javascript/omcb-server-clocks/script.js b/javascript/omcb-server-clocks/script.js new file mode 100644 index 0000000..f951ed0 --- /dev/null +++ b/javascript/omcb-server-clocks/script.js @@ -0,0 +1,34 @@ +const fs = require("node:fs"); + +const data = fs.readFileSync("./data.txt", "utf8"); + +const numbers = []; +for (const line of data.split("\n")) { + if (line.trim() === "") continue; + const numberLine = []; + numbers.push(numberLine); + + for (const segment of line.split(" ")) { + if (segment.startsWith("?")) continue; + const isMid = segment.endsWith("."); + const num = parseInt(segment); + // if (isMid) numberLine.push((num - 1) * 2 + 1); + // else numberLine.push((num - 1) * 2); + if (isMid) numberLine.push(12 + num - 1); + else numberLine.push(num - 1); + } +} + +const alphabet = "abcdefghijklmnopqrstuvwxyz"; + +for (let shift = 0; shift < alphabet.length; shift++) { + for (const line of numbers) { + let res = ""; + for (const num of line) { + res += alphabet[(num + shift) % alphabet.length]; + } + for (let i = 0; i < res.length; i++) + if (res.substr(i).startsWith("doit")) console.log(res); + } + console.log(" "); +}