Žodyno plėtimas
Užduotis bus čia
// --- Duomenys --- const questions = [ { task: 'Rask sinonimą žodžiui:', word: 'linksmas', options: ['džiugus', 'liūdnas', 'piktas'], correct: 'džiugus' }, { task: 'Rask antonimą žodžiui:', word: 'didelis', options: ['mažas', 'aukštas', 'milžiniškas'], correct: 'mažas' }, { task: 'Rask sinonimą žodžiui:', word: 'greitas', options: ['vikrus', 'lėtas', 'stiprus'], correct: 'vikrus' }, { task: 'Rask antonimą žodžiui:', word: 'šaltas', options: ['karštas', 'vėsus', 'ledinis'], correct: 'karštas' }, { task: 'Rask sinonimą žodžiui:', word: 'kalbėti', options: ['šnekėti', 'tylėti', 'klausyti'], correct: 'šnekėti' }, { task: 'Rask antonimą žodžiui:', word: 'diena', options: ['naktis', 'rytas', 'vakaras'], correct: 'naktis' }, { task: 'Rask sinonimą žodžiui:', word: 'drąsus', options: ['narsus', 'bailus', 'išsigandęs'], correct: 'narsus' }, { task: 'Rask antonimą žodžiui:', word: 'lengvas', options: ['sunkus', 'paprastas', 'mažas'], correct: 'sunkus' }, { task: 'Rask sinonimą žodžiui:', word: 'namas', options: ['pastatas', 'kelias', 'miškas'], correct: 'pastatas' }, { task: 'Rask antonimą žodžiui:', word: 'pradžia', options: ['pabaiga', 'vidurys', 'kelias'], correct: 'pabaiga' } ];
// --- Būsenos kintamieji --- let currentQuestionIndex = 0; let isAnswered = false;
// --- DOM elementai --- const taskTextEl = document.getElementById('task-text'); const wordToFindEl = document.getElementById('word-to-find'); const optionsContainer = document.getElementById('options-container'); const nextBtn = document.getElementById('next-btn'); const feedbackEl = document.getElementById('feedback'); const progressEl = document.getElementById('progress');
// --- Funkcijos ---
/** * Paruošia ir atvaizduoja dabartinį klausimą ekrane. */ function displayQuestion() { isAnswered = false; const currentQuestion = questions[currentQuestionIndex];
taskTextEl.textContent = currentQuestion.task; wordToFindEl.textContent = currentQuestion.word; optionsContainer.innerHTML = ''; feedbackEl.innerHTML = '';
// Sumaišome atsakymų variantus, kad nebūtų visada toje pačioje vietoje const shuffledOptions = [...currentQuestion.options].sort(() => Math.random() - 0.5);
shuffledOptions.forEach(option => { const button = document.createElement('button'); button.textContent = option; button.classList.add('answer-btn', 'w-full', 'text-xl', 'font-medium', 'p-4', 'border-2', 'rounded-lg', 'bg-white', 'text-gray-700', 'border-gray-300'); button.addEventListener('click', () => checkAnswer(option, button)); optionsContainer.appendChild(button); });
nextBtn.classList.add('hidden'); updateProgress(); }
/** * Patikrina vartotojo atsakymą ir pateikia grįžtamąjį ryšį. * @param {string} selectedOption - Vartotojo pasirinktas atsakymas. * @param {HTMLElement} selectedButton - Paspaustas mygtukas. */ function checkAnswer(selectedOption, selectedButton) { if (isAnswered) return; isAnswered = true;
const currentQuestion = questions[currentQuestionIndex]; const isCorrect = selectedOption === currentQuestion.correct;
// Išjungiame visus mygtukus po atsakymo const allButtons = optionsContainer.querySelectorAll('.answer-btn'); allButtons.forEach(btn => { btn.disabled = true; // Pažymime teisingą atsakymą žaliai if (btn.textContent === currentQuestion.correct) { btn.classList.add('correct'); } });
if (isCorrect) { feedbackEl.innerHTML = 'Puiku! Teisingai! 🎉'; } else { selectedButton.classList.add('incorrect'); feedbackEl.innerHTML = 'Bandyk dar kartą.'; }
nextBtn.classList.remove('hidden'); if (currentQuestionIndex === questions.length - 1) { nextBtn.textContent = 'Baigti užduotį'; } }
/** * Pereina prie kito klausimo arba užbaigia užduotį. */ function goToNextQuestion() { currentQuestionIndex++; if (currentQuestionIndex < questions.length) { displayQuestion(); } else { // Užduotis baigta document.body.innerHTML = `
Šaunuolis!
Užduotis sėkmingai atlikta. Tu puikiai padirbėjai!
`; } }
/** * Atnaujina eigos indikatorių. */ function updateProgress() { progressEl.textContent = `Klausimas ${currentQuestionIndex + 1} iš ${questions.length}`; }
// --- Įvykių klausytojai --- nextBtn.addEventListener('click', goToNextQuestion);
// --- Pradinis paleidimas --- displayQuestion();