jab6 bad rotation

This commit is contained in:
2025-12-29 13:58:34 +10:00
parent b0c3660f16
commit 4cf2f56749
2 changed files with 104 additions and 0 deletions

103
hw/hw6/hw6.js Normal file
View File

@@ -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])
}
}