From 4cf2f567490ff71e70ead3dca95b6a2def09559d Mon Sep 17 00:00:00 2001 From: OkunElya Date: Mon, 29 Dec 2025 13:58:34 +1000 Subject: [PATCH] jab6 bad rotation --- .gitignore | 1 + hw/hw6/hw6.js | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 hw/hw6/hw6.js diff --git a/.gitignore b/.gitignore index 66aeb52..a935beb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ **node_modules **to_reform +.vscode \ No newline at end of file diff --git a/hw/hw6/hw6.js b/hw/hw6/hw6.js new file mode 100644 index 0000000..debbb8c --- /dev/null +++ b/hw/hw6/hw6.js @@ -0,0 +1,103 @@ +let templates = [ + [ + "X--X----", + "-XXX-X--", + "----X---", + "----X---", + "------XX", + "----XX--", + "X-------", + "-XX--X--" + ], + [ + "---XX---", + "----X-X-", + "---XX---", + "---X----", + "-X------", + "X----X-X", + "--X--X--", + "-X----XX" + ], + [ + "-X-X----", + "---X-X--", + "X-XX--X-", + "--X-X---", + "------X", + "--------", + "X-----X-", + "-X-X---X" + ], + [ + "-XX-X---", + "-----X--", + "----X---", + "-----X-X", + "-X-X--X-", + "-XX----X", + "-X------", + "XX------" + ], [ + "----XX-X", + "X-------", + "--------", + "-----XX-", + "---X-X--", + "-X---XX-", + "-X-X----", + "----XXX-" + ], [ + "XX------", + "-----X--", + "-------X", + "-X-X----", + "X-X----X", + "-X-X-X-X", + "----X-X-", + "-X------" + ], +]; +const squareSize = templates[0].length; + +//convert to arrays for mutability +let temp = [] +for (let n = 0; n < templates.length; n++) { + temp.push([]) + for (let i = 0; i < squareSize; i++) { + temp[n].push([]) + for (let j = 0; j < squareSize; j++) { + temp[n][i].push(templates[n][i][j] == "X" ? 1 : 0); + + } + } +} +templates = temp + +const encodedMsg = "Р_НАЙА_СЛЗДЕ_ЛОСЖСТОИКНОЛЬЛЬТКУЮО__КЗАЕ_ДВАОКАЧОЖЗ_УЧАСМОДУ_ТЮЖЕ"; + + +function rotateTemplate(template) { + for (let i = 0; i < squareSize; i++) { + for (let j = 0; j < squareSize; j++) { + let temp = template[j][(squareSize - 1) - i]; + template[j][(squareSize - 1) - i] = template[i][j]; + template[i][j] = temp; + } + } +} + +for (let n = 0; n < templates.length; n++) { + for (let rot = 0; rot < 4; rot++) { + let out = "" + for (let i = 0; i < squareSize; i++) { + for (let j = 0; j < squareSize; j++) { + if (templates[n][i][j]) { + out += encodedMsg[i * squareSize + j]; + } + } + } + console.log(out) + rotateTemplate(templates[n]) + } +} \ No newline at end of file