IQ-викторина
неофициальный
This is an automatic translation. Read the original

<голова>
<мета-кодировка="UTF-8">
<стиль>
тело {
семейство шрифтов: Arial, без засечек;
фон: #1a0000;
цвет: белый;
выравнивание текста: по центру;
}
.quiz-box {
фон: #260000;
отступ: 20 пикселей;
максимальная ширина: 650 пикселей;
маржа: авто;
}
кнопка {
дисплей: блок;
ширина: 80%;
поле: 8 пикселей авто;
отступ: 10 пикселей;
фон: #990000;
цвет: белый;
граница: нет;
курсор: указатель;
}
кнопка:hover {background: #b30000; }
.correct { фон: зеленый !important; }
.wrong { фон: темно-красный ! важно; }
#progressBar {высота: 8 пикселей; фон:#333; поле снизу: 10 пикселей; }
#progress {высота: 8 пикселей; ширина: 0%; фон:#cc0000; }
<тело>
<скрипт>
// ОГРОМНЫЙ БАНК ВОПРОСОВ
константный банк = [
{q:"2,4,8,16,?",a:["18","24","32","30"],c:2},
{q:"1,1,2,3,5,?",a:["6","7","8","9"],c:2},
{q:"5 машин → 5 предметов за 5 минут. 100 машин?",a:["100","5","50","10"],c:1},
{q:"Лишний лишний?",a:["Собака","Кошка","Машина","Птица"],c:2},
{q:"A,C,F,J,?",a:["M","N","O","P"],c:1},
{q:"7,10,8,11,9,?",a:["10","11","12","13"],c:1},
{q:"Самый большой?",a:["0.2","0.02","0.002","0.0002"],c:0},
{q:"3,9,27,?",a:["54","81","72","90"],c:1},
{q:"Двоичное число 4?",a:["100","101","110","111"],c:0},
{q:"Далее: 100,90,80,?",a:["70","75","60","85"],c:0},
// ЛОГИКА
{q:"Все A являются B. Все B являются C. A являются?",a:["C","Нет","Некоторые","Неизвестно"],c:0},
{q:"Если 3 кошки поймают 3 мышей за 3 минуты, то 6 кошек?",a:["3","6","9","12"],c:0},
{q:"Зеркало RIGHT?",a:["THGIR","LEFT","RIGHT","UP"],c:0},
{q:"Что будет дальше: Z,Y,X,?",a:["W","V","U","T"],c:0},
{q:"Нечетное число?",a:["2","4","6","7"],c:3},
// МАТЕМАТИЧЕСКАЯ ЛОГИКА
{q:"15+6×2?",a:["42","27","21","18"],c:1},
{q:"(10²)/5?",a:["10","20","25","15"],c:1},
{q:"Квадрат 13?",a:["169","196","156","144"],c:0},
{q:"Половина 0,5?",a:["0,25","0,2","0,3","0,4"],c:0},
// ШАБЛОНЫ
{q:"▲■▲■▲ ?",a:["■","▲","ا","◆"],c:0},
{q:"1,4,9,16,?",a:["20","25","36","18"],c:1},
{q:"2,6,7,21,22,?",a:["44","66","23","24"],c:1},
{q:"Четный шаблон?",a:["2,6,10","1,3,5","3,6,9","5,10,20"],c:0},
// СЛОВОВАЯ ЛОГИКА
{q:"Синоним БЫСТРО?",a:["Быстро","Медленно","Поздно","Стоп"],c:0},
{q:"Противоположность DARK?",a:["Свет","Ночь","Черный","Тень"],c:0},
{q:"Книгу нужно читать так же, как нож?",a:["Вырезать","Пиши","Готовить","Держать"],c:0},
// БОЛЬШЕ МИКСА
{q:"10,20,40,80,?",a:["120","140","160","200"],c:2},
{q:"Лишний?",a:["Треугольник","Квадрат","Круг","Автомобиль"],c:3},
{q:"5² + 3²?",a:["34","25","28","16"],c:0},
{q:"Простое число?",a:["9","15","17","21"],c:2},
// ЭКСТРА (повторение типов паттернов для объема)
...Array.from({длина:30}, (_,i)=>({
q:`Шаблон ${i+1}: ${i}, ${i+2}, ${i+4}, ?`,
a:[`${i+6}`,`${i+5}`,`${i+7}`,`${i+8}`],
с:0
}))
];
// выбираем 20 случайных чисел
let quiz = bank.sort(()=>Math.random()-0.5).slice(0,20);
пусть текущий = 0, счет = 0, время = 60, таймер;
функция startTimer(){
время=60;
document.getElementById("timer").innerText="Время: "+time;
таймер = setInterval(()=>{
время--;
document.getElementById("timer").innerText="Время: "+time;
если (время <= 0) {
ClearInterval (таймер);
следующийВопрос();
}
},1000);
}
функция loadQuestion(){
ClearInterval (таймер);
СтартТаймер();
пусть q=quiz[текущий];
document.getElementById("вопрос").innerText=q.q;
document.getElementById("прогресс").style.width=
((текущий/длина теста)*100)+"%";
let Answers=document.getElementById("ответы");
ответы.innerHTML="";
q.a.forEach((ans,i)=>{
let btn=document.createElement("кнопка");
btn.innerText=анс;
btn.onclick=()=>checkAnswer(i,btn);
ответы.appendChild(ктн);
});
}
функция checkAnswer(i,btn){
ClearInterval (таймер);
if(i===викторина[текущий].c){
btn.classList.add("правильно");
оценка++;
} еще {
btn.classList.add("неправильно");
}
Array.from(document.getElementById("ответы").дети)
.forEach(b=>b.disabled=true);
setTimeout (nextQuestion, 800);
}
функция следующийВопрос(){
текущий++;
если (текущий <викторина.длина) {
загрузитьВопрос();
} еще {
закончить();
}
}
завершение функции(){
пусть процент = (оценка/викторина.длина)*100;
пусть текст="";
if(percent>=90) text="Очень высокий (≈130+)";
else if(percent>=70) text="Выше среднего";
иначе if(процент>=50) text="Среднее";
else text="Ниже среднего";
document.querySelector(".quiz-box").innerHTML=`
IQ-тест
⚠️ Не официальный тест на IQ
Время: 60
Завершено
Оценка: ${score}/${quiz.length
${текст
Не официальный тест на IQ
Повторить `; } загрузитьВопрос();

