112 lines
2.5 KiB
JavaScript
112 lines
2.5 KiB
JavaScript
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 < i; j++) {
|
||
let temp = template[i][j];
|
||
template[i][j] = template[j][i];
|
||
template[j][i] = temp;
|
||
}
|
||
}
|
||
for (let i = 0; i < squareSize; i++) {
|
||
for (let j = 0; j < squareSize / 2; j++) {
|
||
let temp = template[i][j];
|
||
template[i][j] = template[i][(squareSize - 1) - j];
|
||
template[i][(squareSize - 1) - j] = temp;
|
||
}
|
||
}
|
||
}
|
||
|
||
for (let n = 0; n < templates.length; n++) {
|
||
let out = ""
|
||
for (let rot = 0; rot < 4; rot++) {
|
||
for (let i = 0; i < squareSize; i++) {
|
||
for (let j = 0; j < squareSize; j++) {
|
||
if (templates[n][i][j]) {
|
||
out += encodedMsg[i * squareSize + j];
|
||
}
|
||
}
|
||
}
|
||
rotateTemplate(templates[n]);
|
||
}
|
||
console.log(out);
|
||
console.log("=======");
|
||
|
||
} |