|
<!DOCTYPE html> |
|
<html lang="ru"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
<title>ОрфоГрад | Тренажер орфографии для ЕГЭ</title> |
|
<script src="https://cdn.tailwindcss.com"></script> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"> |
|
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Roboto+Flex:wght@300;400;500;600&family=Rubik:wght@400;500;600;700&display=swap" rel="stylesheet"> |
|
<style> |
|
body { |
|
font-family: 'Rubik', sans-serif; |
|
background-color: #f8fafc; |
|
} |
|
|
|
.title-font { |
|
font-family: 'Montserrat', sans-serif; |
|
font-weight: 700; |
|
} |
|
|
|
.card { |
|
background: rgba(255, 255, 255, 0.98); |
|
backdrop-filter: blur(12px); |
|
border-radius: 24px; |
|
box-shadow: 0 12px 40px rgba(103, 114, 229, 0.12); |
|
border: 1px solid rgba(255, 255, 255, 0.25); |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.card:hover { |
|
box-shadow: 0 16px 48px rgba(103, 114, 229, 0.18); |
|
transform: translateY(-4px); |
|
} |
|
|
|
.letter-option { |
|
transition: all 0.2s ease; |
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08); |
|
border-radius: 14px; |
|
} |
|
|
|
.letter-option:hover { |
|
transform: translateY(-4px); |
|
box-shadow: 0 8px 20px rgba(103, 114, 229, 0.25); |
|
} |
|
|
|
.correct { |
|
background-color: #f0fdf4 !important; |
|
color: #16a34a !important; |
|
border-color: #22c55e !important; |
|
box-shadow: 0 6px 16px rgba(34, 197, 94, 0.25) !important; |
|
} |
|
|
|
.incorrect { |
|
background-color: #fef2f2 !important; |
|
color: #dc2626 !important; |
|
border-color: #ef4444 !important; |
|
box-shadow: 0 6px 16px rgba(239, 68, 68, 0.2) !important; |
|
} |
|
|
|
.progress-dot { |
|
width: 14px; |
|
height: 14px; |
|
border-radius: 50%; |
|
background-color: #e2e8f0; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.progress-dot.active { |
|
background-color: #6366f1; |
|
transform: scale(1.3); |
|
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25); |
|
} |
|
|
|
.progress-dot.correct { |
|
background-color: #22c55e; |
|
} |
|
|
|
.progress-dot.incorrect { |
|
background-color: #ef4444; |
|
} |
|
|
|
.highlight { |
|
position: relative; |
|
z-index: 1; |
|
} |
|
|
|
.highlight::after { |
|
content: ''; |
|
position: absolute; |
|
bottom: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 40%; |
|
background-color: #c7d2fe; |
|
z-index: -1; |
|
opacity: 0.4; |
|
border-radius: 6px; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.hint-btn { |
|
transition: all 0.3s ease; |
|
background: linear-gradient(135deg, #e0e7ff 0%, #f0f9ff 100%); |
|
border-radius: 14px; |
|
} |
|
|
|
.hint-btn:hover { |
|
background: linear-gradient(135deg, #d4dcfa 0%, #e6f4fe 100%); |
|
transform: translateY(-3px); |
|
} |
|
|
|
.next-btn { |
|
background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); |
|
box-shadow: 0 6px 18px rgba(99, 102, 241, 0.35); |
|
transition: all 0.3s ease; |
|
border-radius: 14px; |
|
} |
|
|
|
.next-btn:hover { |
|
transform: translateY(-3px); |
|
box-shadow: 0 8px 24px rgba(99, 102, 241, 0.45); |
|
} |
|
|
|
.stats-card { |
|
background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); |
|
box-shadow: 0 6px 28px rgba(0, 0, 0, 0.08); |
|
border-radius: 20px; |
|
} |
|
|
|
.stats-item { |
|
transition: all 0.3s ease; |
|
border-radius: 16px; |
|
} |
|
|
|
.stats-item:hover { |
|
transform: translateY(-4px); |
|
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05); |
|
} |
|
|
|
.word-display { |
|
text-shadow: 0 3px 6px rgba(0, 0, 0, 0.08); |
|
letter-spacing: 0.5px; |
|
} |
|
|
|
@media (max-width: 640px) { |
|
.options-grid { |
|
grid-template-columns: repeat(2, 1fr) !important; |
|
} |
|
} |
|
</style> |
|
</head> |
|
<body class="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-50"> |
|
<div class="container mx-auto px-4 py-8 max-w-4xl"> |
|
|
|
<header class="mb-10 text-center"> |
|
<h1 class="text-5xl font-bold text-indigo-900 mb-4 title-font">ОрфоГрад</h1> |
|
<p class="text-xl text-indigo-600/90">Тренажер орфографии для подготовки к ЕГЭ</p> |
|
</header> |
|
|
|
|
|
<main class="card p-8 mb-10 animate__animated animate__fadeIn"> |
|
|
|
<div class="flex justify-between items-center mb-8"> |
|
<div class="flex space-x-2 overflow-x-auto pb-2" style="max-width: 80%"> |
|
<div id="progress-dots" class="flex space-x-2"></div> |
|
</div> |
|
<span id="progress-text" class="text-sm font-medium text-indigo-600/90">1/250</span> |
|
</div> |
|
|
|
|
|
<div class="text-center mb-10"> |
|
<div id="word-display" class="text-5xl font-medium text-gray-800 mb-6 flex justify-center items-center flex-wrap word-display"></div> |
|
<p id="word-hint" class="text-sm text-indigo-500/90 italic hidden mt-4 px-6 py-3 bg-indigo-50/50 rounded-lg"></p> |
|
</div> |
|
|
|
|
|
<div id="options-container" class="grid grid-cols-4 gap-4 mb-8 options-grid"></div> |
|
|
|
|
|
<div id="result-container" class="hidden"> |
|
<div id="result-message" class="text-center py-4 px-6 rounded-lg mb-6 font-medium"></div> |
|
<button id="next-btn" class="w-full py-4 text-white font-medium rounded-lg transition next-btn"> |
|
Продолжить → |
|
</button> |
|
</div> |
|
|
|
|
|
<button id="hint-btn" class="w-full mt-6 py-3 text-sm text-indigo-700 hover:text-indigo-900 transition rounded-lg hint-btn font-medium"> |
|
Показать подсказку |
|
</button> |
|
</main> |
|
|
|
|
|
<div class="stats-card p-6 rounded-2xl"> |
|
<div class="grid grid-cols-3 gap-6 text-center"> |
|
<div class="stats-item p-3 rounded-xl"> |
|
<p class="text-sm text-indigo-600/80 mb-1">Правильно</p> |
|
<p id="correct-count" class="text-3xl font-bold text-indigo-900">0</p> |
|
</div> |
|
<div class="stats-item p-3 rounded-xl"> |
|
<p class="text-sm text-indigo-600/80 mb-1">Ошибок</p> |
|
<p id="wrong-count" class="text-3xl font-bold text-indigo-900">0</p> |
|
</div> |
|
<div class="stats-item p-3 rounded-xl"> |
|
<p class="text-sm text-indigo-600/80 mb-1">Процент</p> |
|
<p id="accuracy" class="text-3xl font-bold text-indigo-900">0%</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<script> |
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
const wordsDatabase = [ |
|
|
|
{ word: "бе_шумный", options: ["з", "с"], correct: "с", hint: "Приставка «бес-» пишется перед глухими согласными"}, |
|
{ word: "бе_полезный", options: ["з", "с"], correct: "з", hint: "Приставка «без-» пишется перед звонкими согласными"}, |
|
{ word: "ра_писание", options: ["з", "с"], correct: "с", hint: "Приставка «рас-» пишется перед глухими согласными"}, |
|
{ word: "ра_глазный", options: ["з", "с"], correct: "з", hint: "Приставка «раз-» пишется перед звонкими согласными"}, |
|
{ word: "и_подтишка", options: ["з", "с"], correct: "с", hint: "Приставка «ис-» пишется перед глухими согласными"}, |
|
{ word: "и_бежать", options: ["з", "с"], correct: "з", hint: "Приставка «из-» пишется перед звонкими согласными"}, |
|
{ word: "ни_послать", options: ["з", "с"], correct: "с", hint: "Приставка «нис-» пишется перед глухими согласными"}, |
|
{ word: "ни_ходить", options: ["з", "с"], correct: "з", hint: "Приставка «низ-» пишется перед звонкими согласными"}, |
|
{ word: "чре_мерный", options: ["з", "с"], correct: "с", hint: "Приставка «чрес-» пишется перед глухими согласными"}, |
|
{ word: "чре_вычайный", options: ["з", "с"], correct: "з", hint: "Приставка «чрез-» пишется перед звонкими согласными"}, |
|
{ word: "бе_платный", options: ["з", "с"], correct: "с", hint: "Приставка «бес-» перед глухими согласными"}, |
|
{ word: "бе_вкусный", options: ["з", "с"], correct: "з", hint: "Приставка «без-» перед звонкими согласными"}, |
|
{ word: "ра_свет", options: ["з", "с"], correct: "с", hint: "Приставка «рас-» перед глухими согласными"}, |
|
{ word: "ра_дольный", options: ["з", "с"], correct: "з", hint: "Приставка «раз-» перед звонкими согласными"}, |
|
{ word: "и_счезнуть", options: ["з", "с"], correct: "с", hint: "Приставка «ис-» перед глухими согласными"}, |
|
{ word: "и_бегать", options: ["з", "с"], correct: "з", hint: "Приставка «из-» перед звонкими согласными"}, |
|
{ word: "ни_падать", options: ["з", "с"], correct: "с", hint: "Приставка «нис-» перед глухими согласными"}, |
|
{ word: "ни_ходить", options: ["з", "с"], correct: "з", hint: "Приставка «низ-» перед звонкими согласными"}, |
|
{ word: "чре_мерный", options: ["з", "с"], correct: "с", hint: "Приставка «чрес-» перед глухими согласными"}, |
|
{ word: "чре_вычайный", options: ["з", "с"], correct: "з", hint: "Приставка «чрез-» перед звонкими согласными"}, |
|
{ word: "бе_пощадный", options: ["з", "с"], correct: "с", hint: "Приставка «бес-» перед глухими согласными"}, |
|
{ word: "бе_граничный", options: ["з", "с"], correct: "з", hint: "Приставка «без-» перед звонкими согласными"}, |
|
{ word: "ра_писать", options: ["з", "с"], correct: "с", hint: "Приставка «рас-» перед глухими согласными"}, |
|
{ word: "ра_бить", options: ["з", "с"], correct: "з", hint: "Приставка «раз-» перед звонкими согласными"}, |
|
{ word: "и_пугать", options: ["з", "с"], correct: "с", hint: "Приставка «ис-» перед глухими согласными"}, |
|
{ word: "и_бегать", options: ["з", "с"], correct: "з", hint: "Приставка «из-» перед звонкими согласными"}, |
|
{ word: "ни_падать", options: ["з", "с"], correct: "с", hint: "Приставка «нис-» перед глухими согласными"}, |
|
{ word: "ни_ходить", options: ["з", "с"], correct: "з", hint: "Приставка «низ-» перед звонкими согласными"}, |
|
{ word: "чре_мерный", options: ["з", "с"], correct: "с", hint: "Приставка «чрес-» перед глухими согласными"}, |
|
{ word: "чре_вычайный", options: ["з", "с"], correct: "з", hint: "Приставка «чрез-» перед звонкими согласными"}, |
|
{ word: "бе_пощадный", options: ["з", "с"], correct: "с", hint: "Приставка «бес-» перед глухими согласными"}, |
|
{ word: "бе_граничный", options: ["з", "с"], correct: "з", hint: "Приставка «без-» перед звонкими согласными"}, |
|
{ word: "ра_писать", options: ["з", "с"], correct: "с", hint: "Приставка «рас-» перед глухими согласными"}, |
|
{ word: "ра_бить", options: ["з", "с"], correct: "з", hint: "Приставка «раз-» перед звонкими согласными"}, |
|
{ word: "и_пугать", options: ["з", "с"], correct: "с", hint: "Приставка «ис-» перед глухими согласными"}, |
|
{ word: "и_бегать", options: ["з", "с"], correct: "з", hint: "Приставка «из-» перед звонкими согласными"}, |
|
{ word: "ни_падать", options: ["з", "с"], correct: "с", hint: "Приставка «нис-» перед глухими согласными"}, |
|
{ word: "ни_ходить", options: ["з", "с"], correct: "з", hint: "Приставка «низ-» перед звонкими согласными"}, |
|
{ word: "чре_мерный", options: ["з", "с"], correct: "с", hint: "Приставка «чрес-» перед глухими согласными"}, |
|
{ word: "чре_вычайный", options: ["з", "с"], correct: "з", hint: "Приставка «чрез-» перед звонкими согласными"}, |
|
{ word: "бе_пощадный", options: ["з", "с"], correct: "с", hint: "Приставка «бес-» перед глухими согласными"}, |
|
{ word: "бе_граничный", options: ["з", "с"], correct: "з", hint: "Приставка «без-» перед звонкими согласными"}, |
|
{ word: "ра_писать", options: ["з", "с"], correct: "с", hint: "Приставка «рас-» перед глухими согласными"}, |
|
{ word: "ра_бить", options: ["з", "с"], correct: "з", hint: "Приставка «раз-» перед звонкими согласными"}, |
|
{ word: "и_пугать", options: ["з", "с"], correct: "с", hint: "Приставка «ис-» перед глухими согласными"}, |
|
{ word: "и_бегать", options: ["з", "с"], correct: "з", hint: "Приставка «из-» перед звонкими согласными"}, |
|
{ word: "ни_падать", options: ["з", "с"], correct: "с", hint: "Приставка «нис-» перед глухими согласными"}, |
|
{ word: "ни_ходить", options: ["з", "с"], correct: "з", hint: "Приставка «низ-» перед звонкими согласными"}, |
|
{ word: "чре_мерный", options: ["з", "с"], correct: "с", hint: "Приставка «чрес-» перед глухими согласными"}, |
|
{ word: "чре_вычайный", options: ["з", "с"], correct: "з", hint: "Приставка «чрез-» перед звонкими согласными"}, |
|
|
|
|
|
{ word: "пр_бывать", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает приближение"}, |
|
{ word: "пр_града", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает очень высокую степень"}, |
|
{ word: "пр_ступник", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» в значении «пере-»"}, |
|
{ word: "пр_милый", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» в значении «очень»"}, |
|
{ word: "пр_клеить", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_увеличить", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "непр_ложный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» в значении «очень»"}, |
|
{ word: "пр_сесть", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает неполноту действия"}, |
|
{ word: "пр_вратить", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_обрести", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает приобретение"}, |
|
{ word: "пр_уменьшить", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_возмочь", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_лестный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_следовать", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_станище", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает приближение"}, |
|
{ word: "пр_вратный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_вокзальный", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает близость"}, |
|
{ word: "пр_успешный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_соединить", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вращение", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_возвышение", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_старелый", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает неполноту действия"}, |
|
{ word: "пр_вратник", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_смыкать", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_увеличитель", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_вратный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_станище", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает приближение"}, |
|
{ word: "пр_увеличительный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_следователь", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вратник", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_старелый", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает неполноту действия"}, |
|
{ word: "пр_увеличительный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_смыкание", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вращение", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_станище", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает приближение"}, |
|
{ word: "пр_увеличительный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_следование", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вратник", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_старелый", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает неполноту действия"}, |
|
{ word: "пр_увеличительный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_смыкание", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вращение", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_станище", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает приближение"}, |
|
{ word: "пр_увеличительный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_следование", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вратник", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
{ word: "пр_старелый", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает неполноту действия"}, |
|
{ word: "пр_увеличительный", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает «очень»"}, |
|
{ word: "пр_смыкание", options: ["и", "е"], correct: "и", hint: "Приставка «при-» означает присоединение"}, |
|
{ word: "пр_вращение", options: ["и", "е"], correct: "е", hint: "Приставка «пре-» означает изменение"}, |
|
|
|
|
|
{ word: "кол_цо", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "нож_к_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "крыш_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "туч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "лиц_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "овц_", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "ключ_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "врач_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "товарищ_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "плащ_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "нож_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "карандаш_м", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "тиш_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "свеч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "мелоч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "ноч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "реч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "вещ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "рощ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "туч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "свеч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "мелоч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "ноч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "реч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "вещ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "рощ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "туч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "свеч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "мелоч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "ноч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "реч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "вещ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "рощ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "туч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "свеч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "мелоч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "ноч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "реч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "вещ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "рощ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "туч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "свеч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "мелоч_й", options: ["е", "и"], correct: "е", hint: "В окончаниях существительных после шипящих и Ц пишется Е"}, |
|
{ word: "ноч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "реч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "вещ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "рощ_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
{ word: "туч_", options: ["е", "и"], correct: "и", hint: "В окончаниях существительных после шипящих и Ц пишется И"}, |
|
|
|
|
|
{ word: "замоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "ключ_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "огурч_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "носоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "дружоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "столич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "мешоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "садич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "цветоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "домич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "кусочек", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "шарич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "листоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "ручейч_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "ореш_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "снежоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "карандаш_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "платоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "сапож_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "горош_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "замоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "ключ_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "огурч_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "носоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "дружоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "столич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "мешоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "садич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "цветоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "домич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "кусочек", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "шарич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "листоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "ручейч_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "ореш_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "снежоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "карандаш_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "платоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "сапож_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "горош_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "замоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "ключ_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "огурч_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "носоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "дружоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "столич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "мешоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
{ word: "садич_к", options: ["е", "и"], correct: "и", hint: "Суффикс -ик пишется, если гласный сохраняется при склонении"}, |
|
{ word: "цветоч_к", options: ["е", "и"], correct: "е", hint: "Суффикс -ек пишется, если гласный выпадает при склонении"}, |
|
|
|
|
|
{ word: "исп_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "завид_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "развед_вать", options: ["о", "е", "ы"], correct: "ы", hint: "Если в 1 лице ед. числа оканчивается на -ываю, то пишется ЫВА"}, |
|
{ word: "проповед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "проб_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "застре_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "танц_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "ноч_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "горо_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "бесед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "исп_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "завид_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "развед_вать", options: ["о", "е", "ы"], correct: "ы", hint: "Если в 1 лице ед. числа оканчивается на -ываю, то пишется ЫВА"}, |
|
{ word: "проповед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "проб_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "застре_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "танц_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "ноч_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "горо_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "бесед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "исп_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "завид_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "развед_вать", options: ["о", "е", "ы"], correct: "ы", hint: "Если в 1 лице ед. числа оканчивается на -ываю, то пишется ЫВА"}, |
|
{ word: "проповед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "проб_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "застре_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "танц_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "ноч_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "горо_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "бесед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "исп_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "завид_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "развед_вать", options: ["о", "е", "ы"], correct: "ы", hint: "Если в 1 лице ед. числа оканчивается на -ываю, то пишется ЫВА"}, |
|
{ word: "проповед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "проб_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "застре_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "танц_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "ноч_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "горо_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "бесед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "исп_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "завид_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "развед_вать", options: ["о", "е", "ы"], correct: "ы", hint: "Если в 1 лице ед. числа оканчивается на -ываю, то пишется ЫВА"}, |
|
{ word: "проповед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "проб_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"}, |
|
{ word: "застре_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "танц_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "ноч_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "горо_вать", options: ["о", "е", "ы"], correct: "е", hint: "Если в 1 лице ед. числа оканчивается на -еваю, то пишется ЕВА"}, |
|
{ word: "бесед_вать", options: ["о", "е", "ы"], correct: "о", hint: "Если в 1 лице ед. числа оканчивается на -ую, то пишется ОВА"} |
|
]; |
|
|
|
|
|
function shuffleArray(array) { |
|
for (let i = array.length - 1; i > 0; i--) { |
|
const j = Math.floor(Math.random() * (i + 1)); |
|
[array[i], array[j]] = [array[j], array[i]]; |
|
} |
|
return array; |
|
} |
|
|
|
const shuffledWords = shuffleArray([...wordsDatabase]); |
|
|
|
|
|
const wordDisplay = document.getElementById('word-display'); |
|
const optionsContainer = document.getElementById('options-container'); |
|
const resultContainer = document.getElementById('result-container'); |
|
const resultMessage = document.getElementById('result-message'); |
|
const nextBtn = document.getElementById('next-btn'); |
|
const hintBtn = document.getElementById('hint-btn'); |
|
const wordHint = document.getElementById('word-hint'); |
|
const progressDots = document.getElementById('progress-dots'); |
|
const progressText = document.getElementById('progress-text'); |
|
const correctCount = document.getElementById('correct-count'); |
|
const wrongCount = document.getElementById('wrong-count'); |
|
const accuracy = document.getElementById('accuracy'); |
|
|
|
|
|
let currentIndex = 0; |
|
let correctAnswers = 0; |
|
let wrongAnswers = 0; |
|
|
|
|
|
function initProgress() { |
|
progressDots.innerHTML = ''; |
|
for (let i = 0; i < shuffledWords.length; i++) { |
|
const dot = document.createElement('div'); |
|
dot.className = 'progress-dot'; |
|
progressDots.appendChild(dot); |
|
} |
|
updateProgress(); |
|
} |
|
|
|
|
|
function updateProgress() { |
|
progressText.textContent = `${currentIndex + 1}/${shuffledWords.length}`; |
|
|
|
const dots = document.querySelectorAll('.progress-dot'); |
|
dots.forEach((dot, index) => { |
|
dot.classList.remove('active', 'correct', 'incorrect'); |
|
|
|
if (index === currentIndex) { |
|
dot.classList.add('active'); |
|
} else if (index < currentIndex) { |
|
if (shuffledWords[index].answeredCorrectly) { |
|
dot.classList.add('correct'); |
|
} else { |
|
dot.classList.add('incorrect'); |
|
} |
|
} |
|
}); |
|
|
|
|
|
correctCount.textContent = correctAnswers; |
|
wrongCount.textContent = wrongAnswers; |
|
const total = correctAnswers + wrongAnswers; |
|
const acc = total > 0 ? Math.round((correctAnswers / total) * 100) : 0; |
|
accuracy.textContent = `${acc}%`; |
|
} |
|
|
|
|
|
function displayCurrentWord() { |
|
const currentWord = shuffledWords[currentIndex]; |
|
const wordParts = currentWord.word.split('_'); |
|
|
|
wordDisplay.innerHTML = ''; |
|
|
|
|
|
wordDisplay.appendChild(document.createTextNode(wordParts[0])); |
|
|
|
|
|
const gap = document.createElement('span'); |
|
gap.className = 'highlight text-indigo-600 font-bold'; |
|
gap.textContent = '_'; |
|
wordDisplay.appendChild(gap); |
|
|
|
|
|
if (wordParts.length > 1) { |
|
wordDisplay.appendChild(document.createTextNode(wordParts[1])); |
|
} |
|
|
|
|
|
optionsContainer.innerHTML = ''; |
|
|
|
|
|
const shuffledOptions = [...currentWord.options]; |
|
for (let i = shuffledOptions.length - 1; i > 0; i--) { |
|
const j = Math.floor(Math.random() * (i + 1)); |
|
[shuffledOptions[i], shuffledOptions[j]] = [shuffledOptions[j], shuffledOptions[i]]; |
|
} |
|
|
|
shuffledOptions.forEach(option => { |
|
const optionBtn = document.createElement('button'); |
|
optionBtn.className = 'letter-option py-4 px-6 bg-white border border-gray-200 font-medium text-gray-700 hover:bg-gray-50'; |
|
optionBtn.textContent = option; |
|
optionBtn.addEventListener('click', () => checkAnswer(option)); |
|
optionsContainer.appendChild(optionBtn); |
|
}); |
|
|
|
|
|
resultContainer.classList.add('hidden'); |
|
wordHint.classList.add('hidden'); |
|
|
|
|
|
updateProgress(); |
|
} |
|
|
|
|
|
function checkAnswer(selectedOption) { |
|
const currentWord = shuffledWords[currentIndex]; |
|
const isCorrect = selectedOption === currentWord.correct; |
|
|
|
|
|
currentWord.answeredCorrectly = isCorrect; |
|
|
|
|
|
if (isCorrect) { |
|
correctAnswers++; |
|
} else { |
|
wrongAnswers++; |
|
} |
|
|
|
|
|
resultContainer.classList.remove('hidden'); |
|
|
|
|
|
const optionButtons = document.querySelectorAll('.letter-option'); |
|
optionButtons.forEach(btn => { |
|
btn.disabled = true; |
|
if (btn.textContent === currentWord.correct) { |
|
btn.classList.add('correct'); |
|
} else if (btn.textContent === selectedOption && !isCorrect) { |
|
btn.classList.add('incorrect'); |
|
} |
|
}); |
|
|
|
|
|
if (isCorrect) { |
|
resultMessage.textContent = 'Правильно!'; |
|
resultMessage.className = 'text-green-600 bg-green-50'; |
|
} else { |
|
resultMessage.textContent = `Неверно! Правильный ответ: ${currentWord.correct}`; |
|
resultMessage.className = 'text-red-600 bg-red-50'; |
|
} |
|
} |
|
|
|
|
|
function nextWord() { |
|
currentIndex++; |
|
if (currentIndex < shuffledWords.length) { |
|
displayCurrentWord(); |
|
} else { |
|
|
|
wordDisplay.textContent = 'Тренировка завершена!'; |
|
optionsContainer.innerHTML = ''; |
|
resultContainer.classList.add('hidden'); |
|
hintBtn.classList.add('hidden'); |
|
|
|
|
|
const total = correctAnswers + wrongAnswers; |
|
const acc = total > 0 ? Math.round((correctAnswers / total) * 100) : 0; |
|
|
|
wordDisplay.innerHTML = ` |
|
<div class="text-center"> |
|
<h2 class="text-2xl font-bold mb-4">Результаты тренировки</h2> |
|
<p class="text-lg mb-2">Правильных ответов: <span class="font-bold text-green-600">${correctAnswers}</span></p> |
|
<p class="text-lg mb-2">Ошибок: <span class="font-bold text-red-600">${wrongAnswers}</span></p> |
|
<p class="text-lg mb-6">Точность: <span class="font-bold text-indigo-600">${acc}%</span></p> |
|
<button onclick="location.reload()" class="next-btn py-3 px-6 text-white font-medium rounded-lg">Начать заново</button> |
|
</div> |
|
`; |
|
} |
|
} |
|
|
|
|
|
function showHint() { |
|
wordHint.textContent = shuffledWords[currentIndex].hint; |
|
wordHint.classList.remove('hidden'); |
|
} |
|
|
|
|
|
initProgress(); |
|
displayCurrentWord(); |
|
|
|
|
|
nextBtn.addEventListener('click', nextWord); |
|
hintBtn.addEventListener('click', showHint); |
|
}); |
|
</script> |
|
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Kingrane/egegraf" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
</html> |