Skip to content

Instantly share code, notes, and snippets.

@thecodemedia
Last active August 28, 2019 13:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thecodemedia/39b1c1f0ef79bd118ea5ada88f277a1d to your computer and use it in GitHub Desktop.
Save thecodemedia/39b1c1f0ef79bd118ea5ada88f277a1d to your computer and use it in GitHub Desktop.
// сигнальные переменные, которые следят за тем, все ли условия выполняются. По умолчанию они говорят, что всё верно, но внутри кода, как только будет ошибка при проверке, они превратятся в ложные
var diag = true;
var lines = true;
var uniqie = true;
// здесь мы будем хранить результат вычислений сумм, равны они 50 или нет
var result1, result2, result3, result4 = 0;
// проверяем обе диагонали
for (var j = 0; j < 4; j++){
result1 += code[j][j];
result2 += code[j][3-j];
}
// если хоть одно из них не 50 — помечаем, что условие не выполнилось
if ((result1 != 50) && (result2 != 50)){diag = false};
// проверяем сумму в строках и столбцах
for (var j = 0; j < 4; j++){
for (var k = 0; k < 4; k++){
// суммируем строку и столбец
result3 += code[j][k];
result4 += code[k][j];
}
// если сумма не та, что нужно — помечаем, что условие в линиях не выполнилось
if (result3 != 50){lines = false};
if (result4 != 50){lines = false};
// здесь же — сравниваем каждый элемент массива со всеми остальными
for (j1 = j; j1 < 4; j1++){
for (k1 = k; k1 < 4; k1++){
// если нашли равные элементы — помечаем, что эта проверка провалилась
if (code[j][k] == code[j1][k1]) {uniqie = false};
}
}
}
// если все проверки прошли успешно — выводим результат
if (diag && lines && uniqie){
console.log('Unlocked!');
console.log(code[0][0]+' '+code[0][1]+' '+code[0][2]+' '+code[0][3]);
console.log(code[1][0]+' '+code[1][1]+' '+code[1][2]+' '+code[1][3]);
console.log(code[2][0]+' '+code[2][1]+' '+code[2][2]+' '+code[2][3]);
console.log(code[3][0]+' '+code[3][1]+' '+code[3][2]+' '+code[3][3]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment