Simple Past Quiz Choose the correct answer. Question 1 of 20 Score: 0 #mafen-simple-past-quiz { max-width: 700px; margin: 30px auto; padding: 25px; background: #fdfdfd; border: 1px solid #e0e0e0; border-radius: 14px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; box-shadow: 0 5px 15px rgba(0,0,0,0.06); box-sizing: border-box; } #mafen-simple-past-quiz *, #mafen-simple-past-quiz *::before, #mafen-simple-past-quiz *::after { box-sizing: border-box; } .mafen-sp-header { text-align: center; margin-bottom: 25px; } .mafen-sp-header h2 { margin: 0 0 7px; color: #2c3e50; font-size: 27px; font-weight: 700; } .mafen-sp-header p { margin: 0; color: #7f8c8d; font-size: 15px; } .mafen-sp-progress { margin-bottom: 25px; } .mafen-sp-progress-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 14px; color: #566573; } .mafen-sp-progress-info strong { color: #2c3e50; } .mafen-sp-progress-bar { width: 100%; height: 9px; background: #ecf0f1; border-radius: 10px; overflow: hidden; } #mafen-sp-progress-fill { width: 5%; height: 100%; background: #3498db; border-radius: 10px; transition: width 0.3s ease; } .mafen-sp-card { background: #ffffff; padding: 25px; margin-bottom: 20px; border-radius: 10px; border-left: 5px solid #3498db; box-shadow: 0 3px 8px rgba(0,0,0,0.04); } .mafen-sp-topic { display: inline-block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #3498db; font-weight: 700; margin-bottom: 10px; } .mafen-sp-question { font-size: 18px; line-height: 1.6; font-weight: 600; color: #2c3e50; margin-bottom: 20px; } .mafen-sp-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .mafen-sp-option { width: 100%; padding: 13px 15px; background: #f8f9fa; border: 1px solid #dcdde1; border-radius: 7px; text-align: left; font-size: 15px; color: #2c3e50; cursor: pointer; transition: all 0.2s ease; } .mafen-sp-option:hover:not(:disabled) { background: #e1b12c; color: #ffffff; border-color: #e1b12c; transform: translateY(-1px); } .mafen-sp-option:disabled { cursor: default; } .mafen-sp-option.correct { background: #2ecc71 !important; color: #ffffff !important; border-color: #2ecc71 !important; } .mafen-sp-option.incorrect { background: #e74c3c !important; color: #ffffff !important; border-color: #e74c3c !important; } .mafen-sp-feedback { margin-top: 18px; padding: 14px 16px; border-radius: 7px; font-size: 14px; line-height: 1.6; } .mafen-sp-feedback.correct-feedback { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .mafen-sp-feedback.incorrect-feedback { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .mafen-sp-feedback strong { display: block; margin-bottom: 4px; } .mafen-sp-next { width: 100%; margin-top: 20px; padding: 13px 20px; border: none; border-radius: 7px; background: #3498db; color: white; font-size: 15px; font-weight: 600; cursor: pointer; } .mafen-sp-next:hover { background: #2980b9; } #mafen-sp-result { text-align: center; margin-top: 25px; padding: 30px 20px; background: #ebf3f9; border-radius: 10px; } .mafen-sp-result-title { font-size: 28px; font-weight: 700; color: #2c3e50; margin-bottom: 10px; } .mafen-sp-result-score { font-size: 42px; font-weight: 800; color: #3498db; margin: 10px 0; } .mafen-sp-result-message { font-size: 16px; color: #566573; margin-bottom: 20px; } .mafen-sp-restart { padding: 12px 25px; background: #2c3e50; color: #ffffff; border: none; border-radius: 7px; font-size: 15px; font-weight: 600; cursor: pointer; } .mafen-sp-restart:hover { background: #1f2d3a; } @media (max-width: 600px) { #mafen-simple-past-quiz { margin: 15px auto; padding: 18px; } .mafen-sp-header h2 { font-size: 23px; } .mafen-sp-card { padding: 18px; } .mafen-sp-question { font-size: 16px; } .mafen-sp-options { grid-template-columns: 1fr; } .mafen-sp-result-score { font-size: 35px; } } document.addEventListener("DOMContentLoaded", function () { const quizData = [ { topic: "Regular Verb", question: "We ___ football yesterday afternoon.", options: [ { text: "play", correct: false, reason: "The time expression 'yesterday afternoon' requires the past form." }, { text: "played", correct: true, reason: "Correct! 'Play' is a regular verb, so its Simple Past form is 'played'." }, { text: "have played", correct: false, reason: "The finished time expression 'yesterday' normally requires Simple Past." }, { text: "were playing", correct: false, reason: "The sentence simply describes a completed past event." } ] }, { topic: "Irregular Verb", question: "She ___ to London last weekend.", options: [ { text: "go", correct: false, reason: "The sentence refers to a completed past event." }, { text: "went", correct: true, reason: "Correct! The Simple Past of 'go' is 'went'." }, { text: "gone", correct: false, reason: "'Gone' is the past participle and cannot be used alone as the Simple Past." }, { text: "has gone", correct: false, reason: "'Last weekend' is a finished past time, so Simple Past is appropriate." } ] }, { topic: "Negative", question: "I ___ the film last night.", options: [ { text: "didn't watch", correct: true, reason: "Correct! Negative Simple Past is formed with 'didn't + base verb'." }, { text: "didn't watched", correct: false, reason: "After 'didn't', we use the base form: 'watch', not 'watched'." }, { text: "wasn't watch", correct: false, reason: "This is not the correct negative structure for Simple Past." }, { text: "haven't watched", correct: false, reason: "'Last night' refers to a finished past time." } ] }, { topic: "Question Form", question: "___ you visit your grandparents last Sunday?", options: [ { text: "Did", correct: true, reason: "Correct! Questions in Simple Past use 'Did + subject + base verb'." }, { text: "Do", correct: false, reason: "The sentence refers to a past event." }, { text: "Have", correct: false, reason: "Present Perfect is not used with the finished time expression 'last Sunday'." }, { text: "Were", correct: false, reason: "'Were' is not used to form ordinary Simple Past questions with main verbs." } ] }, { topic: "Irregular Verb", question: "He ___ a new laptop two weeks ago.", options: [ { text: "buy", correct: false, reason: "The sentence refers to a completed past event." }, { text: "bought", correct: true, reason: "Correct! The Simple Past of 'buy' is 'bought'." }, { text: "has bought", correct: false, reason: "'Two weeks ago' is a finished past time." }, { text: "buyed", correct: false, reason: "'Buy' is irregular. Its past form is 'bought'." } ] }, { topic: "Time Expression", question: "My brother started university ___ ago.", options: [ { text: "three years", correct: true, reason: "Correct! We use 'ago' with a period of time: three years ago." }, { text: "since three years", correct: false, reason: "We do not normally use 'since' with a duration in this structure." }, { text: "for three years ago", correct: false, reason: "'For' and 'ago' are not combined in this way." }, { text: "during three years ago", correct: false, reason: "This is not a correct English time expression." } ] }, { topic: "Was / Were", question: "I ___ very tired after the journey.", options: [ { text: "was", correct: true, reason: "Correct! The Simple Past form of 'be' with 'I' is 'was'." }, { text: "were", correct: false, reason: "'Were' is used with you, we and they in the Simple Past." }, { text: "am", correct: false, reason: "'Am' is Present Simple." }, { text: "have been", correct: false, reason: "The sentence describes a specific completed past situation." } ] }, { topic: "Was / Were", question: "They ___ at home yesterday evening.", options: [ { text: "was", correct: false, reason: "With 'they', the correct Simple Past form of 'be' is 'were'." }, { text: "were", correct: true, reason: "Correct! 'They were' is the correct Simple Past form." }, { text: "are", correct: false, reason: "'Are' is Present Simple." }, { text: "have been", correct: false, reason: "The sentence refers to a specific finished past time." } ] }, { topic: "Irregular Verb", question: "I ___ my keys on the bus yesterday.", options: [ { text: "leave", correct: false, reason: "The sentence refers to a past event." }, { text: "left", correct: true, reason: "Correct! The Simple Past of 'leave' is 'left'." }, { text: "leaved", correct: false, reason: "'Leave' is irregular. The correct past form is 'left'." }, { text: "have left", correct: false, reason: "'Yesterday' is a finished past time." } ] }, { topic: "Completed Event", question: "Sarah ___ her homework before dinner last night.", options: [ { text: "finished", correct: true, reason: "Correct! 'Last night' establishes a completed past time, so Simple Past is appropriate." }, { text: "has finished", correct: false, reason: "Present Perfect is generally not used with a finished time expression such as 'last night'." }, { text: "finishes", correct: false, reason: "The event happened in the past." }, { text: "is finishing", correct: false, reason: "The sentence describes a completed action." } ] }, { topic: "Question Word", question: "Where ___ you go on holiday last summer?", options: [ { text: "did", correct: true, reason: "Correct! Past questions use 'did' followed by the base form 'go'." }, { text: "do", correct: false, reason: "The sentence refers to last summer." }, { text: "were", correct: false, reason: "'Were' is not used to form this type of Simple Past question." }, { text: "have", correct: false, reason: "The finished time expression 'last summer' calls for Simple Past." } ] }, { topic: "Base Verb After Did", question: "What time did the train ___?", options: [ { text: "arrived", correct: false, reason: "After 'did', we use the base form of the verb." }, { text: "arrive", correct: true, reason: "Correct! The structure is 'did + subject + base verb'." }, { text: "arrives", correct: false, reason: "After 'did', the main verb must be in the base form." }, { text: "has arrived", correct: false, reason: "The question is formed in Simple Past." } ] }, { topic: "Negative Irregular Verb", question: "We ___ anything at the restaurant.", options: [ { text: "didn't ate", correct: false, reason: "After 'didn't', use the base form 'eat'." }, { text: "didn't eat", correct: true, reason: "Correct! Negative Simple Past uses 'didn't + base verb'." }, { text: "didn't eaten", correct: false, reason: "'Eaten' is the past participle. After 'didn't', use 'eat'." }, { text: "haven't eaten", correct: false, reason: "The sentence describes a completed past situation." } ] }, { topic: "Ago", question: "They moved to this city five years ___.", options: [ { text: "since", correct: false, reason: "'Since' is not used in the expression 'five years ago'." }, { text: "for", correct: false, reason: "'For' expresses duration, while 'ago' indicates how far back an event happened." }, { text: "ago", correct: true, reason: "Correct! 'Five years ago' refers to a specific point in the past." }, { text: "during", correct: false, reason: "'During' does not form this time expression." } ] }, { topic: "Irregular Verb", question: "She ___ me an interesting story yesterday.", options: [ { text: "tell", correct: false, reason: "The sentence refers to a completed past event." }, { text: "told", correct: true, reason: "Correct! The Simple Past of 'tell' is 'told'." }, { text: "telled", correct: false, reason: "'Tell' is irregular. The correct past form is 'told'." }, { text: "has told", correct: false, reason: "'Yesterday' is a finished time expression." } ] }, { topic: "Negative Be", question: "He ___ at school yesterday.", options: [ { text: "wasn't", correct: true, reason: "Correct! The negative Simple Past of 'was' is 'wasn't'." }, { text: "didn't be", correct: false, reason: "We do not use 'did' with the verb 'be' in this structure." }, { text: "weren't", correct: false, reason: "'Weren't' is used with you, we and they." }, { text: "hasn't been", correct: false, reason: "The sentence refers to a specific past time." } ] }, { topic: "Completed Past Event", question: "The concert ___ at 9 p.m. and ended at 11 p.m.", options: [ { text: "starts", correct: false, reason: "The event happened in the past." }, { text: "started", correct: true, reason: "Correct! 'Started' is the Simple Past form and matches the completed past event." }, { text: "has started", correct: false, reason: "The sentence describes a completed event at a specific past time." }, { text: "was starting", correct: false, reason: "There is no need to emphasise an action in progress." } ] }, { topic: "Sequence of Past Events", question: "I opened the door and ___ into the room.", options: [ { text: "walk", correct: false, reason: "The sentence describes a sequence of completed past actions." }, { text: "walked", correct: true, reason: "Correct! Simple Past is used for a series of completed past events." }, { text: "have walked", correct: false, reason: "The sentence narrates completed events in the past." }, { text: "am walking", correct: false, reason: "The action happened in the past." } ] }, { topic: "Irregular Verb", question: "My father ___ me to school this morning.", options: [ { text: "drive", correct: false, reason: "The sentence describes a completed event earlier today." }, { text: "drove", correct: true, reason: "Correct! The Simple Past of 'drive' is 'drove'." }, { text: "drived", correct: false, reason: "'Drive' is irregular. The correct past form is 'drove'." }, { text: "has driven", correct: false, reason: "The sentence focuses on a completed event at a specific time this morning." } ] }, { topic: "Final Challenge", question: "When I was a child, I ___ in the countryside.", options: [ { text: "live", correct: false, reason: "The sentence refers to a period in the past." }, { text: "lived", correct: true, reason: "Correct! Simple Past is used for completed or finished states and situations in the past." }, { text: "have lived", correct: false, reason: "The phrase 'when I was a child' refers to a finished period of life." }, { text: "am living", correct: false, reason: "The situation is in the past, not the present." } ] } ]; let currentQuestion = 0; let score = 0; const questionsContainer = document.getElementById("mafen-sp-questions"); const resultContainer = document.getElementById("mafen-sp-result"); const currentNumber = document.getElementById("mafen-sp-current"); const totalNumber = document.getElementById("mafen-sp-total"); const scoreDisplay = document.getElementById("mafen-sp-score"); const progressFill = document.getElementById("mafen-sp-progress-fill"); totalNumber.textContent = quizData.length; function loadQuestion() { const question = quizData[currentQuestion]; currentNumber.textContent = currentQuestion + 1; scoreDisplay.textContent = score; progressFill.style.width = ((currentQuestion + 1) / quizData.length * 100) + "%"; let html = ` ${question.topic} ${currentQuestion + 1}. ${question.question} `; question.options.forEach(function(option, index) { html += ` ${option.text} `; }); html += ` `; questionsContainer.innerHTML = html; const buttons = questionsContainer.querySelectorAll(".mafen-sp-option"); buttons.forEach(function(button) { button.addEventListener("click", function() { const selectedIndex = parseInt(this.getAttribute("data-index")); checkAnswer(selectedIndex, buttons); }); }); } function checkAnswer(selectedIndex, buttons) { const question = quizData[currentQuestion]; buttons.forEach(function(button) { button.disabled = true; }); const selectedButton = buttons[selectedIndex]; const correctIndex = question.options.findIndex(function(option) { return option.correct === true; }); const correctButton = buttons[correctIndex]; if (question.options[selectedIndex].correct) { score++; selectedButton.classList.add("correct"); } else { selectedButton.classList.add("incorrect"); correctButton.classList.add("correct"); } scoreDisplay.textContent = score; const feedback = document.getElementById("mafen-sp-feedback"); if (question.options[selectedIndex].correct) { feedback.className = "mafen-sp-feedback correct-feedback"; feedback.innerHTML = "✓ Correct!" + question.options[selectedIndex].reason; } else { feedback.className = "mafen-sp-feedback incorrect-feedback"; feedback.innerHTML = "✗ Incorrect." + question.options[selectedIndex].reason + "Correct answer: " + question.options[correctIndex].text; } feedback.style.display = "block"; if (currentQuestion < quizData.length - 1) { const nextButton = document.createElement("button"); nextButton.type = "button"; nextButton.className = "mafen-sp-next"; nextButton.textContent = "Next Question →"; nextButton.addEventListener("click", function() { currentQuestion++; loadQuestion(); window.scrollTo({ top: questionsContainer.offsetTop - 20, behavior: "smooth" }); }); feedback.parentNode.appendChild(nextButton); } else { const finishButton = document.createElement("button"); finishButton.type = "button"; finishButton.className = "mafen-sp-next"; finishButton.textContent = "View My Result"; finishButton.addEventListener("click", function() { showResult(); }); feedback.parentNode.appendChild(finishButton); } } function showResult() { questionsContainer.style.display = "none"; const percentage = Math.round((score / quizData.length) * 100); let message = ""; if (percentage >= 90) { message = "Excellent! You have a very strong understanding of the Simple Past."; } else if (percentage >= 75) { message = "Very good! You understand the main Simple Past structures."; } else if (percentage >= 60) { message = "Good effort! Review irregular verbs, questions and negative forms."; } else { message = "Keep practising! Pay special attention to did/didn't + base verb."; } resultContainer.innerHTML = ` Quiz Complete! ${score} / ${quizData.length} ${percentage}% ${message} ↻ Restart Quiz `; resultContainer.style.display = "block"; document .getElementById("mafen-sp-restart") .addEventListener("click", restartQuiz); resultContainer.scrollIntoView({ behavior: "smooth", block: "center" }); } function restartQuiz() { currentQuestion = 0; score = 0; resultContainer.style.display = "none"; questionsContainer.style.display = "block"; scoreDisplay.textContent = "0"; loadQuestion(); window.scrollTo({ top: questionsContainer.offsetTop - 20, behavior: "smooth" }); } loadQuestion(); });