<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5009509283714337706</id><updated>2026-10-19T04:05:01.814-07:00</updated><category term="Quiz"/><category term="Tenses"/><category term="Future Continuous Tense Quiz"/><category term="Past Continuous Tense Quiz"/><category term="Present Continuous Tense Quiz"/><category term="Simple Present Tense Quiz"/><category term="12 Tenses question formation"/><category term="Abbreviation and Acronyms in Tamil"/><category term="Active Voice and Passive Voice in Tamil"/><category term="Adjective"/><category term="Adjective Exercises Quiz"/><category term="Adverb"/><category term="Adverb Exercises Quiz"/><category term="Alphabet Quiz"/><category term="Analogy quiz"/><category term="Aptitude Skill"/><category term="Article Quiz"/><category term="Articles exercises quiz"/><category term="Basic English 12 Tenses"/><category term="Basic English Quiz"/><category term="Basic Tense Quiz"/><category term="Case in Tamil (Noun Case)"/><category term="Conditional Clauses in Tamil"/><category term="Conditional clauses exercises quiz"/><category term="Conjunction"/><category term="Conjunction Exercises Quiz"/><category term="Degrees Of Comparison"/><category term="Degrees of comparison exercises quiz"/><category term="Determiner and Quantifier in Tamil"/><category term="Direct Speech &amp; Indirect Speech"/><category term="Direct indirect speech exercises quiz"/><category term="English Grammar Exercises"/><category term="English Grammar Quiz Level 2"/><category term="English Online MCQ Test"/><category term="English To Tamil Exercises Quiz"/><category term="English alphabets and phonetics alphabet"/><category term="English word translate in Tamil"/><category term="Future Continuous Tense"/><category term="Future Perfect Continuous Tense"/><category term="Future Perfect Continuous Tense Exercises Quiz"/><category term="Future Perfect Tense"/><category term="Future Perfect Tense Exercises Quiz"/><category term="Homophones in Tamil"/><category term="How To Use azenglishlearn"/><category term="Idioms and Phrases in Tamil"/><category term="Infinitive exercises quiz"/><category term="Interjection"/><category term="Interjection Exercises Quiz"/><category term="Inversion in Tamil"/><category term="Modal Verb"/><category term="Modifiers in Tamil"/><category term="Nouns Exercises Quiz"/><category term="Parts of speech"/><category term="Parts of speech exercises quiz"/><category term="Past Continuous Tense"/><category term="Past Perfect Continuous Tense"/><category term="Past Perfect Continuous Tense Exercises Quiz"/><category term="Past Perfect Tense"/><category term="Past Perfect Tense Exercises Quiz"/><category term="Prefix and Suffix in Tamil"/><category term="Preposition"/><category term="Preposition Exercises Quiz"/><category term="Present Continuous Tense"/><category term="Present Perfect Continuous Tense"/><category term="Present Perfect Continuous Tense Exercises Quiz"/><category term="Present Perfect Tense"/><category term="Present Perfect Tense Quiz"/><category term="Pronoun"/><category term="Pronouns Exercises Quiz"/><category term="Punctuation"/><category term="Question Formation"/><category term="Question Tags"/><category term="Question formation exercises quiz"/><category term="Reading reflex"/><category term="Sentence Patterns"/><category term="Sentences pattern exercises quiz"/><category term="Simple Future Tense"/><category term="Simple Future Tense Exercises Quiz"/><category term="Simple Future Tense Quiz"/><category term="Simple Past Tense"/><category term="Simple Past Tense Exercises Quiz"/><category term="Simple Past Tense Quiz"/><category term="Simple Present Tense"/><category term="Simple Present Tense Exercises Quiz"/><category term="Singular and Plural in Tamil"/><category term="Speak sprint"/><category term="Synonyms and Antonyms in Tamil"/><category term="Tamil to English Letters Table"/><category term="Test Your English Skill"/><category term="Types of Sentence"/><category term="Types of sentence exercises quiz"/><category term="Verb"/><category term="Verb Exercises Quiz"/><category term="Voice exercises quiz"/><category term="Yes No Questions in Tamil"/><category term="articles"/><category term="basic type of sentence"/><category term="nouns"/><category term="subject and predicate"/><category term="types of person"/><title type='text'>a-z english learn</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>124</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-5154772461101708619</id><published>2026-10-08T20:44:01.605-07:00</published><updated>2026-10-12T09:15:51.454-07:00</updated><title type='text'>English Grammar Practice Hub | AZ English Learn</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;Explore English grammar exercises and interactive quizzes covering tenses, sentence structure, voice, reported speech, vocabulary, and more.&quot;&gt;
&lt;meta name=&quot;theme-color&quot; content=&quot;#102a43&quot;&gt;
&lt;style&gt;
:root{--ink:#14263d;--muted:#607087;--brand:#176b87;--brand2:#0e4e68;--paper:#f5f8fc;--line:#e0e8f1;--white:#fff;--gold:#f2b84b;--shadow:0 14px 38px rgba(17,42,67,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,sans-serif;line-height:1.6}
a{color:inherit}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}
.topbar{background:#0b1f33;color:#dbe8f4;font-size:.9rem}.topbar .wrap{display:flex;justify-content:space-between;gap:14px;padding:10px 0;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none}
header{background:linear-gradient(125deg,#102a43 0%,#145c78 62%,#197e91 100%);color:white;overflow:hidden;position:relative}
header:after{content:&quot;&quot;;position:absolute;width:420px;height:420px;border:1px solid #ffffff20;border-radius:50%;right:-100px;top:-190px;box-shadow:0 0 0 45px #ffffff08,0 0 0 95px #ffffff06}
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:18px;position:relative;z-index:1}.brand{font-weight:850;letter-spacing:-.04em;font-size:1.18rem;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--gold);color:#102a43;display:grid;place-items:center;font-weight:900}
.nav-note{font-size:.88rem;color:#d8e8f0}.hero{position:relative;z-index:1;padding:54px 0 66px;max-width:760px}.eyebrow{display:inline-flex;gap:8px;align-items:center;border:1px solid #ffffff40;background:#ffffff12;padding:6px 12px;border-radius:99px;font-size:.82rem;font-weight:700;letter-spacing:.04em}.dot{width:7px;height:7px;background:var(--gold);border-radius:50%}
h1{font-size:clamp(2.3rem,5.5vw,4.25rem);line-height:1.06;letter-spacing:-.055em;margin:22px 0 18px;max-width:760px}.hero p{font-size:1.12rem;color:#e1edf4;max-width:650px;margin:0 0 26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:11px;text-decoration:none;font-weight:750;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:#17283c}.btn-ghost{border:1px solid #ffffff55;color:white;background:#ffffff0d}
main{padding:34px 0 72px}.intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.intro h2{font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.035em;margin:0 0 6px}.intro p{margin:0;color:var(--muted)}.count{white-space:nowrap;background:#e5f1f5;color:#145c78;padding:8px 12px;border-radius:10px;font-weight:800;font-size:.9rem}
.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0 18px}.search{position:relative;flex:1 1 260px}.search span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#73859a}.search input{width:100%;padding:13px 14px 13px 42px;border:1px solid var(--line);border-radius:12px;background:white;font:inherit;outline:none}.search input:focus{border-color:#398aa1;box-shadow:0 0 0 3px #398aa122}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;font:inherit;font-size:.9rem;font-weight:700;color:#506176;cursor:pointer}.filter:hover,.filter.active{background:var(--brand);color:white;border-color:var(--brand)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:0 4px 15px #16314a05;display:flex;flex-direction:column;min-height:214px;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#bfd8e3}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.icon{height:42px;width:42px;border-radius:13px;background:#eaf4f7;display:grid;place-items:center;font-size:1.25rem}.tag{font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#176b87;background:#eaf4f7;border-radius:6px;padding:5px 8px}.card h3{font-size:1.12rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 8px}.card p{font-size:.92rem;color:var(--muted);margin:0 0 18px}.card a{margin-top:auto;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-weight:800;color:var(--brand);padding-top:12px;border-top:1px solid #edf1f5}.card a:hover{color:var(--brand2)}.arrow{font-size:1.2rem;transition:transform .18s}.card a:hover .arrow{transform:translateX(4px)}
.empty{display:none;text-align:center;padding:40px 16px;border:1px dashed #c7d5e3;border-radius:16px;background:#fff;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:6px}
.study{margin-top:48px;border-radius:20px;padding:28px;background:#eaf3f7;display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center}.study h2{margin:0 0 8px;font-size:1.55rem;letter-spacing:-.03em}.study p{margin:0;color:#52677a}.steps{display:grid;gap:12px}.step{display:flex;gap:12px;align-items:flex-start;background:#ffffffc9;border:1px solid #d8e7ed;border-radius:12px;padding:12px}.num{flex:0 0 28px;height:28px;border-radius:9px;background:#145c78;color:white;display:grid;place-items:center;font-weight:800;font-size:.85rem}.step strong{display:block;font-size:.92rem}.step small{color:var(--muted);font-size:.84rem}
footer{background:#0b1f33;color:#c3d1df;padding:26px 0;font-size:.88rem}.foot{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.foot a{color:white}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.study{grid-template-columns:1fr}}@media(max-width:580px){.wrap{width:min(100% - 24px,1160px)}.nav{padding:17px 0}.nav-note{display:none}.hero{padding:38px 0 48px}.grid{grid-template-columns:1fr}.intro{align-items:flex-start;flex-direction:column}.card{min-height:190px}.study{padding:22px}.topbar .wrap{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* AZ English Learn: responsive Blogger / Android WebView safeguards */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
img, video, iframe, embed, object, table { max-width: 100%; }
img, video, iframe { height: auto; }
input, button, select, textarea { max-width: 100%; font: inherit; }
button, a, input { touch-action: manipulation; }
a, button { -webkit-tap-highlight-color: transparent; }
.card, .card p, .card h3, .study, .step { min-width: 0; overflow-wrap: anywhere; }
.card a { min-height: 44px; }
@media (max-width: 580px) {
  .wrap { width: calc(100% - 24px); }
  .hero h1 { font-size: clamp(2rem, 9vw, 2.8rem); }
  .hero p { font-size: 1rem; }
  .hero-actions .btn { width: 100%; min-height: 46px; }
  .tools, .filters { width: 100%; }
  .filter { min-height: 40px; }
  .search { flex-basis: 100%; }
  .card { padding: 18px; }
  .study { padding: 18px; }
  .topbar .wrap { gap: 5px; }
}

&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;topbar&quot;&gt;&lt;div class=&quot;wrap&quot;&gt;&lt;span&gt;Learn a little every day. Improve for life.&lt;/span&gt;&lt;span&gt;English Grammar &amp;amp; Vocabulary Practice&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;header&gt;
  &lt;div class=&quot;wrap&quot;&gt;
    &lt;nav class=&quot;nav&quot; aria-label=&quot;Main navigation&quot;&gt;
      &lt;a class=&quot;brand&quot; href=&quot;#home&quot;&gt;&lt;span class=&quot;brand-mark&quot;&gt;AZ&lt;/span&gt;&lt;span&gt;AZ English Learn&lt;/span&gt;&lt;/a&gt;
      &lt;span class=&quot;nav-note&quot;&gt;Practice · Review · Improve&lt;/span&gt;
    &lt;/nav&gt;
    &lt;section class=&quot;hero&quot; id=&quot;home&quot;&gt;
      &lt;span class=&quot;eyebrow&quot;&gt;&lt;span class=&quot;dot&quot;&gt;&lt;/span&gt; YOUR ENGLISH PRACTICE HUB&lt;/span&gt;
      &lt;h1&gt;Build stronger English, one quiz at a time.&lt;/h1&gt;
      &lt;p&gt;Explore focused grammar lessons and practice quizzes—from essential tenses and sentence structure to vocabulary, word formation, and advanced usage. Choose a topic, test your understanding, and keep progressing.&lt;/p&gt;
      &lt;div class=&quot;hero-actions&quot;&gt;&lt;a class=&quot;btn btn-primary&quot; href=&quot;#topics&quot;&gt;Explore all quizzes &lt;span aria-hidden=&quot;true&quot;&gt;&amp;nbsp;↓&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;btn btn-ghost&quot; href=&quot;#study-tips&quot;&gt;How to practise&lt;/a&gt;&lt;/div&gt;
    &lt;/section&gt;
  &lt;/div&gt;
&lt;/header&gt;
&lt;main class=&quot;wrap&quot; id=&quot;topics&quot;&gt;
  &lt;section class=&quot;intro&quot;&gt;&lt;div&gt;&lt;h2&gt;English exercises &amp;amp; quizzes&lt;/h2&gt;&lt;p&gt;Choose a topic below to open its practice page.&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;count&quot; id=&quot;resultCount&quot; aria-live=&quot;polite&quot;&gt;30 topics&lt;/div&gt;&lt;/section&gt;
  &lt;div class=&quot;tools&quot;&gt;
    &lt;label class=&quot;search&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;⌕&lt;/span&gt;&lt;input id=&quot;searchInput&quot; type=&quot;search&quot; placeholder=&quot;Search grammar, tenses, vocabulary...&quot; aria-label=&quot;Search quiz topics&quot;&gt;&lt;/label&gt;
    &lt;div class=&quot;filters&quot; role=&quot;group&quot; aria-label=&quot;Filter quiz topics&quot;&gt;
      &lt;button class=&quot;filter active&quot; type=&quot;button&quot; data-filter=&quot;all&quot;&gt;All topics&lt;/button&gt;
      &lt;button class=&quot;filter&quot; type=&quot;button&quot; data-filter=&quot;grammar&quot;&gt;Grammar&lt;/button&gt;
      &lt;button class=&quot;filter&quot; type=&quot;button&quot; data-filter=&quot;tenses&quot;&gt;Tenses&lt;/button&gt;
      &lt;button class=&quot;filter&quot; type=&quot;button&quot; data-filter=&quot;vocabulary&quot;&gt;Vocabulary&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;section class=&quot;grid&quot; id=&quot;quizGrid&quot; aria-label=&quot;Quiz topic list&quot;&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;articles a an the grammar&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;📝&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Articles Exercises&lt;/h3&gt;&lt;p&gt;Practise choosing a, an, and the in everyday sentences.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/Articles-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;question formation interrogatives questions&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;❔&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Question Formation&lt;/h3&gt;&lt;p&gt;Build clear questions with correct word order and auxiliaries.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/question-formation-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;sentence patterns subject verb object structure&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🧩&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Sentence Patterns&lt;/h3&gt;&lt;p&gt;Review common sentence structures and their components.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/sentences-pattern-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;active passive voice&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🔄&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Active and Passive Voice&lt;/h3&gt;&lt;p&gt;Practise changing sentences between active and passive voice.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/Voice-exercises-quiz%20.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;direct indirect reported speech&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;💬&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Direct and Indirect Speech&lt;/h3&gt;&lt;p&gt;Work on reported statements, questions, and tense changes.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/direct-indirect-speech-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;degrees comparison comparative superlative&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;📈&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Degrees of Comparison&lt;/h3&gt;&lt;p&gt;Practise positive, comparative, and superlative forms.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/degrees-of-comparison-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;types of sentence declarative interrogative imperative exclamatory&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;📚&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Types of Sentences&lt;/h3&gt;&lt;p&gt;Identify sentence types by purpose and punctuation.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/types-of-sentence-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;conditional clauses if conditionals&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🔀&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Conditional Clauses&lt;/h3&gt;&lt;p&gt;Practise zero, first, second, and third conditional forms.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/conditional-clauses-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;simple present tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;☀️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Simple Present Tense&lt;/h3&gt;&lt;p&gt;Review routines, habits, facts, and present-time statements.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/simple-present-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;simple past tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🕰️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Simple Past Tense&lt;/h3&gt;&lt;p&gt;Practise regular and irregular verbs for completed actions.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/simple-past-tense-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;simple future tense will&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🚀&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Simple Future Tense&lt;/h3&gt;&lt;p&gt;Practise predictions, decisions, promises, and future events.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/simple-future-tense-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;present continuous progressive tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🏃&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Present Continuous Tense&lt;/h3&gt;&lt;p&gt;Use the present continuous for actions in progress and temporary situations.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/present-continuous-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;future continuous progressive tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🛫&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Future Continuous Tense&lt;/h3&gt;&lt;p&gt;Practise actions that will be in progress at a future time.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/future-continuous-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;past continuous progressive tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🌧️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Past Continuous Tense&lt;/h3&gt;&lt;p&gt;Describe ongoing past actions and interrupted events.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/past-continuous-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;present perfect tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;✅&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Present Perfect Tense&lt;/h3&gt;&lt;p&gt;Practise experiences, results, and actions connected to the present.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/present-perfect-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;future perfect tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🎯&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Future Perfect Tense&lt;/h3&gt;&lt;p&gt;Describe actions that will be completed before a future point.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/future-perfect-tense-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;present perfect continuous tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;⏳&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Present Perfect Continuous&lt;/h3&gt;&lt;p&gt;Focus on duration and ongoing actions linked to now.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/present-perfect-continuous-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;past perfect tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;⏪&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Past Perfect Tense&lt;/h3&gt;&lt;p&gt;Show which past action happened before another past event.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/past-perfect-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;future perfect continuous tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;📆&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Future Perfect Continuous&lt;/h3&gt;&lt;p&gt;Practise duration continuing up to a future time.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/future-perfect-continuous-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;tenses&quot; data-search=&quot;past perfect continuous tense&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;⌛&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Tenses&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Past Perfect Continuous&lt;/h3&gt;&lt;p&gt;Describe ongoing actions that continued before a past moment.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/08/past-perfect-continuous-tense-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;vocabulary&quot; data-search=&quot;idioms phrases expressions meaning&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🗣️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Vocabulary&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Idioms and Phrases&lt;/h3&gt;&lt;p&gt;Learn common expressions and understand their meanings in context.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/09/idioms-phrases-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;infinitive to verb grammar&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;✍️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Infinitives&lt;/h3&gt;&lt;p&gt;Practise infinitive forms and how they work in sentences.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/09/infinitive-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;vocabulary&quot; data-search=&quot;abbreviations acronyms short forms&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🔤&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Vocabulary&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Abbreviations and Acronyms&lt;/h3&gt;&lt;p&gt;Recognise shortened forms and their full meanings.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/09/abbreviation-acronyms-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;determiners quantifiers some any much many&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;📏&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Determiners and Quantifiers&lt;/h3&gt;&lt;p&gt;Choose accurate words to identify and quantify nouns.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/09/determiner-quantifier-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;inversion word order emphasis negative adverbials&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;↕️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Inversion&lt;/h3&gt;&lt;p&gt;Explore inverted word order for emphasis and formal style.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/09/inversion-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;modifiers adjectives adverbs grammar&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🎨&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Modifiers&lt;/h3&gt;&lt;p&gt;Practise words and phrases that add detail to other expressions.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/10/modifiers-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;vocabulary&quot; data-search=&quot;prefix suffix word formation morphology&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🧱&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Vocabulary&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Prefixes and Suffixes&lt;/h3&gt;&lt;p&gt;Build vocabulary by exploring word beginnings and endings.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/10/prefix-suffix-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;linkers connectors conjunctions transitions&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🔗&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Linkers and Connectors&lt;/h3&gt;&lt;p&gt;Connect ideas clearly with linking words and transitions.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/10/linkers-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;singular plural nouns number&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🔢&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Singular and Plural&lt;/h3&gt;&lt;p&gt;Practise regular and irregular noun forms.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/10/singular-plural-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;vocabulary&quot; data-search=&quot;synonyms antonyms similar opposite words&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;⚖️&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Vocabulary&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Synonyms and Antonyms&lt;/h3&gt;&lt;p&gt;Expand your word choices with similar and opposite meanings.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/11/synonyms-antonyms-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
    &lt;article class=&quot;card&quot; data-category=&quot;grammar&quot; data-search=&quot;case noun pronoun subjective objective possessive&quot;&gt;&lt;div class=&quot;card-top&quot;&gt;&lt;span class=&quot;icon&quot;&gt;🧭&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Grammar&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Case Exercises&lt;/h3&gt;&lt;p&gt;Review how grammatical case affects nouns and pronouns.&lt;/p&gt;&lt;a href=&quot;https://www.azenglishlearn.com/2026/10/case-exercises-quiz.html&quot;&gt;Start quiz &lt;span class=&quot;arrow&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/article&gt;
  &lt;/section&gt;
  &lt;div class=&quot;empty&quot; id=&quot;emptyState&quot;&gt;&lt;strong&gt;No matching topics found&lt;/strong&gt;Try a different search term or select “All topics”.&lt;/div&gt;
  &lt;section class=&quot;study&quot; id=&quot;study-tips&quot;&gt;&lt;div&gt;&lt;h2&gt;Make every practice session count&lt;/h2&gt;&lt;p&gt;Short, consistent practice helps you notice patterns, remember rules, and use English with greater confidence. Work at your own pace and revisit topics that need more attention.&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;steps&quot;&gt;&lt;div class=&quot;step&quot;&gt;&lt;span class=&quot;num&quot;&gt;1&lt;/span&gt;&lt;div&gt;&lt;strong&gt;Choose one topic&lt;/strong&gt;&lt;small&gt;Focus on one grammar point at a time.&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;step&quot;&gt;&lt;span class=&quot;num&quot;&gt;2&lt;/span&gt;&lt;div&gt;&lt;strong&gt;Answer without rushing&lt;/strong&gt;&lt;small&gt;Think about the rule behind each answer.&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;step&quot;&gt;&lt;span class=&quot;num&quot;&gt;3&lt;/span&gt;&lt;div&gt;&lt;strong&gt;Review and repeat&lt;/strong&gt;&lt;small&gt;Revisit tricky questions to reinforce learning.&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;/main&gt;
&lt;footer&gt;&lt;div class=&quot;wrap foot&quot;&gt;&lt;span&gt;© &lt;span id=&quot;year&quot;&gt;2026&lt;/span&gt; AZ English Learn · English practice hub&lt;/span&gt;&lt;a href=&quot;#home&quot;&gt;Back to top ↑&lt;/a&gt;&lt;/div&gt;&lt;/footer&gt;
&lt;script&gt;
(() =&gt; {
  const search = document.getElementById(&#39;searchInput&#39;);
  const cards = [...document.querySelectorAll(&#39;.card&#39;)];
  const filters = [...document.querySelectorAll(&#39;.filter&#39;)];
  const count = document.getElementById(&#39;resultCount&#39;);
  const empty = document.getElementById(&#39;emptyState&#39;);
  let active = &#39;all&#39;;
  function update() {
    const term = search.value.trim().toLowerCase();
    let visible = 0;
    cards.forEach(card =&gt; {
      const categoryMatch = active === &#39;all&#39; || card.dataset.category === active;
      const searchMatch = (card.innerText + &#39; &#39; + card.dataset.search).toLowerCase().includes(term);
      const show = categoryMatch &amp;&amp; searchMatch;
      card.hidden = !show;
      if (show) visible++;
    });
    count.textContent = `${visible} ${visible === 1 ? &#39;topic&#39; : &#39;topics&#39;}`;
    empty.style.display = visible ? &#39;none&#39; : &#39;block&#39;;
  }
  search.addEventListener(&#39;input&#39;, update);
  filters.forEach(button =&gt; button.addEventListener(&#39;click&#39;, () =&gt; {
    active = button.dataset.filter;
    filters.forEach(item =&gt; {
      const selected = item === button;
      item.classList.toggle(&#39;active&#39;, selected);
      item.setAttribute(&#39;aria-pressed&#39;, String(selected));
    });
    update();
  }));
  document.getElementById(&#39;year&#39;).textContent = new Date().getFullYear();
  update();
})();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/5154772461101708619/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/10/english-grammar-practice-hub-az-english.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5154772461101708619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5154772461101708619'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/10/english-grammar-practice-hub-az-english.html' title='English Grammar Practice Hub | AZ English Learn'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-508036878909543074</id><published>2026-10-08T20:35:48.374-07:00</published><updated>2026-10-08T20:35:48.434-07:00</updated><title type='text'>Synonyms antonyms exercises quiz ·</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Synonyms &amp; Antonyms Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. Choose the synonym of &#39;Happy&#39;.&quot;,
      answers: {
        a: &#39;Sad&#39;,
        b: &#39;Joyful&#39;,
        c: &#39;Angry&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. Choose the antonym of &#39;Brave&#39;.&quot;,
      answers: {
        a: &#39;Cowardly&#39;,
        b: &#39;Bold&#39;,
        c: &#39;Strong&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. Choose the synonym of &#39;Huge&#39;.&quot;,
      answers: {
        a: &#39;Tiny&#39;,
        b: &#39;Enormous&#39;,
        c: &#39;Small&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;4. Choose the antonym of &#39;Ancient&#39;.&quot;,
      answers: {
        a: &#39;Modern&#39;,
        b: &#39;Old&#39;,
        c: &#39;Historic&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. Choose the synonym of &#39;Intelligent&#39;.&quot;,
      answers: {
        a: &#39;Foolish&#39;,
        b: &#39;Clever&#39;,
        c: &#39;Slow&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;6. Choose the antonym of &#39;Generous&#39;.&quot;,
      answers: {
        a: &#39;Selfish&#39;,
        b: &#39;Kind&#39;,
        c: &#39;Giving&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. Choose the synonym of &#39;Begin&#39;.&quot;,
      answers: {
        a: &#39;End&#39;,
        b: &#39;Start&#39;,
        c: &#39;Stop&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;8. Choose the antonym of &#39;Victory&#39;.&quot;,
      answers: {
        a: &#39;Defeat&#39;,
        b: &#39;Success&#39;,
        c: &#39;Win&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. Choose the synonym of &#39;Difficult&#39;.&quot;,
      answers: {
        a: &#39;Easy&#39;,
        b: &#39;Simple&#39;,
        c: &#39;Hard&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;10. Choose the antonym of &#39;Genuine&#39;.&quot;,
      answers: {
        a: &#39;Real&#39;,
        b: &#39;Fake&#39;,
        c: &#39;True&#39;
      },
      correctAnswer: &#39;b&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/508036878909543074/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/11/synonyms-antonyms-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/508036878909543074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/508036878909543074'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/11/synonyms-antonyms-exercises-quiz.html' title='Synonyms antonyms exercises quiz ·'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-5536548731653823284</id><published>2026-10-08T20:35:17.764-07:00</published><updated>2026-10-08T20:35:17.949-07:00</updated><title type='text'>Case exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Case Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. In &#39;She loves him&#39;, which case is &#39;She&#39;?&quot;,
      answers: {
        a: &#39;Nominative case&#39;,
        b: &#39;Objective case&#39;,
        c: &#39;Possessive case&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. In &#39;She loves him&#39;, which case is &#39;him&#39;?&quot;,
      answers: {
        a: &#39;Nominative case&#39;,
        b: &#39;Objective case&#39;,
        c: &#39;Possessive case&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;3. Which word shows possessive case in &#39;This is Raj&#39;s book&#39;?&quot;,
      answers: {
        a: &#39;This&#39;,
        b: &#39;Book&#39;,
        c: &quot;Raj&#39;s&quot;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;4. In &#39;The teacher gave the students homework&#39;, which noun is in the objective case?&quot;,
      answers: {
        a: &#39;Teacher&#39;,
        b: &#39;Students / homework&#39;,
        c: &#39;Gave&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;5. Choose the correct possessive pronoun: &#39;This book is ___.&#39;&quot;,
      answers: {
        a: &#39;I&#39;,
        b: &#39;me&#39;,
        c: &#39;mine&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;6. In &#39;They called her&#39;, &#39;her&#39; is in which case?&quot;,
      answers: {
        a: &#39;Nominative&#39;,
        b: &#39;Objective&#39;,
        c: &#39;Possessive&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;7. Which pronoun below is in the nominative case?&quot;,
      answers: {
        a: &#39;Him&#39;,
        b: &#39;He&#39;,
        c: &#39;His&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;8. In &#39;The dog&#39;s tail wagged&#39;, which case is &#39;dog&#39;s&#39;?&quot;,
      answers: {
        a: &#39;Nominative&#39;,
        b: &#39;Objective&#39;,
        c: &#39;Possessive&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;9. Choose the objective case pronoun: &#39;Give ___ the book.&#39;&quot;,
      answers: {
        a: &#39;I&#39;,
        b: &#39;me&#39;,
        c: &#39;my&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;10. In &#39;We saw them at the park&#39;, which pronoun is in the objective case?&quot;,
      answers: {
        a: &#39;We&#39;,
        b: &#39;Them&#39;,
        c: &#39;At&#39;
      },
      correctAnswer: &#39;b&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/5536548731653823284/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/10/case-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5536548731653823284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5536548731653823284'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/10/case-exercises-quiz.html' title='Case exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-1638757810696752612</id><published>2026-10-08T20:34:41.058-07:00</published><updated>2026-10-08T20:34:41.117-07:00</updated><title type='text'>Singular plural exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Singular &amp; Plural Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. What is the plural of &#39;child&#39;?&quot;,
      answers: {
        a: &#39;Childs&#39;,
        b: &#39;Children&#39;,
        c: &#39;Childes&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. What is the plural of &#39;mouse&#39;?&quot;,
      answers: {
        a: &#39;Mouses&#39;,
        b: &#39;Mices&#39;,
        c: &#39;Mice&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;3. What is the plural of &#39;tooth&#39;?&quot;,
      answers: {
        a: &#39;Tooths&#39;,
        b: &#39;Teeth&#39;,
        c: &#39;Toothes&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;4. What is the plural of &#39;box&#39;?&quot;,
      answers: {
        a: &#39;Boxs&#39;,
        b: &#39;Boxen&#39;,
        c: &#39;Boxes&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;5. What is the plural of &#39;sheep&#39;?&quot;,
      answers: {
        a: &#39;Sheeps&#39;,
        b: &#39;Sheep&#39;,
        c: &#39;Sheepes&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;6. What is the plural of &#39;city&#39;?&quot;,
      answers: {
        a: &#39;Citys&#39;,
        b: &#39;Cities&#39;,
        c: &#39;Cityes&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;7. What is the plural of &#39;leaf&#39;?&quot;,
      answers: {
        a: &#39;Leafs&#39;,
        b: &#39;Leafes&#39;,
        c: &#39;Leaves&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;8. What is the plural of &#39;man&#39;?&quot;,
      answers: {
        a: &#39;Mans&#39;,
        b: &#39;Men&#39;,
        c: &#39;Mens&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;9. What is the singular of &#39;geese&#39;?&quot;,
      answers: {
        a: &#39;Goose&#39;,
        b: &#39;Gees&#39;,
        c: &#39;Geese&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. What is the plural of &#39;knife&#39;?&quot;,
      answers: {
        a: &#39;Knifes&#39;,
        b: &#39;Knives&#39;,
        c: &#39;Knifees&#39;
      },
      correctAnswer: &#39;b&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/1638757810696752612/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/10/singular-plural-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/1638757810696752612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/1638757810696752612'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/10/singular-plural-exercises-quiz.html' title='Singular plural exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-5469483715721724199</id><published>2026-10-08T20:34:06.376-07:00</published><updated>2026-10-08T20:34:06.564-07:00</updated><title type='text'>Linkers exercises quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Linkers Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I was tired. ___, I went for a run.&quot;,
      answers: {
        a: &#39;Therefore&#39;,
        b: &#39;However&#39;,
        c: &#39;Moreover&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. She studied hard; ___, she passed the exam.&quot;,
      answers: {
        a: &#39;therefore&#39;,
        b: &#39;but&#39;,
        c: &#39;although&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. He is rich. ___, he is not happy.&quot;,
      answers: {
        a: &#39;Moreover&#39;,
        b: &#39;However&#39;,
        c: &#39;Because&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;4. She is smart ___ hardworking.&quot;,
      answers: {
        a: &#39;but&#39;,
        b: &#39;and&#39;,
        c: &#39;or&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;5. ___ it was raining, we went out.&quot;,
      answers: {
        a: &#39;Although&#39;,
        b: &#39;Because&#39;,
        c: &#39;So&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. He failed the test ___ he did not study.&quot;,
      answers: {
        a: &#39;because&#39;,
        b: &#39;although&#39;,
        c: &#39;however&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. She likes tea. ___, she also likes coffee.&quot;,
      answers: {
        a: &#39;Moreover&#39;,
        b: &#39;Therefore&#39;,
        c: &#39;Unless&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. You will fail ___ you study hard.&quot;,
      answers: {
        a: &#39;unless&#39;,
        b: &#39;and&#39;,
        c: &#39;moreover&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. He was late; ___, he missed the bus.&quot;,
      answers: {
        a: &#39;consequently&#39;,
        b: &#39;although&#39;,
        c: &#39;unless&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. She is not only smart ___ also kind.&quot;,
      answers: {
        a: &#39;but&#39;,
        b: &#39;and&#39;,
        c: &#39;so&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/5469483715721724199/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/10/linkers-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5469483715721724199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5469483715721724199'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/10/linkers-exercises-quiz.html' title='Linkers exercises quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-5055363958016098291</id><published>2026-10-08T20:33:35.450-07:00</published><updated>2026-10-08T20:33:35.504-07:00</updated><title type='text'>Prefix suffix exercises quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Prefix &amp; Suffix Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. Add a prefix to &#39;happy&#39; to make it mean &#39;not happy&#39;.&quot;,
      answers: {
        a: &#39;Unhappy&#39;,
        b: &#39;Dishappy&#39;,
        c: &#39;Inhappy&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. Add a suffix to &#39;care&#39; to make it mean &#39;without care&#39;.&quot;,
      answers: {
        a: &#39;Careless&#39;,
        b: &#39;Carefully&#39;,
        c: &#39;Carement&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. Which prefix means &#39;again&#39;?&quot;,
      answers: {
        a: &#39;Re-&#39;,
        b: &#39;Un-&#39;,
        c: &#39;Pre-&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. Add a suffix to &#39;kind&#39; to make it a noun meaning the quality of being kind.&quot;,
      answers: {
        a: &#39;Kindly&#39;,
        b: &#39;Kindness&#39;,
        c: &#39;Kindful&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;5. Which prefix means &#39;before&#39;?&quot;,
      answers: {
        a: &#39;Pre-&#39;,
        b: &#39;Post-&#39;,
        c: &#39;Sub-&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. Add a prefix to &#39;agree&#39; to make it mean &#39;not agree&#39;.&quot;,
      answers: {
        a: &#39;Misagree&#39;,
        b: &#39;Disagree&#39;,
        c: &#39;Unagree&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;7. Which suffix changes a verb like &#39;act&#39; into a person who does it?&quot;,
      answers: {
        a: &#39;-or&#39;,
        b: &#39;-ness&#39;,
        c: &#39;-ly&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. Add a prefix to &#39;correct&#39; to make it mean &#39;not correct&#39;.&quot;,
      answers: {
        a: &#39;Uncorrect&#39;,
        b: &#39;Incorrect&#39;,
        c: &#39;Discorrect&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;9. Which suffix turns &#39;beauty&#39; into an adjective?&quot;,
      answers: {
        a: &#39;Beautiful&#39;,
        b: &#39;Beautify&#39;,
        c: &#39;Beautyness&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. Which prefix means &#39;under&#39;?&quot;,
      answers: {
        a: &#39;Sub-&#39;,
        b: &#39;Super-&#39;,
        c: &#39;Inter-&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/5055363958016098291/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/10/prefix-suffix-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5055363958016098291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5055363958016098291'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/10/prefix-suffix-exercises-quiz.html' title='Prefix suffix exercises quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-1171228655233319390</id><published>2026-10-07T05:46:00.000-07:00</published><updated>2026-10-07T05:46:00.179-07:00</updated><title type='text'>Modifiers exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Modifiers Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. In &#39;She sang a beautiful song&#39;, which word is the modifier?&quot;,
      answers: {
        a: &#39;She&#39;,
        b: &#39;Beautiful&#39;,
        c: &#39;Sang&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. Identify the modifier: &#39;He walked slowly to the door.&#39;&quot;,
      answers: {
        a: &#39;Walked&#39;,
        b: &#39;Door&#39;,
        c: &#39;Slowly&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;3. Which word modifies the noun in &#39;a tall building&#39;?&quot;,
      answers: {
        a: &#39;A&#39;,
        b: &#39;Tall&#39;,
        c: &#39;Building&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;4. Choose the sentence with a misplaced modifier.&quot;,
      answers: {
        a: &#39;Running down the street, the dog chased the cat.&#39;,
        b: &#39;Running down the street, I saw a dog chase a cat.&#39;,
        c: &#39;The dog, running down the street, chased the cat.&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. In &#39;The extremely hot day tired us&#39;, which word is the modifier of &#39;hot&#39;?&quot;,
      answers: {
        a: &#39;Extremely&#39;,
        b: &#39;Day&#39;,
        c: &#39;Tired&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. Adjectives and adverbs are both examples of what?&quot;,
      answers: {
        a: &#39;Modifiers&#39;,
        b: &#39;Determiners&#39;,
        c: &#39;Conjunctions&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. In &#39;He speaks very fluently&#39;, what does &#39;very&#39; modify?&quot;,
      answers: {
        a: &#39;He&#39;,
        b: &#39;Speaks&#39;,
        c: &#39;Fluently&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;8. Choose the correctly modified sentence.&quot;,
      answers: {
        a: &#39;She almost drove her kids to school every day.&#39;,
        b: &#39;She drove her kids to school almost every day.&#39;,
        c: &#39;Almost she drove her kids to school every day.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;9. In &#39;a quickly written report&#39;, what type of modifier is &#39;quickly&#39;?&quot;,
      answers: {
        a: &#39;Adjective&#39;,
        b: &#39;Adverb&#39;,
        c: &#39;Noun&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;10. Identify the dangling modifier: &#39;Having finished the homework, the TV was turned on.&#39;&quot;,
      answers: {
        a: &#39;Having finished the homework&#39;,
        b: &#39;The TV&#39;,
        c: &#39;Was turned on&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/1171228655233319390/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/10/modifiers-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/1171228655233319390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/1171228655233319390'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/10/modifiers-exercises-quiz.html' title='Modifiers exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-6809244060048646359</id><published>2026-09-22T05:49:00.000-07:00</published><updated>2026-09-22T05:49:00.118-07:00</updated><title type='text'>Inversion exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Inversion Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. Choose the correct inversion of: &#39;I have never seen such a beautiful place.&#39;&quot;,
      answers: {
        a: &#39;Never I have seen such a beautiful place.&#39;,
        b: &#39;Never have I seen such a beautiful place.&#39;,
        c: &#39;Never seen I have such a beautiful place.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. Choose the correct inversion of: &#39;She had hardly reached home when it started raining.&#39;&quot;,
      answers: {
        a: &#39;Hardly had she reached home when it started raining.&#39;,
        b: &#39;Hardly she had reached home when it started raining.&#39;,
        c: &#39;Hardly reached she had home when it started raining.&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. Choose the correct inversion of: &#39;He not only sang but also danced.&#39;&quot;,
      answers: {
        a: &#39;Not only he sang but also danced.&#39;,
        b: &#39;Not only did he sing but also danced.&#39;,
        c: &#39;Not only sang he but also danced.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;4. Choose the correct inversion of: &#39;I rarely go to the movies.&#39;&quot;,
      answers: {
        a: &#39;Rarely I go to the movies.&#39;,
        b: &#39;Rarely do I go to the movies.&#39;,
        c: &#39;Rarely going I to the movies.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;5. Choose the correct inversion of: &#39;She is so beautiful that everyone admires her.&#39;&quot;,
      answers: {
        a: &#39;So beautiful she is that everyone admires her.&#39;,
        b: &#39;So beautiful is she that everyone admires her.&#39;,
        c: &#39;So is she beautiful that everyone admires her.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;6. Choose the correct inversion of: &#39;If I were you, I would apologize.&#39;&quot;,
      answers: {
        a: &#39;Were I you, I would apologize.&#39;,
        b: &#39;I were you, I would apologize.&#39;,
        c: &#39;Was I you, I would apologize.&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. Choose the correct inversion of: &#39;I had no sooner arrived than the phone rang.&#39;&quot;,
      answers: {
        a: &#39;No sooner I had arrived than the phone rang.&#39;,
        b: &#39;No sooner had I arrived than the phone rang.&#39;,
        c: &#39;No sooner arrived I had than the phone rang.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;8. Choose the correct inversion of: &#39;He seldom visits his hometown.&#39;&quot;,
      answers: {
        a: &#39;Seldom he visits his hometown.&#39;,
        b: &#39;Seldom does he visit his hometown.&#39;,
        c: &#39;Seldom visiting he his hometown.&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;9. Choose the correct inversion of: &#39;A tall tree stood near the house.&#39;&quot;,
      answers: {
        a: &#39;Near the house stood a tall tree.&#39;,
        b: &#39;Near the house a tall tree stood.&#39;,
        c: &#39;Stood near the house a tall tree.&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. Choose the correct inversion of: &#39;I have not been to London before.&#39;&quot;,
      answers: {
        a: &#39;Never I have been to London before.&#39;,
        b: &#39;Never have I been to London before.&#39;,
        c: &#39;Never been I have to London before.&#39;
      },
      correctAnswer: &#39;b&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/6809244060048646359/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/09/inversion-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6809244060048646359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6809244060048646359'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/09/inversion-exercises-quiz.html' title='Inversion exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-3639487019742438172</id><published>2026-09-22T05:45:00.000-07:00</published><updated>2026-09-22T05:45:00.117-07:00</updated><title type='text'>Determiner quantifier exercises quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Determiner &amp; Quantifier Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I have ___ money in my pocket.&quot;,
      answers: {
        a: &#39;many&#39;,
        b: &#39;some&#39;,
        c: &#39;few&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. There are ___ students in the classroom.&quot;,
      answers: {
        a: &#39;much&#39;,
        b: &#39;little&#39;,
        c: &#39;many&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;3. She has ___ friends in this city.&quot;,
      answers: {
        a: &#39;few&#39;,
        b: &#39;much&#39;,
        c: &#39;less&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. How ___ water do you drink daily?&quot;,
      answers: {
        a: &#39;many&#39;,
        b: &#39;much&#39;,
        c: &#39;few&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;5. There is ___ sugar left in the jar.&quot;,
      answers: {
        a: &#39;few&#39;,
        b: &#39;many&#39;,
        c: &#39;little&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;6. ___ students passed the exam this year.&quot;,
      answers: {
        a: &#39;This&#39;,
        b: &#39;All&#39;,
        c: &#39;That&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;7. I need ___ information about the course.&quot;,
      answers: {
        a: &#39;some&#39;,
        b: &#39;few&#39;,
        c: &#39;many&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. ___ book on the table is mine.&quot;,
      answers: {
        a: &#39;A&#39;,
        b: &#39;An&#39;,
        c: &#39;The&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;9. She doesn&#39;t have ___ time to waste.&quot;,
      answers: {
        a: &#39;any&#39;,
        b: &#39;some&#39;,
        c: &#39;many&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. ___ of the students were present in class.&quot;,
      answers: {
        a: &#39;Every&#39;,
        b: &#39;Each&#39;,
        c: &#39;Most&#39;
      },
      correctAnswer: &#39;c&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/3639487019742438172/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/09/determiner-quantifier-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/3639487019742438172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/3639487019742438172'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/09/determiner-quantifier-exercises-quiz.html' title='Determiner quantifier exercises quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-8730051044786549656</id><published>2026-09-16T05:42:00.000-07:00</published><updated>2026-09-16T05:42:00.113-07:00</updated><title type='text'>Abbreviation acronyms exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Abbreviation &amp; Acronyms Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. What does &#39;NASA&#39; stand for?&quot;,
      answers: {
        a: &#39;National Aeronautics and Space Administration&#39;,
        b: &#39;National Association of Space Agencies&#39;,
        c: &#39;National Aerospace and Science Academy&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. What does &#39;UNESCO&#39; stand for?&quot;,
      answers: {
        a: &#39;United Nations Educational, Scientific and Cultural Organization&#39;,
        b: &#39;United Nations Economic and Social Council&#39;,
        c: &#39;United Nations Emergency Scientific Committee&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. What does &#39;ASAP&#39; mean?&quot;,
      answers: {
        a: &#39;As Soon As Possible&#39;,
        b: &#39;As Slow As Possible&#39;,
        c: &#39;At Some Available Point&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. What does &#39;ATM&#39; stand for?&quot;,
      answers: {
        a: &#39;Automated Teller Machine&#39;,
        b: &#39;Automatic Transfer Money&#39;,
        c: &#39;Account Transaction Machine&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. What does &#39;WHO&#39; stand for?&quot;,
      answers: {
        a: &#39;World Health Organization&#39;,
        b: &#39;World Humanitarian Office&#39;,
        c: &#39;World Health Office&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. What does &#39;e.g.&#39; mean?&quot;,
      answers: {
        a: &#39;For example&#39;,
        b: &#39;That is&#39;,
        c: &#39;In other words&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. What does &#39;RSVP&#39; stand for?&quot;,
      answers: {
        a: &#39;Répondez s\u2019il vous plaît (Please respond)&#39;,
        b: &#39;Reserve Seat Very Promptly&#39;,
        c: &#39;Request Speaker Visit Planned&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. What does &#39;i.e.&#39; mean?&quot;,
      answers: {
        a: &#39;That is&#39;,
        b: &#39;For example&#39;,
        c: &#39;And so on&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. What does &#39;UNICEF&#39; stand for?&quot;,
      answers: {
        a: &#39;United Nations International Children\u2019s Emergency Fund&#39;,
        b: &#39;United Nations International Cultural Education Fund&#39;,
        c: &#39;United Nations Council for Education and Family&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. What does &#39;etc.&#39; mean?&quot;,
      answers: {
        a: &#39;And so on&#39;,
        b: &#39;For example&#39;,
        c: &#39;In other words&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/8730051044786549656/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/09/abbreviation-acronyms-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/8730051044786549656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/8730051044786549656'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/09/abbreviation-acronyms-exercises-quiz.html' title='Abbreviation acronyms exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-8772708706991792247</id><published>2026-09-09T05:51:00.000-07:00</published><updated>2026-09-09T05:51:00.116-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Infinitive exercises quiz"/><title type='text'>Infinitive exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Infinitive Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I want ___ a doctor.&quot;,
      answers: {
        a: &#39;become&#39;,
        b: &#39;to become&#39;,
        c: &#39;becoming&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;2. She decided ___ early today.&quot;,
      answers: {
        a: &#39;leave&#39;,
        b: &#39;leaving&#39;,
        c: &#39;to leave&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;3. He went to the market ___ some vegetables.&quot;,
      answers: {
        a: &#39;buy&#39;,
        b: &#39;buying&#39;,
        c: &#39;to buy&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;4. It is important ___ on time.&quot;,
      answers: {
        a: &#39;to arrive&#39;,
        b: &#39;arriving&#39;,
        c: &#39;arrive&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. They plan ___ Europe next year.&quot;,
      answers: {
        a: &#39;visit&#39;,
        b: &#39;to visit&#39;,
        c: &#39;visiting&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;6. She helped me ___ my homework.&quot;,
      answers: {
        a: &#39;to finish / finish&#39;,
        b: &#39;finishing&#39;,
        c: &#39;finished&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. I need ___ to the doctor.&quot;,
      answers: {
        a: &#39;go&#39;,
        b: &#39;to go&#39;,
        c: &#39;going&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;8. He is too young ___ this movie.&quot;,
      answers: {
        a: &#39;watch&#39;,
        b: &#39;watching&#39;,
        c: &#39;to watch&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;9. My aim is ___ my own business.&quot;,
      answers: {
        a: &#39;to start&#39;,
        b: &#39;starting&#39;,
        c: &#39;start&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. We stopped ___ a photo of the sunset.&quot;,
      answers: {
        a: &#39;take&#39;,
        b: &#39;to take&#39;,
        c: &#39;taking&#39;
      },
      correctAnswer: &#39;b&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/8772708706991792247/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/09/infinitive-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/8772708706991792247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/8772708706991792247'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/09/infinitive-exercises-quiz.html' title='Infinitive exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-2560783950103905170</id><published>2026-09-07T05:41:00.000-07:00</published><updated>2026-09-07T05:41:00.112-07:00</updated><title type='text'>Idioms phrases exercises quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Idioms &amp; Phrases Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. What does &#39;break the ice&#39; mean?&quot;,
      answers: {
        a: &#39;To start a conversation&#39;,
        b: &#39;To break something&#39;,
        c: &#39;To get angry&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. What does &#39;once in a blue moon&#39; mean?&quot;,
      answers: {
        a: &#39;Very often&#39;,
        b: &#39;Rarely&#39;,
        c: &#39;At midnight&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;3. What does &#39;piece of cake&#39; mean?&quot;,
      answers: {
        a: &#39;Something difficult&#39;,
        b: &#39;Something delicious&#39;,
        c: &#39;Something very easy&#39;
      },
      correctAnswer: &#39;c&#39;
    },
    {
      question: &quot;4. What does &#39;hit the books&#39; mean?&quot;,
      answers: {
        a: &#39;To study hard&#39;,
        b: &#39;To throw books&#39;,
        c: &#39;To sell books&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. What does &#39;under the weather&#39; mean?&quot;,
      answers: {
        a: &#39;Feeling sick&#39;,
        b: &#39;Standing outside&#39;,
        c: &#39;Feeling excited&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. What does &#39;spill the beans&#39; mean?&quot;,
      answers: {
        a: &#39;To cook food&#39;,
        b: &#39;To reveal a secret&#39;,
        c: &#39;To make a mess&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;7. What does &#39;cost an arm and a leg&#39; mean?&quot;,
      answers: {
        a: &#39;Very cheap&#39;,
        b: &#39;Very expensive&#39;,
        c: &#39;Free of cost&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;8. What does &#39;burn the midnight oil&#39; mean?&quot;,
      answers: {
        a: &#39;To work or study late at night&#39;,
        b: &#39;To waste fuel&#39;,
        c: &#39;To sleep early&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. What does &#39;let the cat out of the bag&#39; mean?&quot;,
      answers: {
        a: &#39;To free an animal&#39;,
        b: &#39;To reveal a secret accidentally&#39;,
        c: &#39;To play a prank&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;10. What does &#39;a blessing in disguise&#39; mean?&quot;,
      answers: {
        a: &#39;Something bad that turns out to be good&#39;,
        b: &#39;A hidden gift&#39;,
        c: &#39;Something bad throughout&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/2560783950103905170/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/09/idioms-phrases-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/2560783950103905170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/2560783950103905170'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/09/idioms-phrases-exercises-quiz.html' title='Idioms phrases exercises quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-2002386904488473980</id><published>2026-08-28T00:50:00.000-07:00</published><updated>2026-08-28T00:50:00.195-07:00</updated><title type='text'> Past perfect continuous tense quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Past Perfect Continuous Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I ___ for two hours before she arrived.&quot;,
      answers: {
        a: &#39;had been studying&#39;,
        b: &#39;have been studying&#39;,
        c: &#39;was studying&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. She ___ since morning when I met her.&quot;,
      answers: {
        a: &#39;had been working&#39;,
        b: &#39;has been working&#39;,
        c: &#39;was working&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. They ___ for three hours before it started raining.&quot;,
      answers: {
        a: &#39;had been playing&#39;,
        b: &#39;have been playing&#39;,
        c: &#39;were playing&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. How long ___ you ___ before you found a job?&quot;,
      answers: {
        a: &#39;had / been searching&#39;,
        b: &#39;have / been searching&#39;,
        c: &#39;were / searching&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. He ___ not been feeling well for days before he saw a doctor.&quot;,
      answers: {
        a: &#39;had&#39;,
        b: &#39;has&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. We ___ waiting for an hour before the bus came.&quot;,
      answers: {
        a: &#39;had been&#39;,
        b: &#39;have been&#39;,
        c: &#39;were&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. It ___ raining for hours before it finally stopped.&quot;,
      answers: {
        a: &#39;had been&#39;,
        b: &#39;has been&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. My eyes hurt because I ___ too much before I took a break.&quot;,
      answers: {
        a: &#39;had been reading&#39;,
        b: &#39;have been reading&#39;,
        c: &#39;was reading&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. She looked tired because she ___ all day before she rested.&quot;,
      answers: {
        a: &#39;had been working&#39;,
        b: &#39;has been working&#39;,
        c: &#39;was working&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. They ___ for this exam for months before they finally took it.&quot;,
      answers: {
        a: &#39;had been preparing&#39;,
        b: &#39;have been preparing&#39;,
        c: &#39;were preparing&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/2002386904488473980/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/past-perfect-continuous-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/2002386904488473980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/2002386904488473980'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/past-perfect-continuous-tense-quiz.html' title=' Past perfect continuous tense quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-5602438090346728212</id><published>2026-08-27T00:52:00.000-07:00</published><updated>2026-08-27T00:52:00.183-07:00</updated><title type='text'>Future perfect continuous tense quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Future Perfect Continuous Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. By next month, I ___ here for five years.&quot;,
      answers: {
        a: &#39;will have been working&#39;,
        b: &#39;have been working&#39;,
        c: &#39;had been working&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. By 6 PM, she ___ for eight hours straight.&quot;,
      answers: {
        a: &#39;will have been working&#39;,
        b: &#39;has been working&#39;,
        c: &#39;had been working&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. By the time you arrive, we ___ for three hours.&quot;,
      answers: {
        a: &#39;will have been waiting&#39;,
        b: &#39;have been waiting&#39;,
        c: &#39;had been waiting&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. By next year, they ___ in this house for a decade.&quot;,
      answers: {
        a: &#39;will have been living&#39;,
        b: &#39;have been living&#39;,
        c: &#39;had been living&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you have been studying for two hours by the time I return?&quot;,
      answers: {
        a: &#39;Will&#39;,
        b: &#39;Have&#39;,
        c: &#39;Had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. By December, he ___ this course for a full year.&quot;,
      answers: {
        a: &#39;will have been teaching&#39;,
        b: &#39;has been teaching&#39;,
        c: &#39;had been teaching&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. By the time the show starts, we ___ in line for hours.&quot;,
      answers: {
        a: &#39;will have been standing&#39;,
        b: &#39;have been standing&#39;,
        c: &#39;had been standing&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. By next week, she ___ on this project for a month.&quot;,
      answers: {
        a: &#39;will have been working&#39;,
        b: &#39;has been working&#39;,
        c: &#39;had been working&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. By the end of this year, they ___ married for twenty years.&quot;,
      answers: {
        a: &#39;will have been&#39;,
        b: &#39;have been&#39;,
        c: &#39;had been&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. By midnight, I ___ for six hours straight.&quot;,
      answers: {
        a: &#39;will have been driving&#39;,
        b: &#39;have been driving&#39;,
        c: &#39;had been driving&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/5602438090346728212/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/future-perfect-continuous-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5602438090346728212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5602438090346728212'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/future-perfect-continuous-tense-quiz.html' title='Future perfect continuous tense quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-6128806322317390873</id><published>2026-08-20T00:46:00.000-07:00</published><updated>2026-08-20T00:46:00.259-07:00</updated><title type='text'>Past perfect tense quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Past Perfect Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. She ___ left before I arrived.&quot;,
      answers: {
        a: &#39;had&#39;,
        b: &#39;has&#39;,
        c: &#39;have&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. I ___ never ___ such a beautiful place before.&quot;,
      answers: {
        a: &#39;had / seen&#39;,
        b: &#39;have / seen&#39;,
        c: &#39;has / seen&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. By the time we reached, the train ___ already ___.&quot;,
      answers: {
        a: &#39;had / left&#39;,
        b: &#39;has / left&#39;,
        c: &#39;have / left&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. He ___ not ___ his homework when the teacher checked.&quot;,
      answers: {
        a: &#39;had / finished&#39;,
        b: &#39;has / finished&#39;,
        c: &#39;have / finished&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you ___ your work before she called?&quot;,
      answers: {
        a: &#39;Had / finished&#39;,
        b: &#39;Have / finished&#39;,
        c: &#39;Did / finished&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. They ___ already eaten dinner when we arrived.&quot;,
      answers: {
        a: &#39;had&#39;,
        b: &#39;have&#39;,
        c: &#39;has&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. She ___ studied French before she moved to Paris.&quot;,
      answers: {
        a: &#39;had&#39;,
        b: &#39;has&#39;,
        c: &#39;have&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. We ___ finished the project before the deadline.&quot;,
      answers: {
        a: &#39;had&#39;,
        b: &#39;have&#39;,
        c: &#39;has&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. The movie ___ already ___ when we reached the theatre.&quot;,
      answers: {
        a: &#39;had / started&#39;,
        b: &#39;has / started&#39;,
        c: &#39;have / started&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. I realized that I ___ forgotten my keys at home.&quot;,
      answers: {
        a: &#39;had&#39;,
        b: &#39;have&#39;,
        c: &#39;has&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/6128806322317390873/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/past-perfect-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6128806322317390873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6128806322317390873'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/past-perfect-tense-quiz.html' title='Past perfect tense quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-6645494420585981867</id><published>2026-08-17T00:49:00.000-07:00</published><updated>2026-08-17T00:49:00.206-07:00</updated><title type='text'>Present perfect continuous tense quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Present Perfect Continuous Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I ___ for two hours.&quot;,
      answers: {
        a: &#39;have been studying&#39;,
        b: &#39;am studying&#39;,
        c: &#39;studied&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. She ___ since morning.&quot;,
      answers: {
        a: &#39;has been working&#39;,
        b: &#39;is working&#39;,
        c: &#39;worked&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. They ___ for three hours.&quot;,
      answers: {
        a: &#39;have been playing&#39;,
        b: &#39;are playing&#39;,
        c: &#39;played&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. How long ___ you ___ English?&quot;,
      answers: {
        a: &#39;have / been learning&#39;,
        b: &#39;has / been learning&#39;,
        c: &#39;did / learn&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. He ___ not been feeling well lately.&quot;,
      answers: {
        a: &#39;has&#39;,
        b: &#39;have&#39;,
        c: &#39;is&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. We ___ waiting for the bus for 20 minutes.&quot;,
      answers: {
        a: &#39;have been&#39;,
        b: &#39;has been&#39;,
        c: &#39;are&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. It ___ raining since yesterday.&quot;,
      answers: {
        a: &#39;has been&#39;,
        b: &#39;have been&#39;,
        c: &#39;is&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. My eyes hurt because I ___ too much.&quot;,
      answers: {
        a: &#39;have been reading&#39;,
        b: &#39;am reading&#39;,
        c: &#39;read&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. She looks tired; she ___ all day.&quot;,
      answers: {
        a: &#39;has been working&#39;,
        b: &#39;is working&#39;,
        c: &#39;worked&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. They ___ for this exam for months.&quot;,
      answers: {
        a: &#39;have been preparing&#39;,
        b: &#39;are preparing&#39;,
        c: &#39;prepared&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/6645494420585981867/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/present-perfect-continuous-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6645494420585981867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6645494420585981867'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/present-perfect-continuous-tense-quiz.html' title='Present perfect continuous tense quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-5275787725087708247</id><published>2026-08-17T00:47:00.000-07:00</published><updated>2026-08-17T00:47:00.116-07:00</updated><title type='text'>Future perfect tense exercises quiz  </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Future Perfect Tense Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. By next year, I ___ my degree.&quot;,
      answers: {
        a: &#39;will have completed&#39;,
        b: &#39;have completed&#39;,
        c: &#39;had completed&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. She ___ finished the report by Friday.&quot;,
      answers: {
        a: &#39;will have&#39;,
        b: &#39;has&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. By the time you arrive, we ___ dinner.&quot;,
      answers: {
        a: &#39;will have cooked&#39;,
        b: &#39;have cooked&#39;,
        c: &#39;had cooked&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. He ___ not ___ his work by tomorrow.&quot;,
      answers: {
        a: &#39;will have / finished&#39;,
        b: &#39;has / finished&#39;,
        c: &#39;had / finished&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you have finished the project by next week?&quot;,
      answers: {
        a: &#39;Will&#39;,
        b: &#39;Have&#39;,
        c: &#39;Had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. By 2030, scientists ___ a cure for many diseases.&quot;,
      answers: {
        a: &#39;will have found&#39;,
        b: &#39;have found&#39;,
        c: &#39;had found&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. By the end of this year, they ___ married for ten years.&quot;,
      answers: {
        a: &#39;will have been&#39;,
        b: &#39;have been&#39;,
        c: &#39;had been&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. She ___ left by the time you get there.&quot;,
      answers: {
        a: &#39;will have&#39;,
        b: &#39;has&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. By next month, we ___ here for five years.&quot;,
      answers: {
        a: &#39;will have lived&#39;,
        b: &#39;have lived&#39;,
        c: &#39;had lived&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. By the time the movie starts, I ___ my dinner.&quot;,
      answers: {
        a: &#39;will have finished&#39;,
        b: &#39;have finished&#39;,
        c: &#39;had finished&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/5275787725087708247/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/future-perfect-tense-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5275787725087708247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/5275787725087708247'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/future-perfect-tense-exercises-quiz.html' title='Future perfect tense exercises quiz  '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-454382434222356661</id><published>2026-08-12T00:44:00.000-07:00</published><updated>2026-08-12T00:44:00.182-07:00</updated><title type='text'>Present perfect tense quiz</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Present Perfect Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I ___ my homework already.&quot;,
      answers: {
        a: &#39;have finished&#39;,
        b: &#39;finished&#39;,
        c: &#39;finish&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. She ___ never ___ to Paris.&quot;,
      answers: {
        a: &#39;has / been&#39;,
        b: &#39;have / been&#39;,
        c: &#39;is / been&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. They ___ just ___ the movie.&quot;,
      answers: {
        a: &#39;have / watched&#39;,
        b: &#39;has / watched&#39;,
        c: &#39;are / watched&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. He ___ not ___ his work yet.&quot;,
      answers: {
        a: &#39;has / finished&#39;,
        b: &#39;have / finished&#39;,
        c: &#39;is / finished&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you ever ___ sushi?&quot;,
      answers: {
        a: &#39;Have / eaten&#39;,
        b: &#39;Has / eaten&#39;,
        c: &#39;Did / eaten&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. We ___ known each other for ten years.&quot;,
      answers: {
        a: &#39;have&#39;,
        b: &#39;has&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. She ___ lived here since 2015.&quot;,
      answers: {
        a: &#39;has&#39;,
        b: &#39;have&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. I ___ lost my keys.&quot;,
      answers: {
        a: &#39;have&#39;,
        b: &#39;has&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. The train ___ already ___.&quot;,
      answers: {
        a: &#39;has / left&#39;,
        b: &#39;have / left&#39;,
        c: &#39;is / left&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. My parents ___ travelled to many countries.&quot;,
      answers: {
        a: &#39;have&#39;,
        b: &#39;has&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/454382434222356661/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/present-perfect-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/454382434222356661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/454382434222356661'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/present-perfect-tense-quiz.html' title='Present perfect tense quiz'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-6816349919262072166</id><published>2026-08-09T05:25:03.523-07:00</published><updated>2026-08-09T05:25:03.524-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Speak sprint"/><title type='text'>Speak sprint </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;title&gt;Speak Sprint&lt;/title&gt;
&lt;style&gt;
  @import url(&#39;https://fonts.googleapis.com/css2?family=Archivo+Black&amp;family=Space+Grotesk:wght@400;500;600;700&amp;display=swap&#39;);

  #ssp-root, #ssp-root * { box-sizing: border-box; }

  #ssp-root {
    --bg: #1b1035;
    --card: #2c1a54;
    --coral: #ff5d73;
    --yellow: #f4ff61;
    --mint: #6dffb3;
    --sky: #7cd7ff;
    --text: #f1ecff;
    --muted: #b7a9e0;
    --line: rgba(241,236,255,0.14);

    font-family: &#39;Space Grotesk&#39;, system-ui, -apple-system, &#39;Segoe UI&#39;, sans-serif;
    background: radial-gradient(120% 140% at 15% 110%, #3a2270 0%, var(--bg) 55%);
    color: var(--text);
    max-width: 480px;
    margin: 24px auto;
    border-radius: 22px;
    padding: 20px 18px 26px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 60px -25px rgba(0,0,0,0.6), 0 0 0 1px var(--line);
  }

  #ssp-root::before{
    content:&quot;&quot;;
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 92% 4%, rgba(255,93,115,0.12), transparent 42%),
      radial-gradient(circle at 4% 96%, rgba(109,255,179,0.10), transparent 45%);
    pointer-events:none;
  }

  #ssp-root h1, #ssp-root h2, #ssp-root h3 { margin: 0; font-family: &#39;Archivo Black&#39;, &#39;Space Grotesk&#39;, sans-serif; letter-spacing: -0.01em; }

  .ssp-eyebrow{
    display:inline-flex; align-items:center; gap:6px;
    font-size: 11px; font-weight:700; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--bg); background: var(--coral);
    padding: 5px 10px; border-radius: 999px; transform: rotate(-2deg);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.25);
  }

  .ssp-title{ font-size: 27px; line-height: 1.05; margin-top: 12px; }
  .ssp-title span{ color: var(--mint); }
  .ssp-sub{ color: var(--muted); font-size: 14px; margin-top: 8px; line-height:1.5; }

  .ssp-notice{
    margin-top:14px; font-size:12px; line-height:1.5; color: var(--muted);
    background: rgba(255,255,255,0.04); border:1px dashed var(--line); border-radius:10px; padding:9px 11px;
    display:none;
  }
  .ssp-notice.show{ display:block; }

  .ssp-chiprow{ display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
  .ssp-chip{
    font-family:inherit; font-size:12.5px; font-weight:600; color: var(--text);
    background: rgba(255,255,255,0.06); border: 1px solid var(--line);
    padding: 8px 12px; border-radius: 999px; cursor:pointer; transition: all .15s ease;
  }
  .ssp-chip:hover{ background: rgba(255,255,255,0.12); }
  .ssp-chip.active{
    background: var(--coral); color:#1b1030; border-color: var(--coral);
    box-shadow: 0 4px 0 rgba(0,0,0,0.25);
  }

  .ssp-startbtn{
    margin-top: 20px; width:100%; border:none; cursor:pointer;
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size: 16px; color:#1b1030;
    background: linear-gradient(180deg, var(--mint), #4fe6a0);
    padding: 15px 18px; border-radius: 14px;
    box-shadow: 0 5px 0 #2f9d6d;
    transition: transform .08s ease;
  }
  .ssp-startbtn:active{ transform: translateY(4px); box-shadow: 0 1px 0 #2f9d6d; }

  .ssp-topics{ margin-top:16px; display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
  .ssp-topics div{
    font-size:12px; color:var(--muted); background: rgba(255,255,255,0.04);
    border:1px dashed var(--line); border-radius:10px; padding:8px 10px;
  }
  .ssp-topics b{ color: var(--text); }

  .ssp-screen{ display:none; position:relative; z-index:1; }
  .ssp-screen.active{ display:block; }

  .ssp-statbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 14px; }
  .ssp-hearts{ font-size:16px; letter-spacing:2px; }
  .ssp-hearts .lost{ opacity:0.25; filter:grayscale(1); }
  .ssp-score{ font-size: 13px; color: var(--muted); font-weight:600; }
  .ssp-score b{ color: var(--yellow); font-size:15px; }

  .ssp-progress-track{ height:8px; border-radius:999px; background: rgba(255,255,255,0.08); overflow:hidden; margin-bottom:16px; }
  .ssp-progress-fill{ height:100%; background: linear-gradient(90deg, var(--coral), var(--mint)); border-radius:999px; transition: width .35s ease; }

  .ssp-card{ background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px; position:relative; z-index:1; }

  .ssp-mode-tag{
    display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
    color: var(--coral); border:1px solid rgba(255,93,115,0.4); padding:4px 9px; border-radius:999px;
  }

  .ssp-prompt-label{ font-size:12px; color: var(--muted); margin-top:12px; }
  .ssp-prompt{ font-size: 18px; font-weight:700; line-height:1.45; margin-top:6px; }

  .ssp-mic-wrap{ display:flex; flex-direction:column; align-items:center; margin-top:22px; }
  .ssp-mic-btn{
    position:relative; width:78px; height:78px; border-radius:50%; border:none; cursor:pointer;
    background: linear-gradient(180deg, var(--coral), #d8384f); color:#fff; font-size:28px;
    box-shadow: 0 6px 0 #a12c3d;
    transition: transform .08s ease;
  }
  .ssp-mic-btn:active{ transform: translateY(3px); box-shadow: 0 3px 0 #a12c3d; }
  .ssp-mic-btn.listening{ background: linear-gradient(180deg, var(--mint), #34c98a); box-shadow: 0 6px 0 #1f7d59; }
  .ssp-mic-ring{
    position:absolute; inset:-10px; border-radius:50%; border:2px solid var(--mint); opacity:0;
  }
  .ssp-mic-btn.listening .ssp-mic-ring{ animation: sspRing 1.3s ease-out infinite; }
  @keyframes sspRing{ 0%{ transform:scale(0.9); opacity:0.8; } 100%{ transform:scale(1.5); opacity:0; } }
  .ssp-mic-hint{ margin-top:10px; font-size:12.5px; color: var(--muted); text-align:center; }

  .ssp-transcript{
    margin-top:16px; min-height:44px; font-size:14.5px; line-height:1.5; color: var(--text);
    background: rgba(0,0,0,0.18); border: 1px dashed var(--line); border-radius: 12px; padding: 10px 13px;
  }
  .ssp-transcript .placeholder{ color: var(--muted); }

  .ssp-textfallback{ display:none; margin-top:14px; gap:8px; }
  .ssp-textfallback.show{ display:flex; }
  .ssp-textfallback input{
    flex:1; font-family:inherit; font-size:14px; padding:10px 12px; border-radius:10px;
    border:1px solid var(--line); background: rgba(255,255,255,0.06); color: var(--text);
  }
  .ssp-textfallback button{
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size:12px; color:#1b1030; background: var(--mint);
    border:none; border-radius:10px; padding: 0 14px; cursor:pointer;
  }

  .ssp-feedback{ display:none; margin-top:16px; padding: 12px 14px; border-radius:12px; font-size:13.5px; line-height:1.55; }
  .ssp-feedback.show{ display:block; }
  .ssp-feedback.ok{ background: rgba(109,255,179,0.1); border:1px solid rgba(109,255,179,0.4); color: var(--mint); }
  .ssp-feedback.no{ background: rgba(255,93,115,0.1); border:1px solid rgba(255,93,115,0.4); color: var(--coral); }
  .ssp-feedback b{ color: var(--text); }
  .ssp-feedback .ssp-sample{ display:block; margin-top:6px; color: var(--muted); }

  .ssp-actionrow{ display:flex; gap:10px; margin-top:16px; }
  .ssp-btn{
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size:12.5px; cursor:pointer; border:none; border-radius:12px;
    padding: 12px 14px; flex:1; transition: transform .08s ease;
  }
  .ssp-btn:active{ transform: translateY(2px); }
  .ssp-btn.ghost{ background: rgba(255,255,255,0.06); color: var(--text); border:1px solid var(--line); }
  .ssp-btn.next{ background: var(--mint); color:#1b1030; box-shadow: 0 4px 0 #2f9d6d; display:none; width:100%; }
  .ssp-btn.next.show{ display:block; }

  .ssp-end{ text-align:center; padding: 10px 4px; }
  .ssp-badge{ display:inline-block; font-size:40px; margin-bottom: 6px; }
  .ssp-endscore{ font-family:&#39;Archivo Black&#39;, sans-serif; font-size:40px; margin-top:6px; color: var(--coral); }
  .ssp-endlabel{ color: var(--muted); font-size:13px; }
  .ssp-endgrade{
    margin-top: 14px; display:inline-block; font-weight:700; font-size:13px; color:#1b1030;
    background: var(--mint); padding: 7px 14px; border-radius:999px; transform: rotate(-2deg);
  }
  .ssp-endstats{ display:flex; gap:10px; margin-top:20px; }
  .ssp-endstats div{ flex:1; background: rgba(255,255,255,0.05); border:1px solid var(--line); border-radius:12px; padding:12px 6px; }
  .ssp-endstats b{ display:block; font-size:18px; color: var(--text); }
  .ssp-endstats span{ font-size:11px; color: var(--muted); }

  @media (prefers-reduced-motion: reduce){
    .ssp-mic-ring, .ssp-progress-fill, .ssp-btn { animation:none !important; transition:none !important; }
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;ssp-root&quot;&gt;

  &lt;!-- START SCREEN --&gt;
  &lt;div class=&quot;ssp-screen active&quot; id=&quot;sspScreenStart&quot;&gt;
    &lt;span class=&quot;ssp-eyebrow&quot;&gt;AZ English Learn&lt;/span&gt;
    &lt;h1 class=&quot;ssp-title&quot;&gt;Speak &lt;span&gt;Sprint&lt;/span&gt; 🎙️&lt;/h1&gt;
    &lt;p class=&quot;ssp-sub&quot;&gt;Tap the mic and say it out loud — read-aloud lines, tongue twisters, quick replies, and describe-it prompts. Your voice is scored live in the browser.&lt;/p&gt;

    &lt;div class=&quot;ssp-notice&quot; id=&quot;sspNotice&quot;&gt;Your browser doesn&#39;t support live speech recognition — you can still play by typing what you&#39;d say instead.&lt;/div&gt;

    &lt;div class=&quot;ssp-chiprow&quot; id=&quot;sspChipRow&quot;&gt;&lt;/div&gt;

    &lt;button class=&quot;ssp-startbtn&quot; id=&quot;sspStartBtn&quot;&gt;▶ Start Round&lt;/button&gt;

    &lt;div class=&quot;ssp-topics&quot;&gt;
      &lt;div&gt;&lt;b&gt;🗣️ Read Aloud&lt;/b&gt;&lt;br&gt;match the sentence&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;🌀 Tongue Twisters&lt;/b&gt;&lt;br&gt;pronunciation test&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;💬 Quick Response&lt;/b&gt;&lt;br&gt;reply naturally&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;🎨 Describe It&lt;/b&gt;&lt;br&gt;say it your way&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- GAME SCREEN --&gt;
  &lt;div class=&quot;ssp-screen&quot; id=&quot;sspScreenGame&quot;&gt;
    &lt;div class=&quot;ssp-statbar&quot;&gt;
      &lt;div class=&quot;ssp-hearts&quot; id=&quot;sspHearts&quot;&gt;❤️❤️❤️&lt;/div&gt;
      &lt;div class=&quot;ssp-score&quot;&gt;Score &lt;b id=&quot;sspScore&quot;&gt;0&lt;/b&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;ssp-progress-track&quot;&gt;&lt;div class=&quot;ssp-progress-fill&quot; id=&quot;sspProgressFill&quot; style=&quot;width:0%&quot;&gt;&lt;/div&gt;&lt;/div&gt;

    &lt;div class=&quot;ssp-card&quot;&gt;
      &lt;span class=&quot;ssp-mode-tag&quot; id=&quot;sspModeTag&quot;&gt;Read Aloud&lt;/span&gt;
      &lt;div class=&quot;ssp-prompt-label&quot; id=&quot;sspPromptLabel&quot;&gt;Say this sentence out loud:&lt;/div&gt;
      &lt;div class=&quot;ssp-prompt&quot; id=&quot;sspPrompt&quot;&gt;Loading…&lt;/div&gt;

      &lt;div class=&quot;ssp-mic-wrap&quot;&gt;
        &lt;button class=&quot;ssp-mic-btn&quot; id=&quot;sspMicBtn&quot;&gt;&lt;span class=&quot;ssp-mic-ring&quot;&gt;&lt;/span&gt;🎤&lt;/button&gt;
        &lt;div class=&quot;ssp-mic-hint&quot; id=&quot;sspMicHint&quot;&gt;Tap to speak&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;ssp-transcript&quot; id=&quot;sspTranscript&quot;&gt;&lt;span class=&quot;placeholder&quot;&gt;Your speech will appear here…&lt;/span&gt;&lt;/div&gt;

      &lt;div class=&quot;ssp-textfallback&quot; id=&quot;sspTextFallback&quot;&gt;
        &lt;input type=&quot;text&quot; id=&quot;sspTextInput&quot; placeholder=&quot;Type what you&#39;d say…&quot;&gt;
        &lt;button id=&quot;sspTextSubmit&quot;&gt;Check&lt;/button&gt;
      &lt;/div&gt;

      &lt;div class=&quot;ssp-feedback&quot; id=&quot;sspFeedback&quot;&gt;&lt;/div&gt;

      &lt;div class=&quot;ssp-actionrow&quot; id=&quot;sspActionRow&quot;&gt;
        &lt;button class=&quot;ssp-btn ghost&quot; id=&quot;sspSkipBtn&quot;&gt;Skip →&lt;/button&gt;
      &lt;/div&gt;
      &lt;button class=&quot;ssp-btn next&quot; id=&quot;sspNextBtn&quot;&gt;Next →&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- END SCREEN --&gt;
  &lt;div class=&quot;ssp-screen&quot; id=&quot;sspScreenEnd&quot;&gt;
    &lt;div class=&quot;ssp-card ssp-end&quot;&gt;
      &lt;div class=&quot;ssp-badge&quot; id=&quot;sspEndBadge&quot;&gt;🏆&lt;/div&gt;
      &lt;div class=&quot;ssp-endlabel&quot;&gt;Your score&lt;/div&gt;
      &lt;div class=&quot;ssp-endscore&quot; id=&quot;sspEndScore&quot;&gt;0&lt;/div&gt;
      &lt;div class=&quot;ssp-endgrade&quot; id=&quot;sspEndGrade&quot;&gt;Confident Speaker&lt;/div&gt;
      &lt;div class=&quot;ssp-endstats&quot;&gt;
        &lt;div&gt;&lt;b id=&quot;sspEndCorrect&quot;&gt;0/8&lt;/b&gt;&lt;span&gt;Well Said&lt;/span&gt;&lt;/div&gt;
        &lt;div&gt;&lt;b id=&quot;sspEndAvg&quot;&gt;0%&lt;/b&gt;&lt;span&gt;Avg Match&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
      &lt;button class=&quot;ssp-startbtn&quot; id=&quot;sspRestartBtn&quot; style=&quot;margin-top:22px;&quot;&gt;↺ Play Again&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(function(){
  &quot;use strict&quot;;

  var ITEMS = [
    {mode:&quot;Read Aloud&quot;, type:&quot;read&quot;, label:&quot;Say this sentence out loud:&quot;, target:&quot;The weather today is absolutely beautiful.&quot;,
      tip:&quot;Focus on clear vowel sounds in &#39;weather&#39; and &#39;beautiful&#39;.&quot;},
    {mode:&quot;Read Aloud&quot;, type:&quot;read&quot;, label:&quot;Say this sentence out loud:&quot;, target:&quot;I would like to order a cup of coffee, please.&quot;,
      tip:&quot;Keep a polite, rising tone on &#39;please&#39;.&quot;},
    {mode:&quot;Read Aloud&quot;, type:&quot;read&quot;, label:&quot;Say this sentence out loud:&quot;, target:&quot;Learning English opens doors to new opportunities.&quot;,
      tip:&quot;Stress the key words: learning, English, opportunities.&quot;},
    {mode:&quot;Read Aloud&quot;, type:&quot;read&quot;, label:&quot;Say this sentence out loud:&quot;, target:&quot;Could you please tell me the way to the railway station?&quot;,
      tip:&quot;Practice smooth linking between &#39;tell me&#39; and &#39;the way&#39;.&quot;},

    {mode:&quot;Tongue Twister&quot;, type:&quot;read&quot;, label:&quot;Try this tongue twister:&quot;, target:&quot;She sells seashells by the seashore.&quot;,
      tip:&quot;Slow down on the &#39;sh&#39; and &#39;s&#39; sounds to keep them distinct.&quot;},
    {mode:&quot;Tongue Twister&quot;, type:&quot;read&quot;, label:&quot;Try this tongue twister:&quot;, target:&quot;Peter Piper picked a peck of pickled peppers.&quot;,
      tip:&quot;Punch each &#39;p&#39; sound clearly without rushing.&quot;},
    {mode:&quot;Tongue Twister&quot;, type:&quot;read&quot;, label:&quot;Try this tongue twister:&quot;, target:&quot;How much wood would a woodchuck chuck if a woodchuck could chuck wood.&quot;,
      tip:&quot;Keep &#39;wood&#39;, &#39;would&#39;, and &#39;chuck&#39; crisp and separate.&quot;},
    {mode:&quot;Tongue Twister&quot;, type:&quot;read&quot;, label:&quot;Try this tongue twister:&quot;, target:&quot;Red lorry, yellow lorry, red lorry, yellow lorry.&quot;,
      tip:&quot;Alternate the &#39;l&#39; and &#39;r&#39; sounds carefully.&quot;},

    {mode:&quot;Quick Response&quot;, type:&quot;response&quot;, label:&quot;Someone asks: \&quot;How are you today?\&quot; — reply naturally:&quot;,
      keywords:[&quot;fine&quot;,&quot;good&quot;,&quot;great&quot;,&quot;well&quot;,&quot;okay&quot;,&quot;alright&quot;,&quot;not bad&quot;,&quot;doing&quot;], sample:&quot;I&#39;m doing great, thank you! How about you?&quot;},
    {mode:&quot;Quick Response&quot;, type:&quot;response&quot;, label:&quot;A friend says: \&quot;Thank you so much for your help!\&quot; — respond politely:&quot;,
      keywords:[&quot;welcome&quot;,&quot;no problem&quot;,&quot;anytime&quot;,&quot;pleasure&quot;,&quot;sure&quot;,&quot;glad&quot;], sample:&quot;You&#39;re welcome! Happy to help anytime.&quot;},
    {mode:&quot;Quick Response&quot;, type:&quot;response&quot;, label:&quot;You want to politely ask someone&#39;s name — what do you say?&quot;,
      keywords:[&quot;name&quot;,&quot;who are you&quot;,&quot;may i know&quot;,&quot;what&#39;s your&quot;], sample:&quot;May I know your name, please?&quot;},
    {mode:&quot;Quick Response&quot;, type:&quot;response&quot;, label:&quot;A waiter asks: \&quot;What would you like to order?\&quot; — respond:&quot;,
      keywords:[&quot;would like&quot;,&quot;i&#39;ll have&quot;,&quot;can i get&quot;,&quot;order&quot;,&quot;please&quot;,&quot;i want&quot;], sample:&quot;I&#39;d like a plate of pasta, please.&quot;},

    {mode:&quot;Describe It&quot;, type:&quot;response&quot;, label:&quot;Describe your favorite food in one sentence:&quot;,
      keywords:[&quot;delicious&quot;,&quot;tasty&quot;,&quot;spicy&quot;,&quot;sweet&quot;,&quot;favorite&quot;,&quot;love&quot;,&quot;favourite&quot;], sample:&quot;My favorite food is biryani because it&#39;s spicy and delicious.&quot;},
    {mode:&quot;Describe It&quot;, type:&quot;response&quot;, label:&quot;Describe the weather outside right now:&quot;,
      keywords:[&quot;sunny&quot;,&quot;rainy&quot;,&quot;cloudy&quot;,&quot;hot&quot;,&quot;cold&quot;,&quot;windy&quot;,&quot;warm&quot;,&quot;humid&quot;], sample:&quot;It&#39;s quite sunny and warm outside today.&quot;},
    {mode:&quot;Describe It&quot;, type:&quot;response&quot;, label:&quot;Describe your best friend in one sentence:&quot;,
      keywords:[&quot;kind&quot;,&quot;funny&quot;,&quot;friendly&quot;,&quot;honest&quot;,&quot;caring&quot;,&quot;helpful&quot;,&quot;supportive&quot;], sample:&quot;My best friend is kind, funny, and always supportive.&quot;},
    {mode:&quot;Describe It&quot;, type:&quot;response&quot;, label:&quot;Describe your morning routine in one sentence:&quot;,
      keywords:[&quot;wake up&quot;,&quot;breakfast&quot;,&quot;brush&quot;,&quot;shower&quot;,&quot;morning&quot;,&quot;exercise&quot;], sample:&quot;I wake up early, brush my teeth, and have breakfast before work.&quot;}
  ];

  var MODES = [&quot;All&quot;,&quot;Read Aloud&quot;,&quot;Tongue Twister&quot;,&quot;Quick Response&quot;,&quot;Describe It&quot;];
  var ROUND_LEN = 8;
  var MAX_HEARTS = 3;

  var els = {};
  [&quot;sspScreenStart&quot;,&quot;sspScreenGame&quot;,&quot;sspScreenEnd&quot;,&quot;sspNotice&quot;,&quot;sspChipRow&quot;,&quot;sspStartBtn&quot;,
   &quot;sspHearts&quot;,&quot;sspScore&quot;,&quot;sspProgressFill&quot;,&quot;sspModeTag&quot;,&quot;sspPromptLabel&quot;,&quot;sspPrompt&quot;,
   &quot;sspMicBtn&quot;,&quot;sspMicHint&quot;,&quot;sspTranscript&quot;,&quot;sspTextFallback&quot;,&quot;sspTextInput&quot;,&quot;sspTextSubmit&quot;,
   &quot;sspFeedback&quot;,&quot;sspActionRow&quot;,&quot;sspSkipBtn&quot;,&quot;sspNextBtn&quot;,
   &quot;sspEndBadge&quot;,&quot;sspEndScore&quot;,&quot;sspEndGrade&quot;,&quot;sspEndCorrect&quot;,&quot;sspEndAvg&quot;,&quot;sspRestartBtn&quot;
  ].forEach(function(id){ els[id] = document.getElementById(id); });

  var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
  var recogSupported = !!SpeechRecognition;
  var recognition = null;
  if (recogSupported){
    recognition = new SpeechRecognition();
    recognition.lang = &quot;en-US&quot;;
    recognition.interimResults = true;
    recognition.maxAlternatives = 1;
    recognition.continuous = false;
  } else {
    els.sspNotice.classList.add(&quot;show&quot;);
  }

  var state = {
    category: &quot;All&quot;,
    queue: [],
    idx: 0,
    score: 0,
    hearts: MAX_HEARTS,
    wellSaid: 0,
    matchSum: 0,
    answered: false,
    listening: false
  };

  function shuffle(arr){
    var a = arr.slice();
    for (var i = a.length - 1; i &gt; 0; i--){
      var j = Math.floor(Math.random() * (i + 1));
      var t = a[i]; a[i] = a[j]; a[j] = t;
    }
    return a;
  }

  function buildChips(){
    els.sspChipRow.innerHTML = &quot;&quot;;
    MODES.forEach(function(m){
      var chip = document.createElement(&quot;button&quot;);
      chip.className = &quot;ssp-chip&quot; + (m === state.category ? &quot; active&quot; : &quot;&quot;);
      chip.textContent = m;
      chip.addEventListener(&quot;click&quot;, function(){ state.category = m; buildChips(); });
      els.sspChipRow.appendChild(chip);
    });
  }

  function showScreen(name){
    [&quot;sspScreenStart&quot;,&quot;sspScreenGame&quot;,&quot;sspScreenEnd&quot;].forEach(function(id){
      els[id].classList.toggle(&quot;active&quot;, id === name);
    });
  }

  function startRound(){
    var pool = ITEMS.filter(function(q){ return state.category === &quot;All&quot; || q.mode === state.category; });
    if (pool.length &lt; ROUND_LEN) pool = ITEMS.slice();
    state.queue = shuffle(pool).slice(0, ROUND_LEN);
    state.idx = 0; state.score = 0; state.hearts = MAX_HEARTS; state.wellSaid = 0; state.matchSum = 0;
    showScreen(&quot;sspScreenGame&quot;);
    renderStats();
    renderItem();
  }

  function renderStats(){
    var hearts = &quot;&quot;;
    for (var i = 0; i &lt; MAX_HEARTS; i++){
      hearts += i &lt; state.hearts ? &quot;❤️&quot; : &quot;&lt;span class=&#39;lost&#39;&gt;❤️&lt;/span&gt;&quot;;
    }
    els.sspHearts.innerHTML = hearts;
    els.sspScore.innerHTML = state.score;
    var pct = Math.round((state.idx / state.queue.length) * 100);
    els.sspProgressFill.style.width = pct + &quot;%&quot;;
  }

  function currentItem(){ return state.queue[state.idx]; }

  // Levenshtein-based similarity 0-100
  function similarity(a, b){
    a = a.toLowerCase().replace(/[^a-z0-9 ]/g, &quot;&quot;).trim();
    b = b.toLowerCase().replace(/[^a-z0-9 ]/g, &quot;&quot;).trim();
    if (!a || !b) return 0;
    var wa = a.split(/\s+/), wb = b.split(/\s+/);
    var setB = {};
    wb.forEach(function(w){ setB[w] = (setB[w] || 0) + 1; });
    var matched = 0;
    wa.forEach(function(w){ if (setB[w] &gt; 0){ matched++; setB[w]--; } });
    var denom = Math.max(wa.length, wb.length);
    return Math.round((matched / denom) * 100);
  }

  function containsKeyword(text, keywords){
    var t = text.toLowerCase();
    return keywords.some(function(k){ return t.indexOf(k.toLowerCase()) !== -1; });
  }

  function renderItem(){
    state.answered = false;
    var it = currentItem();
    els.sspModeTag.textContent = it.mode;
    els.sspPromptLabel.textContent = it.label;
    els.sspPrompt.textContent = it.type === &quot;read&quot; ? it.target : &quot;&quot;;
    els.sspTranscript.innerHTML = &quot;&lt;span class=&#39;placeholder&#39;&gt;Your speech will appear here…&lt;/span&gt;&quot;;
    els.sspFeedback.className = &quot;ssp-feedback&quot;;
    els.sspFeedback.innerHTML = &quot;&quot;;
    els.sspNextBtn.classList.remove(&quot;show&quot;);
    els.sspActionRow.style.display = &quot;&quot;;
    els.sspMicHint.textContent = &quot;Tap to speak&quot;;
    els.sspMicBtn.classList.remove(&quot;listening&quot;);
    els.sspTextInput.value = &quot;&quot;;

    if (recogSupported){
      els.sspMicBtn.style.display = &quot;&quot;;
      els.sspTextFallback.classList.remove(&quot;show&quot;);
    } else {
      els.sspMicBtn.style.display = &quot;none&quot;;
      els.sspTextFallback.classList.add(&quot;show&quot;);
    }
    renderStats();
  }

  function evaluate(transcript){
    if (state.answered) return;
    state.answered = true;
    var it = currentItem();
    var pass, matchPct, correctText;

    if (it.type === &quot;read&quot;){
      matchPct = similarity(transcript, it.target);
      pass = matchPct &gt;= 60;
      correctText = it.target;
    } else {
      pass = containsKeyword(transcript, it.keywords);
      matchPct = pass ? 100 : 0;
      correctText = it.sample;
    }
    state.matchSum += matchPct;

    if (pass){
      state.wellSaid++;
      state.score += it.type === &quot;read&quot; ? Math.round(matchPct / 5) + 5 : 15;
      els.sspFeedback.className = &quot;ssp-feedback ok show&quot;;
      els.sspFeedback.innerHTML = &quot;✅ Well said! &quot; + (it.type === &quot;read&quot; ? (&quot;Match: &lt;b&gt;&quot; + matchPct + &quot;%&lt;/b&gt;. &quot;) : &quot;&quot;) + (it.tip || &quot;&quot;);
    } else {
      state.hearts = Math.max(0, state.hearts - 1);
      els.sspFeedback.className = &quot;ssp-feedback no show&quot;;
      els.sspFeedback.innerHTML = &quot;🔁 &quot; + (it.type === &quot;read&quot; ? (&quot;Match: &lt;b&gt;&quot; + matchPct + &quot;%&lt;/b&gt; — try to speak closer to the target next time.&quot;) : &quot;Not quite the expected reply.&quot;) +
        &quot;&lt;span class=&#39;ssp-sample&#39;&gt;Example: “&quot; + correctText + &quot;”&lt;/span&gt;&quot;;
    }
    renderStats();
    els.sspNextBtn.classList.add(&quot;show&quot;);
    els.sspActionRow.style.display = &quot;none&quot;;
  }

  // ---- Mic handling ----
  if (recogSupported){
    recognition.onresult = function(evt){
      var text = &quot;&quot;;
      for (var i = 0; i &lt; evt.results.length; i++){
        text += evt.results[i][0].transcript;
      }
      els.sspTranscript.textContent = text;
      if (evt.results[evt.results.length - 1].isFinal){
        finishListening();
        evaluate(text);
      }
    };
    recognition.onerror = function(){
      finishListening();
      els.sspMicHint.textContent = &quot;Didn&#39;t catch that — tap to try again&quot;;
    };
    recognition.onend = function(){
      if (state.listening) finishListening();
    };
  }

  function startListening(){
    if (!recogSupported || state.answered) return;
    state.listening = true;
    els.sspMicBtn.classList.add(&quot;listening&quot;);
    els.sspMicHint.textContent = &quot;Listening… tap when done&quot;;
    els.sspTranscript.innerHTML = &quot;&lt;span class=&#39;placeholder&#39;&gt;Listening…&lt;/span&gt;&quot;;
    try { recognition.start(); } catch(e){ /* already started */ }
  }

  function finishListening(){
    state.listening = false;
    els.sspMicBtn.classList.remove(&quot;listening&quot;);
    els.sspMicHint.textContent = &quot;Tap to speak&quot;;
    try { recognition.stop(); } catch(e){}
  }

  els.sspMicBtn.addEventListener(&quot;click&quot;, function(){
    if (state.answered) return;
    if (state.listening){
      finishListening();
      var current = els.sspTranscript.textContent;
      if (current &amp;&amp; current.indexOf(&quot;Listening&quot;) === -1){
        evaluate(current);
      }
    } else {
      startListening();
    }
  });

  els.sspTextSubmit.addEventListener(&quot;click&quot;, function(){
    var val = els.sspTextInput.value.trim();
    if (!val || state.answered) return;
    els.sspTranscript.textContent = val;
    evaluate(val);
  });
  els.sspTextInput.addEventListener(&quot;keydown&quot;, function(e){
    if (e.key === &quot;Enter&quot;) els.sspTextSubmit.click();
  });

  els.sspSkipBtn.addEventListener(&quot;click&quot;, function(){
    if (state.answered) return;
    state.answered = true;
    state.hearts = Math.max(0, state.hearts - 1);
    var it = currentItem();
    els.sspFeedback.className = &quot;ssp-feedback no show&quot;;
    els.sspFeedback.innerHTML = &quot;⏭️ Skipped. &lt;span class=&#39;ssp-sample&#39;&gt;Example: “&quot; + (it.type === &quot;read&quot; ? it.target : it.sample) + &quot;”&lt;/span&gt;&quot;;
    renderStats();
    els.sspNextBtn.classList.add(&quot;show&quot;);
    els.sspActionRow.style.display = &quot;none&quot;;
  });

  els.sspNextBtn.addEventListener(&quot;click&quot;, function(){
    if (state.hearts &lt;= 0){ endRound(); return; }
    state.idx++;
    if (state.idx &gt;= state.queue.length){ endRound(); return; }
    renderItem();
  });

  function endRound(){
    if (recogSupported){ try { recognition.stop(); } catch(e){} }
    showScreen(&quot;sspScreenEnd&quot;);
    els.sspEndScore.textContent = state.score;
    els.sspEndCorrect.textContent = state.wellSaid + &quot;/&quot; + state.queue.length;
    els.sspEndAvg.textContent = Math.round(state.matchSum / state.queue.length) + &quot;%&quot;;

    var pct = state.wellSaid / state.queue.length;
    var badge, grade;
    if (state.hearts &lt;= 0){ badge = &quot;💀&quot;; grade = &quot;Round Over — Try Again&quot;; }
    else if (pct &gt;= 0.9){ badge = &quot;🏆&quot;; grade = &quot;Confident Speaker&quot;; }
    else if (pct &gt;= 0.7){ badge = &quot;🔥&quot;; grade = &quot;Clear Communicator&quot;; }
    else if (pct &gt;= 0.5){ badge = &quot;⭐&quot;; grade = &quot;Rising Speaker&quot;; }
    else { badge = &quot;🌱&quot;; grade = &quot;Keep Practicing&quot;; }
    els.sspEndBadge.textContent = badge;
    els.sspEndGrade.textContent = grade;
  }

  els.sspStartBtn.addEventListener(&quot;click&quot;, startRound);
  els.sspRestartBtn.addEventListener(&quot;click&quot;, function(){ showScreen(&quot;sspScreenStart&quot;); });

  buildChips();
})();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/6816349919262072166/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/speak-sprint.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6816349919262072166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6816349919262072166'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/speak-sprint.html' title='Speak sprint '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total><georss:featurename>Tamil Nadu, India</georss:featurename><georss:point>11.1271225 78.6568942</georss:point><georss:box>-17.183111336178847 43.500644199999996 39.437356336178844 113.8131442</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-8662520195327686144</id><published>2026-08-09T05:21:02.452-07:00</published><updated>2026-08-09T05:21:02.452-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Reading reflex"/><title type='text'>Reading reflex</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;title&gt;Reading Reflex&lt;/title&gt;
&lt;style&gt;
  @import url(&#39;https://fonts.googleapis.com/css2?family=Archivo+Black&amp;family=Space+Grotesk:wght@400;500;600;700&amp;display=swap&#39;);

  #rsa-root, #rsa-root * { box-sizing: border-box; }

  #rsa-root {
    --bg: #1b1035;
    --card: #2c1a54;
    --coral: #ff5d73;
    --yellow: #f4ff61;
    --mint: #6dffb3;
    --sky: #7cd7ff;
    --text: #f1ecff;
    --muted: #b7a9e0;
    --line: rgba(241,236,255,0.14);

    font-family: &#39;Space Grotesk&#39;, system-ui, -apple-system, &#39;Segoe UI&#39;, sans-serif;
    background: radial-gradient(120% 140% at 85% -10%, #3a2270 0%, var(--bg) 55%);
    color: var(--text);
    max-width: 480px;
    margin: 24px auto;
    border-radius: 22px;
    padding: 20px 18px 26px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 60px -25px rgba(0,0,0,0.6), 0 0 0 1px var(--line);
  }

  #rsa-root::before{
    content:&quot;&quot;;
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 8% 6%, rgba(124,215,255,0.10), transparent 40%),
      radial-gradient(circle at 95% 92%, rgba(255,93,115,0.10), transparent 45%);
    pointer-events:none;
  }

  #rsa-root h1, #rsa-root h2, #rsa-root h3 { margin: 0; font-family: &#39;Archivo Black&#39;, &#39;Space Grotesk&#39;, sans-serif; letter-spacing: -0.01em; }

  .rsa-eyebrow{
    display:inline-flex; align-items:center; gap:6px;
    font-size: 11px; font-weight:700; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--bg); background: var(--sky);
    padding: 5px 10px; border-radius: 999px; transform: rotate(-2deg);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.25);
  }

  .rsa-title{ font-size: 27px; line-height: 1.05; margin-top: 12px; }
  .rsa-title span{ color: var(--coral); }
  .rsa-sub{ color: var(--muted); font-size: 14px; margin-top: 8px; line-height:1.5; }

  .rsa-chiprow{ display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
  .rsa-chip{
    font-family:inherit; font-size:12.5px; font-weight:600; color: var(--text);
    background: rgba(255,255,255,0.06); border: 1px solid var(--line);
    padding: 8px 12px; border-radius: 999px; cursor:pointer; transition: all .15s ease;
  }
  .rsa-chip:hover{ background: rgba(255,255,255,0.12); }
  .rsa-chip.active{
    background: var(--sky); color:#1b1030; border-color: var(--sky);
    box-shadow: 0 4px 0 rgba(0,0,0,0.25);
  }

  .rsa-startbtn{
    margin-top: 20px; width:100%; border:none; cursor:pointer;
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size: 16px; color:#1b1030;
    background: linear-gradient(180deg, var(--mint), #4fe6a0);
    padding: 15px 18px; border-radius: 14px;
    box-shadow: 0 5px 0 #2f9d6d;
    transition: transform .08s ease;
  }
  .rsa-startbtn:active{ transform: translateY(4px); box-shadow: 0 1px 0 #2f9d6d; }

  .rsa-topics{ margin-top:16px; display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
  .rsa-topics div{
    font-size:12px; color:var(--muted); background: rgba(255,255,255,0.04);
    border:1px dashed var(--line); border-radius:10px; padding:8px 10px;
  }
  .rsa-topics b{ color: var(--text); }

  .rsa-screen{ display:none; position:relative; z-index:1; }
  .rsa-screen.active{ display:block; }

  .rsa-statbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 14px; }
  .rsa-hearts{ font-size:16px; letter-spacing:2px; }
  .rsa-hearts .lost{ opacity:0.25; filter:grayscale(1); }

  .rsa-combo{
    font-size:11.5px; font-weight:700; color:#1b1030;
    background: var(--yellow);
    padding: 5px 10px 5px 9px; border-radius: 8px;
    transform: rotate(-4deg);
    box-shadow: 2px 3px 0 rgba(0,0,0,0.25);
    opacity:0; transition: opacity .2s ease;
  }
  .rsa-combo.show{ opacity:1; }
  .rsa-combo.pulse{ animation: rsaPulse .35s ease; }
  @keyframes rsaPulse{ 0%{transform:rotate(-4deg) scale(1);} 50%{transform:rotate(-4deg) scale(1.18);} 100%{transform:rotate(-4deg) scale(1);} }

  .rsa-score{ font-size: 13px; color: var(--muted); font-weight:600; }
  .rsa-score b{ color: var(--yellow); font-size:15px; }

  .rsa-progress-track{ height:8px; border-radius:999px; background: rgba(255,255,255,0.08); overflow:hidden; margin-bottom:16px; }
  .rsa-progress-fill{ height:100%; background: linear-gradient(90deg, var(--sky), var(--mint)); border-radius:999px; transition: width .35s ease; }

  .rsa-card{ background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px; position:relative; z-index:1; }

  .rsa-skill-tag{
    display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
    color: var(--sky); border:1px solid rgba(124,215,255,0.4); padding:4px 9px; border-radius:999px;
  }

  .rsa-timer{
    float:right; font-size:11.5px; font-weight:700; color: var(--muted);
    background: rgba(255,255,255,0.06); border-radius:999px; padding:4px 10px;
  }
  .rsa-timer.low{ color: var(--coral); }

  .rsa-passage{
    margin-top:12px; font-size: 14.5px; line-height:1.65; color: var(--text);
    background: rgba(0,0,0,0.18); border-left: 3px solid var(--sky);
    border-radius: 0 10px 10px 0; padding: 12px 14px;
  }

  .rsa-prompt{ font-size: 16.5px; font-weight:700; line-height:1.4; margin-top:14px; }

  .rsa-options{ margin-top:14px; display:flex; flex-direction:column; gap:9px; }
  .rsa-opt{
    text-align:left; font-family:inherit; font-size:14px; font-weight:600; color: var(--text);
    background: rgba(255,255,255,0.05); border:1px solid var(--line); border-radius:12px;
    padding: 12px 14px; cursor:pointer; transition: all .12s ease;
  }
  .rsa-opt:hover:not(:disabled){ background: rgba(255,255,255,0.11); }
  .rsa-opt:disabled{ cursor:default; }
  .rsa-opt.correct{ background: rgba(109,255,179,0.18); border-color: var(--mint); color: var(--mint); }
  .rsa-opt.wrong{ background: rgba(255,93,115,0.18); border-color: var(--coral); color: var(--coral); }

  .rsa-feedback{ display:none; margin-top:14px; padding: 12px 14px; border-radius:12px; font-size:13.5px; line-height:1.5; }
  .rsa-feedback.show{ display:block; }
  .rsa-feedback.ok{ background: rgba(109,255,179,0.1); border:1px solid rgba(109,255,179,0.4); color: var(--mint); }
  .rsa-feedback.no{ background: rgba(255,93,115,0.1); border:1px solid rgba(255,93,115,0.4); color: var(--coral); }
  .rsa-feedback b{ color: var(--text); }

  .rsa-btn{
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size:13px; cursor:pointer; border:none; border-radius:12px;
    padding: 12px 16px; width:100%; margin-top:16px; transition: transform .08s ease; display:none;
  }
  .rsa-btn.show{ display:block; }
  .rsa-btn:active{ transform: translateY(2px); }
  .rsa-btn.next{ background: var(--mint); color:#1b1030; box-shadow: 0 4px 0 #2f9d6d; }

  .rsa-end{ text-align:center; padding: 10px 4px; }
  .rsa-badge{ display:inline-block; font-size:40px; margin-bottom: 6px; }
  .rsa-endscore{ font-family:&#39;Archivo Black&#39;, sans-serif; font-size:40px; margin-top:6px; color: var(--sky); }
  .rsa-endlabel{ color: var(--muted); font-size:13px; }
  .rsa-endgrade{
    margin-top: 14px; display:inline-block; font-weight:700; font-size:13px; color:#1b1030;
    background: var(--mint); padding: 7px 14px; border-radius:999px; transform: rotate(-2deg);
  }
  .rsa-endstats{ display:flex; gap:10px; margin-top:20px; }
  .rsa-endstats div{ flex:1; background: rgba(255,255,255,0.05); border:1px solid var(--line); border-radius:12px; padding:12px 6px; }
  .rsa-endstats b{ display:block; font-size:18px; color: var(--text); }
  .rsa-endstats span{ font-size:11px; color: var(--muted); }

  @media (prefers-reduced-motion: reduce){
    .rsa-combo, .rsa-progress-fill, .rsa-btn { transition:none !important; animation:none !important; }
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;rsa-root&quot;&gt;

  &lt;!-- START SCREEN --&gt;
  &lt;div class=&quot;rsa-screen active&quot; id=&quot;rsaScreenStart&quot;&gt;
    &lt;span class=&quot;rsa-eyebrow&quot;&gt;AZ English Learn&lt;/span&gt;
    &lt;h1 class=&quot;rsa-title&quot;&gt;Reading &lt;span&gt;Reflex&lt;/span&gt; ⚡&lt;/h1&gt;
    &lt;p class=&quot;rsa-sub&quot;&gt;Short passages, real reading skills — main idea, inference, vocabulary-in-context, tone, sequence, cause &amp;amp; effect and prediction. Read fast, answer sharp, beat the timer.&lt;/p&gt;

    &lt;div class=&quot;rsa-chiprow&quot; id=&quot;rsaChipRow&quot;&gt;&lt;/div&gt;

    &lt;button class=&quot;rsa-startbtn&quot; id=&quot;rsaStartBtn&quot;&gt;▶ Start Round&lt;/button&gt;

    &lt;div class=&quot;rsa-topics&quot;&gt;
      &lt;div&gt;&lt;b&gt;🧠 Main Idea&lt;/b&gt;&lt;br&gt;the big picture&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;🔍 Inference&lt;/b&gt;&lt;br&gt;read between lines&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;📖 Vocabulary&lt;/b&gt;&lt;br&gt;meaning in context&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;✅ Detail&lt;/b&gt;&lt;br&gt;exact facts&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;🎭 Tone&lt;/b&gt;&lt;br&gt;feel the attitude&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;🔗 Sequence &amp;amp; Cause&lt;/b&gt;&lt;br&gt;order &amp;amp; why&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- GAME SCREEN --&gt;
  &lt;div class=&quot;rsa-screen&quot; id=&quot;rsaScreenGame&quot;&gt;
    &lt;div class=&quot;rsa-statbar&quot;&gt;
      &lt;div class=&quot;rsa-hearts&quot; id=&quot;rsaHearts&quot;&gt;❤️❤️❤️&lt;/div&gt;
      &lt;div class=&quot;rsa-combo&quot; id=&quot;rsaCombo&quot;&gt;🔥 x0&lt;/div&gt;
      &lt;div class=&quot;rsa-score&quot;&gt;Score &lt;b id=&quot;rsaScore&quot;&gt;0&lt;/b&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;rsa-progress-track&quot;&gt;&lt;div class=&quot;rsa-progress-fill&quot; id=&quot;rsaProgressFill&quot; style=&quot;width:0%&quot;&gt;&lt;/div&gt;&lt;/div&gt;

    &lt;div class=&quot;rsa-card&quot;&gt;
      &lt;span class=&quot;rsa-skill-tag&quot; id=&quot;rsaSkillTag&quot;&gt;Main Idea&lt;/span&gt;
      &lt;span class=&quot;rsa-timer&quot; id=&quot;rsaTimer&quot;&gt;⏱ 25s&lt;/span&gt;
      &lt;div class=&quot;rsa-passage&quot; id=&quot;rsaPassage&quot;&gt;Loading…&lt;/div&gt;
      &lt;div class=&quot;rsa-prompt&quot; id=&quot;rsaPrompt&quot;&gt;&lt;/div&gt;
      &lt;div class=&quot;rsa-options&quot; id=&quot;rsaOptions&quot;&gt;&lt;/div&gt;
      &lt;div class=&quot;rsa-feedback&quot; id=&quot;rsaFeedback&quot;&gt;&lt;/div&gt;
      &lt;button class=&quot;rsa-btn next&quot; id=&quot;rsaNextBtn&quot;&gt;Next →&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- END SCREEN --&gt;
  &lt;div class=&quot;rsa-screen&quot; id=&quot;rsaScreenEnd&quot;&gt;
    &lt;div class=&quot;rsa-card rsa-end&quot;&gt;
      &lt;div class=&quot;rsa-badge&quot; id=&quot;rsaEndBadge&quot;&gt;🏆&lt;/div&gt;
      &lt;div class=&quot;rsa-endlabel&quot;&gt;Your score&lt;/div&gt;
      &lt;div class=&quot;rsa-endscore&quot; id=&quot;rsaEndScore&quot;&gt;0&lt;/div&gt;
      &lt;div class=&quot;rsa-endgrade&quot; id=&quot;rsaEndGrade&quot;&gt;Reading Ace&lt;/div&gt;
      &lt;div class=&quot;rsa-endstats&quot;&gt;
        &lt;div&gt;&lt;b id=&quot;rsaEndCorrect&quot;&gt;0/8&lt;/b&gt;&lt;span&gt;Correct&lt;/span&gt;&lt;/div&gt;
        &lt;div&gt;&lt;b id=&quot;rsaEndBestCombo&quot;&gt;x0&lt;/b&gt;&lt;span&gt;Best Combo&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
      &lt;button class=&quot;rsa-startbtn&quot; id=&quot;rsaRestartBtn&quot; style=&quot;margin-top:22px;&quot;&gt;↺ Play Again&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(function(){
  &quot;use strict&quot;;

  var QUESTIONS = [
    {skill:&quot;Main Idea&quot;, passage:&quot;Many students think that learning English is only about memorizing grammar rules. In reality, real fluency comes from constant practice — listening to podcasts, speaking with others, and reading daily. Grammar helps, but practice builds confidence.&quot;,
      prompt:&quot;What is the main idea of the passage?&quot;,
      options:[&quot;Grammar rules are useless&quot;,&quot;Real fluency comes mainly from consistent practice&quot;,&quot;Podcasts teach grammar best&quot;,&quot;Students should avoid speaking&quot;], answer:1,
      explain:&quot;The passage&#39;s key point is that regular practice — not just memorizing rules — builds real fluency.&quot;},

    {skill:&quot;Main Idea&quot;, passage:&quot;The city built a new park with walking trails, a small lake, and playgrounds for children. Since it opened, more families gather there on weekends, elderly residents go for morning walks, and local vendors sell snacks nearby.&quot;,
      prompt:&quot;What is this passage mainly about?&quot;,
      options:[&quot;A city park that became a popular community space&quot;,&quot;A lake that dried up&quot;,&quot;A ban on playgrounds&quot;,&quot;A new vendor law&quot;], answer:0,
      explain:&quot;Every detail supports one idea: the park has become a lively community spot.&quot;},

    {skill:&quot;Inference&quot;, passage:&quot;Priya packed her umbrella, wore a raincoat, and checked the weather app twice before leaving home.&quot;,
      prompt:&quot;What can you infer about the weather?&quot;,
      options:[&quot;It was sunny and warm&quot;,&quot;She expected rain&quot;,&quot;She was heading to the beach&quot;,&quot;It was a public holiday&quot;], answer:1,
      explain:&quot;Her actions — umbrella, raincoat, checking the app — all point to her expecting rain.&quot;},

    {skill:&quot;Inference&quot;, passage:&quot;Even though Arjun studied all night, he still couldn&#39;t answer the first three questions on the exam.&quot;,
      prompt:&quot;What can you infer from this sentence?&quot;,
      options:[&quot;The exam was very easy&quot;,&quot;Arjun did not study at all&quot;,&quot;The exam covered topics he wasn&#39;t prepared for&quot;,&quot;Arjun finished the exam early&quot;], answer:2,
      explain:&quot;Studying all night but still struggling suggests a mismatch between what he studied and what was asked.&quot;},

    {skill:&quot;Vocabulary&quot;, passage:&quot;The manager was so meticulous about the report that she checked every number three times before sending it.&quot;,
      prompt:&quot;In this sentence, &#39;meticulous&#39; most likely means:&quot;,
      options:[&quot;Careless&quot;,&quot;Extremely careful and detail-oriented&quot;,&quot;Fast&quot;,&quot;Confused&quot;], answer:1,
      explain:&quot;Checking every number three times shows extreme care and attention to detail.&quot;},

    {skill:&quot;Vocabulary&quot;, passage:&quot;After the long drought, the farmers were relieved when the rain finally arrived and revived their withered crops.&quot;,
      prompt:&quot;In this sentence, &#39;withered&#39; most likely means:&quot;,
      options:[&quot;Freshly grown&quot;,&quot;Dried up and weak&quot;,&quot;Colorful&quot;,&quot;Newly planted&quot;], answer:1,
      explain:&quot;A drought would cause crops to dry up and weaken — that&#39;s what &#39;withered&#39; describes.&quot;},

    {skill:&quot;Detail&quot;, passage:&quot;The workshop starts at 9 AM and ends at 1 PM. Lunch will not be provided, but tea and snacks will be served at 11 AM.&quot;,
      prompt:&quot;According to the passage, what is served at 11 AM?&quot;,
      options:[&quot;Lunch&quot;,&quot;Tea and snacks&quot;,&quot;Dinner&quot;,&quot;Nothing&quot;], answer:1,
      explain:&quot;The passage states tea and snacks are served at 11 AM — lunch isn&#39;t provided at all.&quot;},

    {skill:&quot;Detail&quot;, passage:&quot;The library is open from Monday to Saturday, 9 AM to 6 PM. It remains closed on Sundays and public holidays.&quot;,
      prompt:&quot;According to the passage, when is the library closed?&quot;,
      options:[&quot;Monday and Tuesday&quot;,&quot;Only on Saturdays&quot;,&quot;Sundays and public holidays&quot;,&quot;It&#39;s never closed&quot;], answer:2,
      explain:&quot;The passage directly states the library is closed on Sundays and public holidays.&quot;},

    {skill:&quot;Tone&quot;, passage:&quot;Honestly, I can&#39;t believe they cancelled the trip again. This is the third time we&#39;ve planned it, and something always goes wrong. I&#39;m losing patience.&quot;,
      prompt:&quot;What is the tone of the speaker?&quot;,
      options:[&quot;Excited&quot;,&quot;Frustrated&quot;,&quot;Indifferent&quot;,&quot;Joyful&quot;], answer:1,
      explain:&quot;Phrases like &#39;can&#39;t believe&#39; and &#39;losing patience&#39; signal frustration.&quot;},

    {skill:&quot;Tone&quot;, passage:&quot;Wow, I never imagined the results would be this good! All our hard work finally paid off — I&#39;m so proud of the whole team.&quot;,
      prompt:&quot;What is the tone of the speaker?&quot;,
      options:[&quot;Angry&quot;,&quot;Proud and excited&quot;,&quot;Bored&quot;,&quot;Sad&quot;], answer:1,
      explain:&quot;Words like &#39;never imagined this good&#39; and &#39;proud&#39; show excitement and pride.&quot;},

    {skill:&quot;Sequence&quot;, passage:&quot;First, mix the flour and sugar. Next, add the eggs and butter. After that, pour the batter into a pan. Finally, bake it for 30 minutes.&quot;,
      prompt:&quot;What should you do right after mixing the flour and sugar?&quot;,
      options:[&quot;Bake it&quot;,&quot;Add the eggs and butter&quot;,&quot;Pour into a pan&quot;,&quot;Wait 30 minutes&quot;], answer:1,
      explain:&quot;The sequence word &#39;Next&#39; shows adding eggs and butter comes right after mixing.&quot;},

    {skill:&quot;Sequence&quot;, passage:&quot;Ravi woke up early, went for a jog, took a shower, and then had breakfast before leaving for work.&quot;,
      prompt:&quot;What did Ravi do immediately after his jog?&quot;,
      options:[&quot;Had breakfast&quot;,&quot;Left for work&quot;,&quot;Took a shower&quot;,&quot;Woke up&quot;], answer:2,
      explain:&quot;The order given is: jog → shower → breakfast → work.&quot;},

    {skill:&quot;Cause &amp; Effect&quot;, passage:&quot;Because the roads were flooded after the heavy rain, the school announced a holiday for all students.&quot;,
      prompt:&quot;Why did the school announce a holiday?&quot;,
      options:[&quot;Because it was a festival&quot;,&quot;Because the roads were flooded&quot;,&quot;Because teachers were absent&quot;,&quot;Because exams had ended&quot;], answer:1,
      explain:&quot;The word &#39;Because&#39; directly links the flooded roads to the holiday announcement.&quot;},

    {skill:&quot;Cause &amp; Effect&quot;, passage:&quot;The company reduced its prices, and as a result, sales increased dramatically within a month.&quot;,
      prompt:&quot;What was the result of reducing prices?&quot;,
      options:[&quot;Sales decreased&quot;,&quot;Sales increased&quot;,&quot;Prices increased again&quot;,&quot;Nothing changed&quot;], answer:1,
      explain:&quot;&#39;As a result&#39; signals the effect: sales increased after prices dropped.&quot;},

    {skill:&quot;Prediction&quot;, passage:&quot;Dark clouds are gathering quickly, the wind has picked up, and the temperature is dropping fast.&quot;,
      prompt:&quot;Based on this passage, what will most likely happen next?&quot;,
      options:[&quot;It will get sunny&quot;,&quot;It will rain soon&quot;,&quot;It will get warmer&quot;,&quot;Nothing will change&quot;], answer:1,
      explain:&quot;Dark clouds, wind, and dropping temperature are classic signs that rain is coming.&quot;},

    {skill:&quot;Prediction&quot;, passage:&quot;The team has lost their last five matches in a row, and their star player just got injured before today&#39;s final.&quot;,
      prompt:&quot;Based on this passage, what seems most likely?&quot;,
      options:[&quot;The team is likely to face a tough match&quot;,&quot;The team will easily win&quot;,&quot;The match is cancelled&quot;,&quot;The player is fully fit&quot;], answer:0,
      explain:&quot;A losing streak plus a key injury strongly suggests a difficult match ahead.&quot;}
  ];

  var SKILLS = [&quot;All&quot;,&quot;Main Idea&quot;,&quot;Inference&quot;,&quot;Vocabulary&quot;,&quot;Detail&quot;,&quot;Tone&quot;,&quot;Sequence&quot;,&quot;Cause &amp; Effect&quot;,&quot;Prediction&quot;];
  var ROUND_LEN = 8;
  var MAX_HEARTS = 3;
  var TIME_PER_Q = 25;

  var els = {};
  [&quot;rsaScreenStart&quot;,&quot;rsaScreenGame&quot;,&quot;rsaScreenEnd&quot;,&quot;rsaChipRow&quot;,&quot;rsaStartBtn&quot;,
   &quot;rsaHearts&quot;,&quot;rsaCombo&quot;,&quot;rsaScore&quot;,&quot;rsaProgressFill&quot;,&quot;rsaSkillTag&quot;,&quot;rsaTimer&quot;,
   &quot;rsaPassage&quot;,&quot;rsaPrompt&quot;,&quot;rsaOptions&quot;,&quot;rsaFeedback&quot;,&quot;rsaNextBtn&quot;,
   &quot;rsaEndBadge&quot;,&quot;rsaEndScore&quot;,&quot;rsaEndGrade&quot;,&quot;rsaEndCorrect&quot;,&quot;rsaEndBestCombo&quot;,&quot;rsaRestartBtn&quot;
  ].forEach(function(id){ els[id] = document.getElementById(id); });

  var state = {
    category: &quot;All&quot;,
    queue: [],
    idx: 0,
    score: 0,
    streak: 0,
    bestStreak: 0,
    hearts: MAX_HEARTS,
    correct: 0,
    answered: false,
    timeLeft: TIME_PER_Q,
    timerId: null
  };

  function shuffle(arr){
    var a = arr.slice();
    for (var i = a.length - 1; i &gt; 0; i--){
      var j = Math.floor(Math.random() * (i + 1));
      var t = a[i]; a[i] = a[j]; a[j] = t;
    }
    return a;
  }

  function buildChips(){
    els.rsaChipRow.innerHTML = &quot;&quot;;
    SKILLS.forEach(function(cat){
      var chip = document.createElement(&quot;button&quot;);
      chip.className = &quot;rsa-chip&quot; + (cat === state.category ? &quot; active&quot; : &quot;&quot;);
      chip.textContent = cat;
      chip.addEventListener(&quot;click&quot;, function(){
        state.category = cat;
        buildChips();
      });
      els.rsaChipRow.appendChild(chip);
    });
  }

  function showScreen(name){
    [&quot;rsaScreenStart&quot;,&quot;rsaScreenGame&quot;,&quot;rsaScreenEnd&quot;].forEach(function(id){
      els[id].classList.toggle(&quot;active&quot;, id === name);
    });
  }

  function startRound(){
    var pool = QUESTIONS.filter(function(q){ return state.category === &quot;All&quot; || q.skill === state.category; });
    if (pool.length &lt; ROUND_LEN) pool = QUESTIONS.slice();
    state.queue = shuffle(pool).slice(0, ROUND_LEN);
    state.idx = 0;
    state.score = 0;
    state.streak = 0;
    state.bestStreak = 0;
    state.hearts = MAX_HEARTS;
    state.correct = 0;
    showScreen(&quot;rsaScreenGame&quot;);
    renderStats();
    renderQuestion();
  }

  function renderStats(){
    var hearts = &quot;&quot;;
    for (var i = 0; i &lt; MAX_HEARTS; i++){
      hearts += i &lt; state.hearts ? &quot;❤️&quot; : &quot;&lt;span class=&#39;lost&#39;&gt;❤️&lt;/span&gt;&quot;;
    }
    els.rsaHearts.innerHTML = hearts;
    els.rsaScore.innerHTML = state.score;
    if (state.streak &gt;= 2){
      els.rsaCombo.classList.add(&quot;show&quot;);
      els.rsaCombo.textContent = &quot;🔥 x&quot; + state.streak;
    } else {
      els.rsaCombo.classList.remove(&quot;show&quot;);
    }
    var pct = Math.round((state.idx / state.queue.length) * 100);
    els.rsaProgressFill.style.width = pct + &quot;%&quot;;
  }

  function currentQ(){ return state.queue[state.idx]; }

  function stopTimer(){
    if (state.timerId){ clearInterval(state.timerId); state.timerId = null; }
  }

  function startTimer(){
    stopTimer();
    state.timeLeft = TIME_PER_Q;
    updateTimerUI();
    state.timerId = setInterval(function(){
      state.timeLeft--;
      updateTimerUI();
      if (state.timeLeft &lt;= 0){
        stopTimer();
        if (!state.answered) autoTimeout();
      }
    }, 1000);
  }

  function updateTimerUI(){
    els.rsaTimer.textContent = &quot;⏱ &quot; + Math.max(0, state.timeLeft) + &quot;s&quot;;
    els.rsaTimer.classList.toggle(&quot;low&quot;, state.timeLeft &lt;= 8);
  }

  function autoTimeout(){
    state.answered = true;
    var q = currentQ();
    Array.prototype.forEach.call(els.rsaOptions.children, function(b, idx){
      b.disabled = true;
      if (idx === q.answer) b.classList.add(&quot;correct&quot;);
    });
    state.streak = 0;
    state.hearts = Math.max(0, state.hearts - 1);
    els.rsaFeedback.className = &quot;rsa-feedback no show&quot;;
    els.rsaFeedback.innerHTML = &quot;⏰ Time&#39;s up! Correct answer: &lt;b&gt;&quot; + q.options[q.answer] + &quot;&lt;/b&gt;. &quot; + q.explain;
    renderStats();
    els.rsaNextBtn.classList.add(&quot;show&quot;);
  }

  function renderQuestion(){
    state.answered = false;
    var q = currentQ();
    els.rsaSkillTag.textContent = q.skill;
    els.rsaPassage.textContent = q.passage;
    els.rsaPrompt.textContent = q.prompt;
    els.rsaFeedback.className = &quot;rsa-feedback&quot;;
    els.rsaFeedback.innerHTML = &quot;&quot;;
    els.rsaNextBtn.classList.remove(&quot;show&quot;);
    els.rsaOptions.innerHTML = &quot;&quot;;
    q.options.forEach(function(opt, i){
      var btn = document.createElement(&quot;button&quot;);
      btn.className = &quot;rsa-opt&quot;;
      btn.textContent = opt;
      btn.addEventListener(&quot;click&quot;, function(){ selectAnswer(i, btn); });
      els.rsaOptions.appendChild(btn);
    });
    renderStats();
    startTimer();
  }

  function selectAnswer(i, btnEl){
    if (state.answered) return;
    state.answered = true;
    stopTimer();
    var q = currentQ();
    var correct = (i === q.answer);
    Array.prototype.forEach.call(els.rsaOptions.children, function(b, idx){
      b.disabled = true;
      if (idx === q.answer) b.classList.add(&quot;correct&quot;);
      if (idx === i &amp;&amp; !correct) b.classList.add(&quot;wrong&quot;);
    });

    if (correct){
      state.streak++;
      state.bestStreak = Math.max(state.bestStreak, state.streak);
      var timeBonus = Math.max(0, Math.round(state.timeLeft / 5));
      state.score += 10 + (state.streak &gt;= 2 ? (state.streak - 1) * 2 : 0) + timeBonus;
      state.correct++;
      els.rsaFeedback.className = &quot;rsa-feedback ok show&quot;;
      els.rsaFeedback.innerHTML = &quot;✅ Sharp reading! &quot; + q.explain;
      els.rsaCombo.classList.add(&quot;pulse&quot;);
      setTimeout(function(){ els.rsaCombo.classList.remove(&quot;pulse&quot;); }, 360);
    } else {
      state.streak = 0;
      state.hearts = Math.max(0, state.hearts - 1);
      els.rsaFeedback.className = &quot;rsa-feedback no show&quot;;
      els.rsaFeedback.innerHTML = &quot;❌ Correct answer: &lt;b&gt;&quot; + q.options[q.answer] + &quot;&lt;/b&gt;. &quot; + q.explain;
    }
    renderStats();
    els.rsaNextBtn.classList.add(&quot;show&quot;);
  }

  els.rsaNextBtn.addEventListener(&quot;click&quot;, function(){
    if (state.hearts &lt;= 0){ endRound(); return; }
    state.idx++;
    if (state.idx &gt;= state.queue.length){ endRound(); return; }
    renderQuestion();
  });

  function endRound(){
    stopTimer();
    showScreen(&quot;rsaScreenEnd&quot;);
    els.rsaEndScore.textContent = state.score;
    els.rsaEndCorrect.textContent = state.correct + &quot;/&quot; + state.queue.length;
    els.rsaEndBestCombo.textContent = &quot;x&quot; + state.bestStreak;

    var pct = state.correct / state.queue.length;
    var badge, grade;
    if (state.hearts &lt;= 0){ badge = &quot;💀&quot;; grade = &quot;Round Over — Try Again&quot;; }
    else if (pct &gt;= 0.9){ badge = &quot;🏆&quot;; grade = &quot;Reading Ace&quot;; }
    else if (pct &gt;= 0.7){ badge = &quot;🔥&quot;; grade = &quot;Sharp Reader&quot;; }
    else if (pct &gt;= 0.5){ badge = &quot;⭐&quot;; grade = &quot;Rising Reader&quot;; }
    else { badge = &quot;🌱&quot;; grade = &quot;Keep Practicing&quot;; }
    els.rsaEndBadge.textContent = badge;
    els.rsaEndGrade.textContent = grade;
  }

  els.rsaStartBtn.addEventListener(&quot;click&quot;, startRound);
  els.rsaRestartBtn.addEventListener(&quot;click&quot;, function(){ showScreen(&quot;rsaScreenStart&quot;); });

  buildChips();
})();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/8662520195327686144/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/reading-reflex.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/8662520195327686144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/8662520195327686144'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/reading-reflex.html' title='Reading reflex'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total><georss:featurename>Tamil Nadu, India</georss:featurename><georss:point>11.1271225 78.6568942</georss:point><georss:box>-17.183111336178847 43.500644199999996 39.437356336178844 113.8131442</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-4329131281955701801</id><published>2026-08-09T05:12:53.039-07:00</published><updated>2026-08-09T05:12:53.040-07:00</updated><title type='text'>Puzzle Arcade</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;title&gt;English Puzzle Arcade&lt;/title&gt;
&lt;style&gt;
  @import url(&#39;https://fonts.googleapis.com/css2?family=Archivo+Black&amp;family=Space+Grotesk:wght@400;500;600;700&amp;display=swap&#39;);

  #epa-root, #epa-root * { box-sizing: border-box; }

  #epa-root {
    --bg: #1b1035;
    --bg2: #241548;
    --card: #2c1a54;
    --coral: #ff5d73;
    --yellow: #f4ff61;
    --mint: #6dffb3;
    --sky: #7cd7ff;
    --text: #f1ecff;
    --muted: #b7a9e0;
    --line: rgba(241,236,255,0.14);

    font-family: &#39;Space Grotesk&#39;, system-ui, -apple-system, &#39;Segoe UI&#39;, sans-serif;
    background: radial-gradient(120% 140% at 15% -10%, #3a2270 0%, var(--bg) 55%);
    color: var(--text);
    max-width: 480px;
    margin: 24px auto;
    border-radius: 22px;
    padding: 20px 18px 26px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 60px -25px rgba(0,0,0,0.6), 0 0 0 1px var(--line);
  }

  #epa-root::before{
    content:&quot;&quot;;
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 90% 8%, rgba(244,255,97,0.10), transparent 40%),
      radial-gradient(circle at 5% 90%, rgba(109,255,179,0.10), transparent 45%);
    pointer-events:none;
  }

  #epa-root h1, #epa-root h2, #epa-root h3 { margin: 0; font-family: &#39;Archivo Black&#39;, &#39;Space Grotesk&#39;, sans-serif; letter-spacing: -0.01em; }

  .epa-eyebrow{
    display:inline-flex; align-items:center; gap:6px;
    font-size: 11px; font-weight:700; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--bg); background: var(--yellow);
    padding: 5px 10px; border-radius: 999px; transform: rotate(-2deg);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.25);
  }

  .epa-title{ font-size: 28px; line-height: 1.05; margin-top: 12px; }
  .epa-title span{ color: var(--coral); }
  .epa-sub{ color: var(--muted); font-size: 14px; margin-top: 8px; line-height:1.5; }

  /* ---- Category chips ---- */
  .epa-chiprow{
    display:flex; gap:8px; flex-wrap:wrap; margin-top:18px;
  }
  .epa-chip{
    font-family:inherit; font-size:12.5px; font-weight:600; color: var(--text);
    background: rgba(255,255,255,0.06); border: 1px solid var(--line);
    padding: 8px 12px; border-radius: 999px; cursor:pointer; transition: all .15s ease;
  }
  .epa-chip:hover{ background: rgba(255,255,255,0.12); }
  .epa-chip.active{
    background: var(--coral); color:#1b1030; border-color: var(--coral);
    box-shadow: 0 4px 0 rgba(0,0,0,0.25);
  }

  .epa-startbtn{
    margin-top: 20px; width:100%; border:none; cursor:pointer;
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size: 16px; color:#1b1030;
    background: linear-gradient(180deg, var(--mint), #4fe6a0);
    padding: 15px 18px; border-radius: 14px;
    box-shadow: 0 5px 0 #2f9d6d;
    transition: transform .08s ease;
  }
  .epa-startbtn:active{ transform: translateY(4px); box-shadow: 0 1px 0 #2f9d6d; }

  .epa-topics{ margin-top:16px; display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
  .epa-topics div{
    font-size:12px; color:var(--muted); background: rgba(255,255,255,0.04);
    border:1px dashed var(--line); border-radius:10px; padding:8px 10px;
  }
  .epa-topics b{ color: var(--text); }

  /* ---- Screens ---- */
  .epa-screen{ display:none; position:relative; z-index:1; }
  .epa-screen.active{ display:block; }

  /* ---- Stats bar ---- */
  .epa-statbar{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom: 14px; position:relative; z-index:1;
  }
  .epa-hearts{ font-size:16px; letter-spacing:2px; }
  .epa-hearts .lost{ opacity:0.25; filter:grayscale(1); }

  .epa-combo{
    font-size:11.5px; font-weight:700; color:#1b1030;
    background: var(--yellow);
    padding: 5px 10px 5px 9px; border-radius: 8px;
    transform: rotate(-4deg);
    box-shadow: 2px 3px 0 rgba(0,0,0,0.25);
    opacity:0; transition: opacity .2s ease, transform .2s ease;
  }
  .epa-combo.show{ opacity:1; }
  .epa-combo.pulse{ animation: epaPulse .35s ease; }
  @keyframes epaPulse{ 0%{transform:rotate(-4deg) scale(1);} 50%{transform:rotate(-4deg) scale(1.18);} 100%{transform:rotate(-4deg) scale(1);} }

  .epa-score{ font-size: 13px; color: var(--muted); font-weight:600; }
  .epa-score b{ color: var(--yellow); font-size:15px; }

  /* ---- Progress ---- */
  .epa-progress-track{ height:8px; border-radius:999px; background: rgba(255,255,255,0.08); overflow:hidden; margin-bottom:16px; }
  .epa-progress-fill{ height:100%; background: linear-gradient(90deg, var(--coral), var(--yellow)); border-radius:999px; transition: width .35s ease; }

  /* ---- Puzzle card ---- */
  .epa-card{
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px 18px;
    position: relative; z-index:1;
  }
  .epa-topic-tag{
    display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
    color: var(--sky); border:1px solid rgba(124,215,255,0.4); padding:4px 9px; border-radius:999px;
  }
  .epa-prompt{ font-size: 18px; font-weight:600; line-height:1.45; margin-top:12px; }
  .epa-prompt em{ color: var(--yellow); font-style: normal; border-bottom: 2px dotted var(--yellow); }

  /* MCQ options */
  .epa-options{ margin-top:16px; display:flex; flex-direction:column; gap:9px; }
  .epa-opt{
    text-align:left; font-family:inherit; font-size:14.5px; font-weight:600; color: var(--text);
    background: rgba(255,255,255,0.05); border:1px solid var(--line); border-radius:12px;
    padding: 12px 14px; cursor:pointer; transition: all .12s ease;
  }
  .epa-opt:hover:not(:disabled){ background: rgba(255,255,255,0.11); }
  .epa-opt:disabled{ cursor:default; }
  .epa-opt.correct{ background: rgba(109,255,179,0.18); border-color: var(--mint); color: var(--mint); }
  .epa-opt.wrong{ background: rgba(255,93,115,0.18); border-color: var(--coral); color: var(--coral); }

  /* Scramble */
  .epa-slot{
    margin-top:16px; min-height:48px; display:flex; flex-wrap:wrap; gap:6px; align-items:center;
    background: rgba(0,0,0,0.18); border: 1px dashed var(--line); border-radius: 12px; padding: 8px 10px;
  }
  .epa-slot .placeholder{ color: var(--muted); font-size:13px; }
  .epa-tile-placed{
    font-weight:700; font-size:14px; background: rgba(244,255,97,0.14); color: var(--yellow);
    border:1px solid rgba(244,255,97,0.4); border-radius:8px; padding:7px 10px; cursor:pointer;
    text-transform: uppercase;
  }
  .epa-tilebank{ margin-top:12px; display:flex; flex-wrap:wrap; gap:7px; }
  .epa-tile{
    font-family:inherit; font-weight:700; font-size:14px; text-transform:uppercase;
    background: rgba(255,255,255,0.07); color: var(--text); border:1px solid var(--line);
    border-radius:8px; padding:9px 12px; cursor:pointer; transition: all .12s ease;
  }
  .epa-tile:hover{ background: rgba(255,255,255,0.14); transform: translateY(-2px); }
  .epa-tile:disabled{ opacity:0; pointer-events:none; }

  .epa-actionrow{ display:flex; gap:10px; margin-top:16px; }
  .epa-btn{
    font-family:&#39;Archivo Black&#39;, sans-serif; font-size:13px; cursor:pointer; border:none; border-radius:12px;
    padding: 12px 16px; flex:1; transition: transform .08s ease;
  }
  .epa-btn:active{ transform: translateY(2px); }
  .epa-btn.primary{ background: var(--coral); color:#1b1030; box-shadow: 0 4px 0 #b8384c; }
  .epa-btn.primary:disabled{ opacity:0.4; box-shadow:none; cursor:default; }
  .epa-btn.ghost{ background: rgba(255,255,255,0.06); color: var(--text); border:1px solid var(--line); flex: 0 0 auto; }
  .epa-btn.next{ background: var(--mint); color:#1b1030; box-shadow: 0 4px 0 #2f9d6d; display:none; width:100%; }
  .epa-btn.next.show{ display:block; }

  .epa-feedback{
    display:none; margin-top:14px; padding: 12px 14px; border-radius:12px; font-size:13.5px; line-height:1.5;
  }
  .epa-feedback.show{ display:block; }
  .epa-feedback.ok{ background: rgba(109,255,179,0.1); border:1px solid rgba(109,255,179,0.4); color: var(--mint); }
  .epa-feedback.no{ background: rgba(255,93,115,0.1); border:1px solid rgba(255,93,115,0.4); color: var(--coral); }
  .epa-feedback b{ color: var(--text); }

  /* ---- End screen ---- */
  .epa-end{ text-align:center; padding: 10px 4px; }
  .epa-badge{
    display:inline-block; font-size:40px; margin-bottom: 6px;
  }
  .epa-endscore{ font-family:&#39;Archivo Black&#39;, sans-serif; font-size:40px; margin-top:6px; color: var(--yellow); }
  .epa-endlabel{ color: var(--muted); font-size:13px; }
  .epa-endgrade{
    margin-top: 14px; display:inline-block; font-weight:700; font-size:13px; color:#1b1030;
    background: var(--mint); padding: 7px 14px; border-radius:999px; transform: rotate(-2deg);
  }
  .epa-endstats{ display:flex; gap:10px; margin-top:20px; }
  .epa-endstats div{ flex:1; background: rgba(255,255,255,0.05); border:1px solid var(--line); border-radius:12px; padding:12px 6px; }
  .epa-endstats b{ display:block; font-size:18px; color: var(--text); }
  .epa-endstats span{ font-size:11px; color: var(--muted); }

  @media (prefers-reduced-motion: reduce){
    .epa-combo, .epa-progress-fill, .epa-tile, .epa-btn { transition:none !important; animation:none !important; }
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;epa-root&quot;&gt;

  &lt;!-- START SCREEN --&gt;
  &lt;div class=&quot;epa-screen active&quot; id=&quot;epaScreenStart&quot;&gt;
    &lt;span class=&quot;epa-eyebrow&quot;&gt;AZ English Learn&lt;/span&gt;
    &lt;h1 class=&quot;epa-title&quot;&gt;Puzzle &lt;span&gt;Arcade&lt;/span&gt; 🎮&lt;/h1&gt;
    &lt;p class=&quot;epa-sub&quot;&gt;Tenses, vocab, idioms, phrasal verbs, synonyms &amp;amp; spelling — smash a 10-question round, keep your combo alive, and see how strong your English really is.&lt;/p&gt;

    &lt;div class=&quot;epa-chiprow&quot; id=&quot;epaChipRow&quot;&gt;&lt;/div&gt;

    &lt;button class=&quot;epa-startbtn&quot; id=&quot;epaStartBtn&quot;&gt;▶ Start Round&lt;/button&gt;

    &lt;div class=&quot;epa-topics&quot;&gt;
      &lt;div&gt;&lt;b&gt;🕒 Tenses&lt;/b&gt;&lt;br&gt;fill-in sentences&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;📚 Vocabulary&lt;/b&gt;&lt;br&gt;word meanings&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;💬 Idioms&lt;/b&gt;&lt;br&gt;real-life meaning&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;🔁 Phrasal Verbs&lt;/b&gt;&lt;br&gt;meaning + rebuild&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;⚖️ Synonyms/Antonyms&lt;/b&gt;&lt;br&gt;match the word&lt;/div&gt;
      &lt;div&gt;&lt;b&gt;✏️ Spelling&lt;/b&gt;&lt;br&gt;rebuild the word&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- GAME SCREEN --&gt;
  &lt;div class=&quot;epa-screen&quot; id=&quot;epaScreenGame&quot;&gt;
    &lt;div class=&quot;epa-statbar&quot;&gt;
      &lt;div class=&quot;epa-hearts&quot; id=&quot;epaHearts&quot;&gt;❤️❤️❤️&lt;/div&gt;
      &lt;div class=&quot;epa-combo&quot; id=&quot;epaCombo&quot;&gt;🔥 x0&lt;/div&gt;
      &lt;div class=&quot;epa-score&quot;&gt;Score &lt;b id=&quot;epaScore&quot;&gt;0&lt;/b&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;epa-progress-track&quot;&gt;&lt;div class=&quot;epa-progress-fill&quot; id=&quot;epaProgressFill&quot; style=&quot;width:0%&quot;&gt;&lt;/div&gt;&lt;/div&gt;

    &lt;div class=&quot;epa-card&quot;&gt;
      &lt;span class=&quot;epa-topic-tag&quot; id=&quot;epaTopicTag&quot;&gt;Tenses&lt;/span&gt;
      &lt;div class=&quot;epa-prompt&quot; id=&quot;epaPrompt&quot;&gt;Loading…&lt;/div&gt;

      &lt;div class=&quot;epa-options&quot; id=&quot;epaOptions&quot;&gt;&lt;/div&gt;

      &lt;div id=&quot;epaScrambleWrap&quot; style=&quot;display:none;&quot;&gt;
        &lt;div class=&quot;epa-slot&quot; id=&quot;epaSlot&quot;&gt;&lt;span class=&quot;placeholder&quot;&gt;Tap the tiles below to build your answer…&lt;/span&gt;&lt;/div&gt;
        &lt;div class=&quot;epa-tilebank&quot; id=&quot;epaTileBank&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;epa-feedback&quot; id=&quot;epaFeedback&quot;&gt;&lt;/div&gt;

      &lt;div class=&quot;epa-actionrow&quot; id=&quot;epaActionRow&quot;&gt;
        &lt;button class=&quot;epa-btn ghost&quot; id=&quot;epaClearBtn&quot; style=&quot;display:none;&quot;&gt;⌫ Clear&lt;/button&gt;
        &lt;button class=&quot;epa-btn primary&quot; id=&quot;epaCheckBtn&quot; disabled&gt;Check&lt;/button&gt;
      &lt;/div&gt;
      &lt;button class=&quot;epa-btn next&quot; id=&quot;epaNextBtn&quot;&gt;Next →&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- END SCREEN --&gt;
  &lt;div class=&quot;epa-screen&quot; id=&quot;epaScreenEnd&quot;&gt;
    &lt;div class=&quot;epa-card epa-end&quot;&gt;
      &lt;div class=&quot;epa-badge&quot; id=&quot;epaEndBadge&quot;&gt;🏆&lt;/div&gt;
      &lt;div class=&quot;epa-endlabel&quot;&gt;Your score&lt;/div&gt;
      &lt;div class=&quot;epa-endscore&quot; id=&quot;epaEndScore&quot;&gt;0&lt;/div&gt;
      &lt;div class=&quot;epa-endgrade&quot; id=&quot;epaEndGrade&quot;&gt;English Ace&lt;/div&gt;
      &lt;div class=&quot;epa-endstats&quot;&gt;
        &lt;div&gt;&lt;b id=&quot;epaEndCorrect&quot;&gt;0/10&lt;/b&gt;&lt;span&gt;Correct&lt;/span&gt;&lt;/div&gt;
        &lt;div&gt;&lt;b id=&quot;epaEndBestCombo&quot;&gt;x0&lt;/b&gt;&lt;span&gt;Best Combo&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
      &lt;button class=&quot;epa-startbtn&quot; id=&quot;epaRestartBtn&quot; style=&quot;margin-top:22px;&quot;&gt;↺ Play Again&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(function(){
  &quot;use strict&quot;;

  var QUESTIONS = [
    // ---------- TENSES (mcq) ----------
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;She ___ to the market every morning.&quot;, options:[&quot;go&quot;,&quot;goes&quot;,&quot;going&quot;,&quot;gone&quot;], answer:1, explain:&quot;Simple present with &#39;she&#39; takes the -s form: &lt;b&gt;goes&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;They ___ dinner when I called.&quot;, options:[&quot;have had&quot;,&quot;were having&quot;,&quot;are having&quot;,&quot;had&quot;], answer:1, explain:&quot;An action in progress at a past moment uses past continuous: &lt;b&gt;were having&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;By next year, I ___ my degree.&quot;, options:[&quot;will complete&quot;,&quot;will have completed&quot;,&quot;complete&quot;,&quot;completed&quot;], answer:1, explain:&quot;An action finished before a future point uses future perfect: &lt;b&gt;will have completed&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;He ___ here since 2019.&quot;, options:[&quot;lives&quot;,&quot;lived&quot;,&quot;has lived&quot;,&quot;is living&quot;], answer:2, explain:&quot;&#39;Since&#39; + an unfinished period signals present perfect: &lt;b&gt;has lived&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;We ___ TV when the power went out.&quot;, options:[&quot;watched&quot;,&quot;were watching&quot;,&quot;watch&quot;,&quot;have watched&quot;], answer:1, explain:&quot;An interrupted ongoing past action uses past continuous: &lt;b&gt;were watching&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;I ___ my homework before dinner yesterday.&quot;, options:[&quot;finished&quot;,&quot;have finished&quot;,&quot;had finished&quot;,&quot;finish&quot;], answer:2, explain:&quot;An action completed before another past action uses past perfect: &lt;b&gt;had finished&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;She ___ to Paris next week.&quot;, options:[&quot;flies&quot;,&quot;flew&quot;,&quot;is flying&quot;,&quot;has flown&quot;], answer:2, explain:&quot;Present continuous can describe a fixed future plan: &lt;b&gt;is flying&lt;/b&gt;.&quot;},
    {cat:&quot;Tenses&quot;, type:&quot;mcq&quot;, prompt:&quot;By the time you arrive, we ___ the cake.&quot;, options:[&quot;bake&quot;,&quot;will bake&quot;,&quot;will have baked&quot;,&quot;baked&quot;], answer:2, explain:&quot;Completed before a future event = future perfect: &lt;b&gt;will have baked&lt;/b&gt;.&quot;},

    // ---------- VOCABULARY (mcq) ----------
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;Which word means &#39;extremely happy&#39;?&quot;, options:[&quot;Ecstatic&quot;,&quot;Gloomy&quot;,&quot;Nervous&quot;,&quot;Bored&quot;], answer:0, explain:&quot;&lt;b&gt;Ecstatic&lt;/b&gt; = overwhelming joy or excitement.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Benevolent&#39; most nearly means:&quot;, options:[&quot;Cruel&quot;,&quot;Kind&quot;,&quot;Lazy&quot;,&quot;Rich&quot;], answer:1, explain:&quot;&lt;b&gt;Benevolent&lt;/b&gt; = kind and generous in nature.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Frugal&#39; describes someone who is:&quot;, options:[&quot;Careful with money&quot;,&quot;Wasteful&quot;,&quot;Generous&quot;,&quot;Angry&quot;], answer:0, explain:&quot;&lt;b&gt;Frugal&lt;/b&gt; = economical, avoiding waste.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Ambiguous&#39; means:&quot;, options:[&quot;Certain&quot;,&quot;Loud&quot;,&quot;Unclear&quot;,&quot;Fast&quot;], answer:2, explain:&quot;&lt;b&gt;Ambiguous&lt;/b&gt; = open to more than one interpretation.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Candid&#39; means:&quot;, options:[&quot;Secretive&quot;,&quot;Shy&quot;,&quot;Rude&quot;,&quot;Honest&quot;], answer:3, explain:&quot;&lt;b&gt;Candid&lt;/b&gt; = truthful and straightforward.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Meticulous&#39; describes someone who is:&quot;, options:[&quot;Careless&quot;,&quot;Very careful and precise&quot;,&quot;Impatient&quot;,&quot;Forgetful&quot;], answer:1, explain:&quot;&lt;b&gt;Meticulous&lt;/b&gt; = showing great attention to detail.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Resilient&#39; means:&quot;, options:[&quot;Fragile&quot;,&quot;Weak&quot;,&quot;Slow&quot;,&quot;Able to recover quickly&quot;], answer:3, explain:&quot;&lt;b&gt;Resilient&lt;/b&gt; = able to bounce back from difficulty.&quot;},
    {cat:&quot;Vocabulary&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Eloquent&#39; describes someone who:&quot;, options:[&quot;Speaks fluently and persuasively&quot;,&quot;Speaks quietly&quot;,&quot;Writes badly&quot;,&quot;Stays silent&quot;], answer:0, explain:&quot;&lt;b&gt;Eloquent&lt;/b&gt; = fluent and persuasive in speech.&quot;},

    // ---------- IDIOMS (mcq) ----------
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Break the ice&#39; means:&quot;, options:[&quot;Start a conversation easily&quot;,&quot;Literally break ice&quot;,&quot;Cause trouble&quot;,&quot;Cancel plans&quot;], answer:0, explain:&quot;To &#39;break the ice&#39; = ease tension in a social setting.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Piece of cake&#39; means:&quot;, options:[&quot;A dessert&quot;,&quot;Something very easy&quot;,&quot;A hard task&quot;,&quot;A celebration&quot;], answer:1, explain:&quot;&#39;Piece of cake&#39; = something effortless.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Hit the books&#39; means:&quot;, options:[&quot;Throw books&quot;,&quot;Study hard&quot;,&quot;Buy books&quot;,&quot;Sell books&quot;], answer:1, explain:&quot;&#39;Hit the books&#39; = to study intensely.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Under the weather&#39; means:&quot;, options:[&quot;Feeling sick&quot;,&quot;Very happy&quot;,&quot;Standing in rain&quot;,&quot;Angry&quot;], answer:0, explain:&quot;&#39;Under the weather&#39; = feeling slightly unwell.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Spill the beans&#39; means:&quot;, options:[&quot;Cook food&quot;,&quot;Reveal a secret&quot;,&quot;Make a mess&quot;,&quot;Waste money&quot;], answer:1, explain:&quot;&#39;Spill the beans&#39; = accidentally or deliberately reveal a secret.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Bite the bullet&#39; means:&quot;, options:[&quot;Face something difficult bravely&quot;,&quot;Eat quickly&quot;,&quot;Get injured&quot;,&quot;Avoid a task&quot;], answer:0, explain:&quot;&#39;Bite the bullet&#39; = endure a painful situation with courage.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;On thin ice&#39; means:&quot;, options:[&quot;Very safe&quot;,&quot;In a risky situation&quot;,&quot;Skating&quot;,&quot;Very cold&quot;], answer:1, explain:&quot;&#39;On thin ice&#39; = in a precarious or risky position.&quot;},
    {cat:&quot;Idioms&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Cost an arm and a leg&#39; means:&quot;, options:[&quot;Very cheap&quot;,&quot;Free&quot;,&quot;Very expensive&quot;,&quot;Painful&quot;], answer:2, explain:&quot;&#39;Cost an arm and a leg&#39; = extremely expensive.&quot;},

    // ---------- PHRASAL VERBS (mix) ----------
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Give up&#39; means:&quot;, options:[&quot;Stop trying&quot;,&quot;Start something&quot;,&quot;Speed up&quot;,&quot;Look for&quot;], answer:0, explain:&quot;&#39;Give up&#39; = to stop trying / quit.&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;scramble&quot;, prompt:&quot;Rebuild the phrasal verb that means: &lt;em&gt;to postpone&lt;/em&gt;&quot;, answer:&quot;put off&quot;, explain:&quot;&#39;Put off&#39; = to delay or postpone something.&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Look forward to&#39; means:&quot;, options:[&quot;Feel excited about the future&quot;,&quot;Search for something&quot;,&quot;Remember the past&quot;,&quot;Ignore&quot;], answer:0, explain:&quot;&#39;Look forward to&#39; = anticipate something with pleasure.&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;scramble&quot;, prompt:&quot;Rebuild the phrasal verb that means: &lt;em&gt;to investigate&lt;/em&gt;&quot;, answer:&quot;look into&quot;, explain:&quot;&#39;Look into&#39; = to examine or investigate.&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Run into&#39; means:&quot;, options:[&quot;Meet someone unexpectedly&quot;,&quot;Run fast&quot;,&quot;Avoid someone&quot;,&quot;Start running&quot;], answer:0, explain:&quot;&#39;Run into&#39; = to meet someone by chance.&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;scramble&quot;, prompt:&quot;Rebuild the phrasal verb that means: &lt;em&gt;to continue despite difficulty&lt;/em&gt;&quot;, answer:&quot;carry on&quot;, explain:&quot;&#39;Carry on&#39; = to continue, even when it&#39;s hard.&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;mcq&quot;, prompt:&quot;&#39;Break down&#39; means:&quot;, options:[&quot;Stop functioning / get upset&quot;,&quot;Fix something&quot;,&quot;Build something&quot;,&quot;Move away&quot;], answer:0, explain:&quot;&#39;Break down&#39; = stop working (machine) or lose composure (person).&quot;},
    {cat:&quot;Phrasal Verbs&quot;, type:&quot;scramble&quot;, prompt:&quot;Rebuild the phrasal verb that means: &lt;em&gt;to reduce in amount&lt;/em&gt;&quot;, answer:&quot;cut down&quot;, explain:&quot;&#39;Cut down&#39; = to reduce the amount of something.&quot;},

    // ---------- SYNONYMS &amp; ANTONYMS (mcq) ----------
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Synonym of &#39;Rapid&#39;:&quot;, options:[&quot;Fast&quot;,&quot;Slow&quot;,&quot;Quiet&quot;,&quot;Heavy&quot;], answer:0, explain:&quot;&#39;Rapid&#39; and &#39;fast&#39; both describe high speed.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Antonym of &#39;Generous&#39;:&quot;, options:[&quot;Kind&quot;,&quot;Stingy&quot;,&quot;Rich&quot;,&quot;Happy&quot;], answer:1, explain:&quot;&#39;Stingy&#39; is the opposite of &#39;generous&#39;.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Synonym of &#39;Tiny&#39;:&quot;, options:[&quot;Huge&quot;,&quot;Wide&quot;,&quot;Minuscule&quot;,&quot;Tall&quot;], answer:2, explain:&quot;&#39;Minuscule&#39; means extremely small, like &#39;tiny&#39;.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Antonym of &#39;Ancient&#39;:&quot;, options:[&quot;Modern&quot;,&quot;Old&quot;,&quot;Historic&quot;,&quot;Rare&quot;], answer:0, explain:&quot;&#39;Modern&#39; is the opposite of &#39;ancient&#39;.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Synonym of &#39;Brave&#39;:&quot;, options:[&quot;Fearful&quot;,&quot;Timid&quot;,&quot;Weak&quot;,&quot;Courageous&quot;], answer:3, explain:&quot;&#39;Courageous&#39; means brave, showing no fear.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Antonym of &#39;Transparent&#39;:&quot;, options:[&quot;Clear&quot;,&quot;Opaque&quot;,&quot;Bright&quot;,&quot;Thin&quot;], answer:1, explain:&quot;&#39;Opaque&#39; (not see-through) is the opposite of &#39;transparent&#39;.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Synonym of &#39;Enormous&#39;:&quot;, options:[&quot;Tiny&quot;,&quot;Average&quot;,&quot;Gigantic&quot;,&quot;Narrow&quot;], answer:2, explain:&quot;&#39;Gigantic&#39; means extremely large, like &#39;enormous&#39;.&quot;},
    {cat:&quot;Synonyms &amp; Antonyms&quot;, type:&quot;mcq&quot;, prompt:&quot;Antonym of &#39;Optimistic&#39;:&quot;, options:[&quot;Hopeful&quot;,&quot;Cheerful&quot;,&quot;Bright&quot;,&quot;Pessimistic&quot;], answer:3, explain:&quot;&#39;Pessimistic&#39; is the opposite of &#39;optimistic&#39;.&quot;},

    // ---------- SPELLING (scramble) ----------
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;needed or required&lt;/em&gt;&quot;, answer:&quot;necessary&quot;, explain:&quot;Correct spelling: &lt;b&gt;necessary&lt;/b&gt; — one &#39;c&#39;, two &#39;s&#39;.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;without doubt, for certain&lt;/em&gt;&quot;, answer:&quot;definitely&quot;, explain:&quot;Correct spelling: &lt;b&gt;definitely&lt;/b&gt; — remember &#39;finite&#39; is inside it.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;to divide or set apart&lt;/em&gt;&quot;, answer:&quot;separate&quot;, explain:&quot;Correct spelling: &lt;b&gt;separate&lt;/b&gt; — there&#39;s &#39;a rat&#39; in the middle.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;to make someone feel ashamed&lt;/em&gt;&quot;, answer:&quot;embarrass&quot;, explain:&quot;Correct spelling: &lt;b&gt;embarrass&lt;/b&gt; — double &#39;r&#39;, double &#39;s&#39;.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;to provide space or lodging for&lt;/em&gt;&quot;, answer:&quot;accommodate&quot;, explain:&quot;Correct spelling: &lt;b&gt;accommodate&lt;/b&gt; — double &#39;c&#39;, double &#39;m&#39;.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;a strong, regular pattern of sound&lt;/em&gt;&quot;, answer:&quot;rhythm&quot;, explain:&quot;Correct spelling: &lt;b&gt;rhythm&lt;/b&gt; — no vowels except &#39;y&#39;.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;your inner sense of right and wrong&lt;/em&gt;&quot;, answer:&quot;conscience&quot;, explain:&quot;Correct spelling: &lt;b&gt;conscience&lt;/b&gt; — not to be confused with &#39;conscious&#39;.&quot;},
    {cat:&quot;Spelling&quot;, type:&quot;scramble&quot;, prompt:&quot;Unscramble the word meaning: &lt;em&gt;a set of questions used in a survey&lt;/em&gt;&quot;, answer:&quot;questionnaire&quot;, explain:&quot;Correct spelling: &lt;b&gt;questionnaire&lt;/b&gt; — double &#39;n&#39;.&quot;}
  ];

  var CATEGORIES = [&quot;All&quot;,&quot;Tenses&quot;,&quot;Vocabulary&quot;,&quot;Idioms&quot;,&quot;Phrasal Verbs&quot;,&quot;Synonyms &amp; Antonyms&quot;,&quot;Spelling&quot;];
  var ROUND_LEN = 10;
  var MAX_HEARTS = 3;

  var els = {};
  [&quot;epaScreenStart&quot;,&quot;epaScreenGame&quot;,&quot;epaScreenEnd&quot;,&quot;epaChipRow&quot;,&quot;epaStartBtn&quot;,
   &quot;epaHearts&quot;,&quot;epaCombo&quot;,&quot;epaScore&quot;,&quot;epaProgressFill&quot;,&quot;epaTopicTag&quot;,&quot;epaPrompt&quot;,
   &quot;epaOptions&quot;,&quot;epaScrambleWrap&quot;,&quot;epaSlot&quot;,&quot;epaTileBank&quot;,&quot;epaFeedback&quot;,
   &quot;epaActionRow&quot;,&quot;epaClearBtn&quot;,&quot;epaCheckBtn&quot;,&quot;epaNextBtn&quot;,
   &quot;epaEndBadge&quot;,&quot;epaEndScore&quot;,&quot;epaEndGrade&quot;,&quot;epaEndCorrect&quot;,&quot;epaEndBestCombo&quot;,&quot;epaRestartBtn&quot;
  ].forEach(function(id){ els[id] = document.getElementById(id); });

  var state = {
    category: &quot;All&quot;,
    queue: [],
    idx: 0,
    score: 0,
    streak: 0,
    bestStreak: 0,
    hearts: MAX_HEARTS,
    correct: 0,
    answered: false,
    picked: []   // scramble: array of {token, tileIndex}
  };

  function shuffle(arr){
    var a = arr.slice();
    for (var i = a.length - 1; i &gt; 0; i--){
      var j = Math.floor(Math.random() * (i + 1));
      var t = a[i]; a[i] = a[j]; a[j] = t;
    }
    return a;
  }

  function buildChips(){
    els.epaChipRow.innerHTML = &quot;&quot;;
    CATEGORIES.forEach(function(cat){
      var chip = document.createElement(&quot;button&quot;);
      chip.className = &quot;epa-chip&quot; + (cat === state.category ? &quot; active&quot; : &quot;&quot;);
      chip.textContent = cat;
      chip.addEventListener(&quot;click&quot;, function(){
        state.category = cat;
        buildChips();
      });
      els.epaChipRow.appendChild(chip);
    });
  }

  function showScreen(name){
    [&quot;epaScreenStart&quot;,&quot;epaScreenGame&quot;,&quot;epaScreenEnd&quot;].forEach(function(id){
      els[id].classList.toggle(&quot;active&quot;, id === name);
    });
  }

  function startRound(){
    var pool = QUESTIONS.filter(function(q){ return state.category === &quot;All&quot; || q.cat === state.category; });
    if (pool.length &lt; ROUND_LEN) pool = QUESTIONS.slice();
    state.queue = shuffle(pool).slice(0, ROUND_LEN);
    state.idx = 0;
    state.score = 0;
    state.streak = 0;
    state.bestStreak = 0;
    state.hearts = MAX_HEARTS;
    state.correct = 0;
    showScreen(&quot;epaScreenGame&quot;);
    renderStats();
    renderQuestion();
  }

  function renderStats(){
    var hearts = &quot;&quot;;
    for (var i = 0; i &lt; MAX_HEARTS; i++){
      hearts += i &lt; state.hearts ? &quot;❤️&quot; : &quot;&lt;span class=&#39;lost&#39;&gt;❤️&lt;/span&gt;&quot;;
    }
    els.epaHearts.innerHTML = hearts;
    els.epaScore.innerHTML = state.score;
    if (state.streak &gt;= 2){
      els.epaCombo.classList.add(&quot;show&quot;);
      els.epaCombo.textContent = &quot;🔥 x&quot; + state.streak;
    } else {
      els.epaCombo.classList.remove(&quot;show&quot;);
    }
    var pct = Math.round((state.idx / state.queue.length) * 100);
    els.epaProgressFill.style.width = pct + &quot;%&quot;;
  }

  function currentQ(){ return state.queue[state.idx]; }

  function renderQuestion(){
    state.answered = false;
    state.picked = [];
    var q = currentQ();
    els.epaTopicTag.textContent = q.cat;
    els.epaPrompt.innerHTML = q.prompt;
    els.epaFeedback.className = &quot;epa-feedback&quot;;
    els.epaFeedback.innerHTML = &quot;&quot;;
    els.epaNextBtn.classList.remove(&quot;show&quot;);
    els.epaCheckBtn.disabled = true;
    els.epaCheckBtn.style.display = &quot;&quot;;
    els.epaClearBtn.style.display = &quot;none&quot;;

    if (q.type === &quot;mcq&quot;){
      els.epaOptions.style.display = &quot;&quot;;
      els.epaScrambleWrap.style.display = &quot;none&quot;;
      els.epaOptions.innerHTML = &quot;&quot;;
      els.epaCheckBtn.style.display = &quot;none&quot;;
      q.options.forEach(function(opt, i){
        var btn = document.createElement(&quot;button&quot;);
        btn.className = &quot;epa-opt&quot;;
        btn.textContent = opt;
        btn.addEventListener(&quot;click&quot;, function(){ selectMcq(i, btn); });
        els.epaOptions.appendChild(btn);
      });
    } else {
      els.epaOptions.style.display = &quot;none&quot;;
      els.epaScrambleWrap.style.display = &quot;&quot;;
      els.epaClearBtn.style.display = &quot;&quot;;
      buildScramble(q);
    }
    renderStats();
  }

  function selectMcq(i, btnEl){
    if (state.answered) return;
    state.answered = true;
    var q = currentQ();
    var correct = (i === q.answer);
    Array.prototype.forEach.call(els.epaOptions.children, function(b, idx){
      b.disabled = true;
      if (idx === q.answer) b.classList.add(&quot;correct&quot;);
      if (idx === i &amp;&amp; !correct) b.classList.add(&quot;wrong&quot;);
    });
    resolveAnswer(correct, q);
  }

  function buildScramble(q){
    var isPhrase = q.answer.indexOf(&quot; &quot;) !== -1;
    var tokens = isPhrase ? q.answer.split(&quot; &quot;) : q.answer.split(&quot;&quot;);
    var shuffled = shuffle(tokens);
    // avoid trivially-already-correct order for short sets
    var tries = 0;
    while (shuffled.join(&quot;&quot;) === tokens.join(&quot;&quot;) &amp;&amp; tries &lt; 5){ shuffled = shuffle(tokens); tries++; }

    els.epaTileBank.innerHTML = &quot;&quot;;
    shuffled.forEach(function(tok, i){
      var tile = document.createElement(&quot;button&quot;);
      tile.className = &quot;epa-tile&quot;;
      tile.textContent = tok;
      tile.dataset.idx = i;
      tile.addEventListener(&quot;click&quot;, function(){ pickTile(tok, tile, isPhrase); });
      els.epaTileBank.appendChild(tile);
    });
    renderSlot(isPhrase);
  }

  function renderSlot(isPhrase){
    if (state.picked.length === 0){
      els.epaSlot.innerHTML = &quot;&lt;span class=&#39;placeholder&#39;&gt;Tap the tiles below to build your answer…&lt;/span&gt;&quot;;
      return;
    }
    els.epaSlot.innerHTML = &quot;&quot;;
    state.picked.forEach(function(p, i){
      var chip = document.createElement(&quot;span&quot;);
      chip.className = &quot;epa-tile-placed&quot;;
      chip.textContent = p.token;
      chip.addEventListener(&quot;click&quot;, function(){ removeTile(i); });
      els.epaSlot.appendChild(chip);
    });
  }

  function pickTile(tok, tileEl, isPhrase){
    if (state.answered) return;
    tileEl.disabled = true;
    state.picked.push({token: tok, el: tileEl});
    renderSlot(isPhrase);
    var q = currentQ();
    var targetLen = isPhrase ? q.answer.split(&quot; &quot;).length : q.answer.split(&quot;&quot;).length;
    els.epaCheckBtn.disabled = state.picked.length !== targetLen;
  }

  function removeTile(i){
    if (state.answered) return;
    var removed = state.picked.splice(i, 1)[0];
    if (removed &amp;&amp; removed.el) removed.el.disabled = false;
    var q = currentQ();
    var isPhrase = q.answer.indexOf(&quot; &quot;) !== -1;
    renderSlot(isPhrase);
    var targetLen = isPhrase ? q.answer.split(&quot; &quot;).length : q.answer.split(&quot;&quot;).length;
    els.epaCheckBtn.disabled = state.picked.length !== targetLen;
  }

  els.epaClearBtn.addEventListener(&quot;click&quot;, function(){
    if (state.answered) return;
    state.picked.forEach(function(p){ if (p.el) p.el.disabled = false; });
    state.picked = [];
    var q = currentQ();
    renderSlot(q.answer.indexOf(&quot; &quot;) !== -1);
    els.epaCheckBtn.disabled = true;
  });

  els.epaCheckBtn.addEventListener(&quot;click&quot;, function(){
    if (state.answered) return;
    var q = currentQ();
    if (q.type !== &quot;scramble&quot;) return;
    state.answered = true;
    var isPhrase = q.answer.indexOf(&quot; &quot;) !== -1;
    var built = state.picked.map(function(p){ return p.token; }).join(isPhrase ? &quot; &quot; : &quot;&quot;).toLowerCase();
    var correct = built === q.answer.toLowerCase();
    Array.prototype.forEach.call(els.epaTileBank.children, function(t){ t.disabled = true; });
    els.epaCheckBtn.disabled = true;
    if (!correct){
      els.epaSlot.style.borderColor = &quot;var(--coral)&quot;;
    }
    resolveAnswer(correct, q);
  });

  function resolveAnswer(correct, q){
    if (correct){
      state.streak++;
      state.bestStreak = Math.max(state.bestStreak, state.streak);
      state.score += 10 + (state.streak &gt;= 2 ? (state.streak - 1) * 2 : 0);
      state.correct++;
      els.epaFeedback.className = &quot;epa-feedback ok show&quot;;
      els.epaFeedback.innerHTML = &quot;✅ Nailed it! &quot; + q.explain;
      els.epaCombo.classList.add(&quot;pulse&quot;);
      setTimeout(function(){ els.epaCombo.classList.remove(&quot;pulse&quot;); }, 360);
    } else {
      state.streak = 0;
      state.hearts = Math.max(0, state.hearts - 1);
      els.epaFeedback.className = &quot;epa-feedback no show&quot;;
      var correctText = q.type === &quot;mcq&quot; ? q.options[q.answer] : q.answer;
      els.epaFeedback.innerHTML = &quot;❌ Correct answer: &lt;b&gt;&quot; + correctText + &quot;&lt;/b&gt;. &quot; + q.explain;
    }
    renderStats();
    els.epaNextBtn.classList.add(&quot;show&quot;);
    els.epaCheckBtn.style.display = &quot;none&quot;;
    els.epaClearBtn.style.display = &quot;none&quot;;
  }

  els.epaNextBtn.addEventListener(&quot;click&quot;, function(){
    if (state.hearts &lt;= 0){ endRound(); return; }
    state.idx++;
    if (state.idx &gt;= state.queue.length){ endRound(); return; }
    renderQuestion();
  });

  function endRound(){
    showScreen(&quot;epaScreenEnd&quot;);
    els.epaEndScore.textContent = state.score;
    els.epaEndCorrect.textContent = state.correct + &quot;/&quot; + state.queue.length;
    els.epaEndBestCombo.textContent = &quot;x&quot; + state.bestStreak;

    var pct = state.correct / state.queue.length;
    var badge, grade;
    if (state.hearts &lt;= 0){ badge = &quot;💀&quot;; grade = &quot;Round Over — Try Again&quot;; }
    else if (pct &gt;= 0.9){ badge = &quot;🏆&quot;; grade = &quot;English Ace&quot;; }
    else if (pct &gt;= 0.7){ badge = &quot;🔥&quot;; grade = &quot;Word Wizard&quot;; }
    else if (pct &gt;= 0.5){ badge = &quot;⭐&quot;; grade = &quot;Rising Star&quot;; }
    else { badge = &quot;🌱&quot;; grade = &quot;Keep Practicing&quot;; }
    els.epaEndBadge.textContent = badge;
    els.epaEndGrade.textContent = grade;
  }

  els.epaStartBtn.addEventListener(&quot;click&quot;, startRound);
  els.epaRestartBtn.addEventListener(&quot;click&quot;, function(){ showScreen(&quot;epaScreenStart&quot;); });

  buildChips();
})();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/4329131281955701801/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/puzzle-arcade.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/4329131281955701801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/4329131281955701801'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/puzzle-arcade.html' title='Puzzle Arcade'/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total><georss:featurename>Tamil Nadu, India</georss:featurename><georss:point>11.1271225 78.6568942</georss:point><georss:box>-17.183111336178847 43.500644199999996 39.437356336178844 113.8131442</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-6280512477944871556</id><published>2026-08-09T04:21:26.742-07:00</published><updated>2026-08-09T04:21:26.788-07:00</updated><title type='text'>Past continuous tense quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Past Continuous Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. She ___ a book when I called her.&quot;,
      answers: {
        a: &#39;was reading&#39;,
        b: &#39;reads&#39;,
        c: &#39;read&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. I ___ TV at 8 PM last night.&quot;,
      answers: {
        a: &#39;was watching&#39;,
        b: &#39;watch&#39;,
        c: &#39;watched&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. They ___ football when it started raining.&quot;,
      answers: {
        a: &#39;were playing&#39;,
        b: &#39;play&#39;,
        c: &#39;played&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. He ___ not listening when the teacher explained.&quot;,
      answers: {
        a: &#39;was&#39;,
        b: &#39;were&#39;,
        c: &#39;is&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you sleeping when I called last night?&quot;,
      answers: {
        a: &#39;Was&#39;,
        b: &#39;Were&#39;,
        c: &#39;Did&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;6. We ___ dinner when the power went out.&quot;,
      answers: {
        a: &#39;were having&#39;,
        b: &#39;have&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. The baby ___ when the phone rang.&quot;,
      answers: {
        a: &#39;was sleeping&#39;,
        b: &#39;sleeps&#39;,
        c: &#39;slept&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. It ___ heavily when we left home.&quot;,
      answers: {
        a: &#39;was raining&#39;,
        b: &#39;rains&#39;,
        c: &#39;rained&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. My parents ___ TV when I came home.&quot;,
      answers: {
        a: &#39;were watching&#39;,
        b: &#39;watch&#39;,
        c: &#39;watched&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. I ___ for the bus when I saw her.&quot;,
      answers: {
        a: &#39;was waiting&#39;,
        b: &#39;wait&#39;,
        c: &#39;waited&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/6280512477944871556/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/past-continuous-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6280512477944871556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/6280512477944871556'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/past-continuous-tense-quiz.html' title='Past continuous tense quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-7313932721076163657</id><published>2026-08-09T00:45:59.653-07:00</published><updated>2026-08-09T00:45:59.653-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Future Continuous Tense Quiz"/><title type='text'>Future continuous tense quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Future Continuous Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. This time tomorrow, I ___ on a flight to London.&quot;,
      answers: {
        a: &#39;will be&#39;,
        b: &#39;am&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. She ___ dinner when you arrive tonight.&quot;,
      answers: {
        a: &#39;will be cooking&#39;,
        b: &#39;is cooking&#39;,
        c: &#39;cooked&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. At 8 PM tomorrow, they ___ the match.&quot;,
      answers: {
        a: &#39;will be watching&#39;,
        b: &#39;are watching&#39;,
        c: &#39;watched&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. I ___ not be sleeping at midnight; I&#39;ll be working.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;am&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you be attending the meeting tomorrow?&quot;,
      answers: {
        a: &#39;Will&#39;,
        b: &#39;Are&#39;,
        c: &#39;Did&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. This time next week, we ___ on vacation.&quot;,
      answers: {
        a: &#39;will be&#39;,
        b: &#39;are&#39;,
        c: &#39;were&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. He ___ his exams at this time next month.&quot;,
      answers: {
        a: &#39;will be writing&#39;,
        b: &#39;is writing&#39;,
        c: &#39;wrote&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. At 10 AM tomorrow, I ___ a meeting.&quot;,
      answers: {
        a: &#39;will be attending&#39;,
        b: &#39;am attending&#39;,
        c: &#39;attended&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. By this time tomorrow, she ___ towards Delhi.&quot;,
      answers: {
        a: &#39;will be travelling&#39;,
        b: &#39;is travelling&#39;,
        c: &#39;travelled&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. We ___ for you at the station at noon tomorrow.&quot;,
      answers: {
        a: &#39;will be waiting&#39;,
        b: &#39;are waiting&#39;,
        c: &#39;waited&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/7313932721076163657/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/future-continuous-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/7313932721076163657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/7313932721076163657'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/future-continuous-tense-quiz.html' title='Future continuous tense quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-7106894454472571118</id><published>2026-08-09T00:42:31.243-07:00</published><updated>2026-08-09T00:42:31.243-07:00</updated><title type='text'>Present continuous tense quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Present Continuous Tense Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. She ___ a letter right now.&quot;,
      answers: {
        a: &#39;is writing&#39;,
        b: &#39;writes&#39;,
        c: &#39;wrote&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. I ___ my homework at the moment.&quot;,
      answers: {
        a: &#39;do&#39;,
        b: &#39;am doing&#39;,
        c: &#39;did&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;3. They ___ football now.&quot;,
      answers: {
        a: &#39;are playing&#39;,
        b: &#39;play&#39;,
        c: &#39;played&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. He ___ not listening to me right now.&quot;,
      answers: {
        a: &#39;is&#39;,
        b: &#39;are&#39;,
        c: &#39;am&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. ___ you working on the project currently?&quot;,
      answers: {
        a: &#39;Do&#39;,
        b: &#39;Are&#39;,
        c: &#39;Is&#39;
      },
      correctAnswer: &#39;b&#39;
    },
    {
      question: &quot;6. We ___ dinner right now.&quot;,
      answers: {
        a: &#39;are having&#39;,
        b: &#39;have&#39;,
        c: &#39;had&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. The baby ___ at the moment.&quot;,
      answers: {
        a: &#39;is sleeping&#39;,
        b: &#39;sleeps&#39;,
        c: &#39;slept&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. Look! It ___ heavily.&quot;,
      answers: {
        a: &#39;is raining&#39;,
        b: &#39;rains&#39;,
        c: &#39;rained&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. My parents ___ TV right now.&quot;,
      answers: {
        a: &#39;are watching&#39;,
        b: &#39;watch&#39;,
        c: &#39;watched&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. I ___ for the bus at the moment.&quot;,
      answers: {
        a: &#39;am waiting&#39;,
        b: &#39;wait&#39;,
        c: &#39;waited&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/7106894454472571118/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/present-continuous-tense-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/7106894454472571118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/7106894454472571118'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/present-continuous-tense-quiz.html' title='Present continuous tense quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5009509283714337706.post-9061847787720506225</id><published>2026-08-09T00:41:04.100-07:00</published><updated>2026-08-09T00:41:04.100-07:00</updated><title type='text'>Simple future tense exercises quiz </title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Simple Future Tense Exercises Quiz&lt;/title&gt;
&lt;style&gt;
  body {
    font-family: sans-serif;
    text-align: center;
  }
  .question{
    font-weight: 600;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin-top: 20px;
  }
  .answers {
    margin-bottom: 20px;
    text-align: left;
    display: inline-block;
    color: #000;
  }
  .answers label{
    display: block;
    margin-bottom: 10px;
  }
  #submit{
    font-family: sans-serif;
    font-size: 20px;
    background-color: rgb(150, 0, 150);
    color: #fff;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    cursor: pointer;
    margin-bottom: 20px;
  }
  #submit:hover{
    background-color: rgb(240, 236, 12);
  }
  #submit:active {
    background-color: green;
  }
  #results {
    background-color: rgb(80, 255, 80);
    font-family: sans-serif;
    font-size: 90px;
    color: rgb(8, 8, 8);
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto 20px auto;
    display: inline-block;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;quiz&quot;&gt;&lt;/div&gt;
&lt;center&gt;&lt;button id=&quot;submit&quot;&gt;Get Results&lt;/button&gt;&lt;/center&gt;
&lt;center&gt;&lt;div id=&quot;results&quot;&gt;&lt;/div&gt;&lt;/center&gt;

&lt;script&gt;
  var myQuestions = [
    {
      question: &quot;1. I ___ finish my work tomorrow.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;am&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;2. She ___ visit her grandmother next week.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;is&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;3. They ___ arrive at 6 PM tomorrow.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;did&#39;,
        c: &#39;were&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;4. ___ you help me with this tomorrow?&quot;,
      answers: {
        a: &#39;Will&#39;,
        b: &#39;Do&#39;,
        c: &#39;Are&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;5. He ___ not come to the party tonight.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;is&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;6. We ___ travel to Goa next month.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;did&#39;,
        c: &#39;are&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;7. It ___ rain tomorrow, according to the forecast.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;is&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;8. I think she ___ pass the exam.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;did&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;9. The train ___ leave at 9 AM tomorrow.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;is&#39;,
        c: &#39;was&#39;
      },
      correctAnswer: &#39;a&#39;
    },
    {
      question: &quot;10. They ___ not attend the meeting next Monday.&quot;,
      answers: {
        a: &#39;will&#39;,
        b: &#39;do&#39;,
        c: &#39;did&#39;
      },
      correctAnswer: &#39;a&#39;
    }
  ];

  var quizContainer = document.getElementById(&#39;quiz&#39;);
  var resultsContainer = document.getElementById(&#39;results&#39;);
  var submitButton = document.getElementById(&#39;submit&#39;);

  generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);

  function generateQuiz(questions, quizContainer, resultsContainer, submitButton){

    function showQuestions(questions, quizContainer){
      var output = [];
      var answers;

      for (var i = 0; i &lt; questions.length; i++){
        answers = [];

        for (var letter in questions[i].answers){
          answers.push(
            &#39;&lt;label&gt;&#39;
              + &#39;&lt;input type=&quot;radio&quot; name=&quot;question&#39; + i + &#39;&quot; value=&quot;&#39; + letter + &#39;&quot;&gt;&#39;
              + letter + &#39;: &#39;
              + questions[i].answers[letter]
            + &#39;&lt;/label&gt;&#39;
          );
        }

        output.push(
          &#39;&lt;div class=&quot;question&quot;&gt;&#39; + questions[i].question + &#39;&lt;/div&gt;&#39;
          + &#39;&lt;div class=&quot;answers&quot;&gt;&#39; + answers.join(&#39;&#39;) + &#39;&lt;/div&gt;&#39;
        );
      }

      quizContainer.innerHTML = output.join(&#39;&#39;);
    }

    function showResults(questions, quizContainer, resultsContainer){
      var answerContainers = quizContainer.querySelectorAll(&#39;.answers&#39;);
      var userAnswer = &#39;&#39;;
      var numCorrect = 0;

      for (var i = 0; i &lt; questions.length; i++){
        userAnswer = (answerContainers[i].querySelector(&#39;input[name=question&#39; + i + &#39;]:checked&#39;) || {}).value;

        if (userAnswer === questions[i].correctAnswer){
          numCorrect++;
          answerContainers[i].style.color = &#39;lightgreen&#39;;
        } else {
          answerContainers[i].style.color = &#39;red&#39;;
        }
      }

      resultsContainer.innerHTML = numCorrect + &#39; / &#39; + questions.length;
    }

    showQuestions(questions, quizContainer);

    submitButton.onclick = function(){
      showResults(questions, quizContainer, resultsContainer);
    };
  }
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.azenglishlearn.com/feeds/9061847787720506225/comments/default' title='கருத்துரைகளை இடு'/><link rel='replies' type='text/html' href='http://www.azenglishlearn.com/2026/08/simple-future-tense-exercises-quiz.html#comment-form' title='0 கருத்துகள்'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/9061847787720506225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5009509283714337706/posts/default/9061847787720506225'/><link rel='alternate' type='text/html' href='http://www.azenglishlearn.com/2026/08/simple-future-tense-exercises-quiz.html' title='Simple future tense exercises quiz '/><author><name>English Tutor </name><uri>http://www.blogger.com/profile/07830919033467596789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRcGVPrjXiDUxRMMCmQpV-YB0gqABJlq2bnPI17VxDsZBxm5UJlW3b9MSor9a-JRFei19XAT3IBVAD1jnx3VniO-I3kynI-VKtpgAcbvKKlxR2VDOanlf-7Ajb5qcnl8g/s113/mugesh.jpg'/></author><thr:total>0</thr:total></entry></feed>