<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1" />

<title>Irregular Verbs — Flip Card Drills (30 most common)</title>

<meta name="description" content="30 common irregular verbs (incl. TO BE) with flip-card drills: Infinitive, Simple Present, Simple Past, Present Perfect — real sentences with time markers.">

<style>

  :root{

    /* Light, high-contrast palette */

    --bg:#f6f7fb; --panel:#ffffff; --card:#ffffff; --ink:#0f172a;

    --muted:#48556a; --line:#e2e8f0; --accent:#0ea5e9; --accent2:#14b8a6;

    --back:#e8fff3; --back-border:#9ae6b4;

  }

  *{box-sizing:border-box}

  html{scroll-behavior:smooth}

  body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.65}

  .wrap{max-width:1100px;margin:0 auto;padding:22px}

  header{background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(20,184,166,.08));border:1px solid var(--line);border-radius:18px;padding:22px}

  header h1{margin:0 0 8px 0;color:#0b3b66}

  header p{margin:0;color:var(--muted)}

  nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}

  .chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 12px;text-decoration:none;color:#0b3b66;font-size:.95rem}

  section{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:16px 0}

  h2{color:#0b3b66;margin:6px 0 10px}

  .muted{color:var(--muted)}

  table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden}

  th,td{border-bottom:1px solid var(--line);padding:10px 8px;vertical-align:top}

  th{background:#eef6ff;text-align:left;color:#0b3b66}

  td{background:#fff}


  /* Flip-cards */

  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}

  .card{background:transparent;border:0;padding:0;cursor:pointer}

  .flip{position:relative;height:230px;transform-style:preserve-3d;transition:transform .45s ease;touch-action:manipulation}

  .face{position:absolute;inset:0;border:1px solid var(--line);border-radius:12px;background:var(--card);

        padding:16px;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;box-shadow:0 6px 14px rgba(15,23,42,.06)}

  .back{transform:rotateY(180deg);background:var(--back);border-color:var(--back-border)}

  .title{font-size:.78rem;color:#33506e;border:1px solid var(--line);padding:2px 8px;border-radius:999px;margin-bottom:8px;align-self:flex-start;background:#f3f7fb}

  .q,.a{margin:4px 0}

  .q strong,.a strong{color:#0b3b66}

  .flipped{transform:rotateY(180deg)}

  /* No hover flip at all */

  .card:hover .flip{transform:translateZ(0)}

  /* Focus ring for keyboard users */

  .card:focus-visible .face, .card:focus .face{outline:3px solid rgba(14,165,233,.55); outline-offset:3px}


  @media print{

    body{background:#fff;color:#000}

    section,header{background:#fff;border-color:#ccc;box-shadow:none}

    .chip{display:none}

  }

</style>

</head>

<body>

<div class="wrap">

  <header>

    <h1>Irregular Verbs — Flip Card Drills</h1>

    <p>30 common irregular verbs (incl. <strong>TO BE</strong>). Click/tap a card to flip. Front = prompts with time markers; back = full sentences (Infinitive • Simple Present • Simple Past • Present Perfect).</p>

    <nav>

      <a class="chip" href="#list">Verb List</a>

      <a class="chip" href="#drill">Flip-Card Drill</a>

      <a class="chip" href="#" onclick="window.print()">Print</a>

    </nav>

  </header>


  <section id="list">

    <h2>Verb List (Base • Simple Present 3rd • Simple Past • Past Participle)</h2>

    <p class="muted">Quick reference for the drills below.</p>

    <table>

      <tr><th>Base</th><th>SPresent (3rd)</th><th>SPast</th><th>Participle (V3)</th></tr>

      <tr><td>be</td><td>is (am/are)</td><td>was/were</td><td>been</td></tr>

      <tr><td>have</td><td>has</td><td>had</td><td>had</td></tr>

      <tr><td>do</td><td>does</td><td>did</td><td>done</td></tr>

      <tr><td>say</td><td>says</td><td>said</td><td>said</td></tr>

      <tr><td>go</td><td>goes</td><td>went</td><td>gone</td></tr>

      <tr><td>get</td><td>gets</td><td>got</td><td>got/gotten</td></tr>

      <tr><td>make</td><td>makes</td><td>made</td><td>made</td></tr>

      <tr><td>know</td><td>knows</td><td>knew</td><td>known</td></tr>

      <tr><td>think</td><td>thinks</td><td>thought</td><td>thought</td></tr>

      <tr><td>take</td><td>takes</td><td>took</td><td>taken</td></tr>

      <tr><td>see</td><td>sees</td><td>saw</td><td>seen</td></tr>

      <tr><td>come</td><td>comes</td><td>came</td><td>come</td></tr>

      <tr><td>give</td><td>gives</td><td>gave</td><td>given</td></tr>

      <tr><td>find</td><td>finds</td><td>found</td><td>found</td></tr>

      <tr><td>tell</td><td>tells</td><td>told</td><td>told</td></tr>

      <tr><td>become</td><td>becomes</td><td>became</td><td>become</td></tr>

      <tr><td>show</td><td>shows</td><td>showed</td><td>shown</td></tr>

      <tr><td>leave</td><td>leaves</td><td>left</td><td>left</td></tr>

      <tr><td>feel</td><td>feels</td><td>felt</td><td>felt</td></tr>

      <tr><td>put</td><td>puts</td><td>put</td><td>put</td></tr>

      <tr><td>bring</td><td>brings</td><td>brought</td><td>brought</td></tr>

      <tr><td>begin</td><td>begins</td><td>began</td><td>begun</td></tr>

      <tr><td>keep</td><td>keeps</td><td>kept</td><td>kept</td></tr>

      <tr><td>hold</td><td>holds</td><td>held</td><td>held</td></tr>

      <tr><td>write</td><td>writes</td><td>wrote</td><td>written</td></tr>

      <tr><td>stand</td><td>stands</td><td>stood</td><td>stood</td></tr>

      <tr><td>hear</td><td>hears</td><td>heard</td><td>heard</td></tr>

      <tr><td>let</td><td>lets</td><td>let</td><td>let</td></tr>

      <tr><td>mean</td><td>means</td><td>meant</td><td>meant</td></tr>

      <tr><td>set</td><td>sets</td><td>set</td><td>set</td></tr>

    </table>

  </section>


  <section id="drill">

    <h2>Flip-Card Drill — Real Sentences</h2>

    <p class="muted">Click/tap to flip. Keyboard: focus a card and press Enter/Space.</p>

    <div class="cards" id="cards"></div>

  </section>


  <p style="text-align:center"><a class="chip" href="#top" id="top">Back to top ↑</a></p>

</div>


<script>

/* 30 cards (same content as before) */

const items = [

  {v:"be",     i:"To be patient before class is helpful.",            pr:"Every day, she is patient before class.",             pa:"Yesterday, she was very patient.",                         pp:"This week, she has been patient in every lesson."},

  {v:"have",   i:"To have a plan makes study easier.",                pr:"Every day, he has a simple plan.",                    pa:"Yesterday, he had a different plan.",                      pp:"Lately, he has had a better plan."},

  {v:"do",     i:"To do warm-ups builds fluency.",                    pr:"Every morning, she does a short warm-up.",            pa:"Yesterday, she did two warm-ups.",                         pp:"This week, she has done great warm-ups."},

  {v:"say",    i:"To say what you think improves speaking.",          pr:"Every day, he says what he thinks.",                  pa:"Yesterday, he said exactly that.",                         pp:"Already, he has said it many times."},

  {v:"go",     i:"To go to class on time matters.",                   pr:"Every day, she goes to class on time.",               pa:"Yesterday, she went to class on time.",                    pp:"This month, she has gone to class on time."},

  {v:"get",    i:"To get feedback helps you grow.",                   pr:"Every week, he gets useful feedback.",                pa:"Last week, he got detailed feedback.",                     pp:"So far, he has gotten helpful feedback."},

  {v:"make",   i:"To make notes keeps ideas fresh.",                  pr:"Every day, she makes short notes.",                   pa:"Yesterday, she made careful notes.",                       pp:"This week, she has made better notes."},

  {v:"know",   i:"To know the rules reduces mistakes.",               pr:"Every day, he knows a little more.",                  pa:"Yesterday, he knew the answer.",                           pp:"So far, he has known the basics well."},

  {v:"think",  i:"To think in English trains the brain.",             pr:"Every day, she thinks in English for five minutes.",  pa:"Yesterday, she thought in English at lunch.",              pp:"Recently, she has thought in English more often."},

  {v:"take",   i:"To take breaks prevents fatigue.",                  pr:"Every hour, he takes a short break.",                 pa:"Yesterday, he took three breaks.",                         pp:"This week, he has taken regular breaks."},

  {v:"see",    i:"To see examples clarifies grammar.",                pr:"Every lesson, she sees new examples.",                pa:"Yesterday, she saw a great example.",                      pp:"Already, she has seen many examples."},

  {v:"come",   i:"To come prepared saves time.",                      pr:"Every day, he comes prepared.",                        pa:"Yesterday, he came prepared.",                              pp:"This term, he has come very prepared."},

  {v:"give",   i:"To give reasons strengthens answers.",              pr:"Every class, she gives clear reasons.",               pa:"Yesterday, she gave a strong reason.",                     pp:"So far, she has given excellent reasons."},

  {v:"find",   i:"To find patterns boosts memory.",                   pr:"Every day, he finds small patterns.",                 pa:"Yesterday, he found a useful pattern.",                    pp:"This week, he has found several patterns."},

  {v:"tell",   i:"To tell short stories helps fluency.",              pr:"Every day, she tells a short story.",                 pa:"Yesterday, she told a funny story.",                       pp:"Recently, she has told great stories."},

  {v:"become", i:"To become confident takes practice.",               pr:"Every month, he becomes more confident.",             pa:"Last month, he became more confident.",                    pp:"Since January, he has become much more confident."},

  {v:"show",   i:"To show your work invites feedback.",               pr:"Every week, she shows her progress.",                 pa:"Last week, she showed her notes.",                         pp:"So far, she has shown steady progress."},

  {v:"leave",  i:"To leave early avoids traffic.",                    pr:"Every day, he leaves a bit early.",                   pa:"Yesterday, he left early.",                                pp:"This week, he has left earlier than usual."},

  {v:"feel",   i:"To feel relaxed improves speaking.",                pr:"Every class, she feels more relaxed.",                pa:"Yesterday, she felt relaxed.",                             pp:"Lately, she has felt more relaxed in class."},

  {v:"put",    i:"To put ideas on paper organizes thoughts.",         pr:"Every day, he puts his ideas in a notebook.",         pa:"Yesterday, he put everything on paper.",                   pp:"So far, he has put all ideas in his journal."},

  {v:"bring",  i:"To bring examples makes points clear.",             pr:"Every lesson, she brings one example.",               pa:"Yesterday, she brought two examples.",                     pp:"This week, she has brought great examples."},

  {v:"begin",  i:"To begin early reduces stress.",                    pr:"Every day, he begins on time.",                       pa:"Yesterday, he began on time.",                              pp:"This week, he has begun earlier than usual."},

  {v:"keep",   i:"To keep a journal tracks progress.",                pr:"Every day, she keeps a short journal.",               pa:"Yesterday, she kept a short journal.",                      pp:"Lately, she has kept a daily journal."},

  {v:"hold",   i:"To hold eye contact shows confidence.",             pr:"Every talk, he holds good eye contact.",              pa:"Yesterday, he held eye contact well.",                      pp:"So far, he has held eye contact naturally."},

  {v:"write",  i:"To write summaries improves recall.",               pr:"Every day, she writes a summary.",                    pa:"Yesterday, she wrote a summary.",                           pp:"Already, she has written several summaries."},

  {v:"stand",  i:"To stand up to present builds courage.",            pr:"Every week, he stands to present briefly.",           pa:"Last week, he stood and presented.",                       pp:"This year, he has stood to present many times."},

  {v:"hear",   i:"To hear native speech helps rhythm.",               pr:"Every day, she hears English on a podcast.",          pa:"Yesterday, she heard two episodes.",                        pp:"Recently, she has heard many new expressions."},

  {v:"let",    i:"To let others finish shows respect.",               pr:"Every meeting, he lets others finish.",               pa:"Yesterday, he let everyone finish.",                        pp:"So far, he has let people finish before replying."},

  {v:"mean",   i:"To mean what you say builds trust.",                pr:"Every day, she means what she says.",                 pa:"Yesterday, she meant every word.",                          pp:"Lately, she has meant her promises."},

  {v:"set",    i:"To set goals keeps you focused.",                   pr:"Every week, he sets three goals.",                    pa:"Last week, he set two goals.",                              pp:"So far, he has set clear goals each week."}

];


const container = document.getElementById('cards');

items.forEach((it, idx) => {

  const card = document.createElement('button');

  card.className = 'card';

  card.setAttribute('type','button');

  card.setAttribute('aria-label', `Card ${idx+1}: ${it.v}`);

  card.innerHTML = `

    <div class="flip" tabindex="-1">

      <div class="face front">

        <div class="title">${String(idx+1).padStart(2,'0')} • ${it.v.toUpperCase()}</div>

        <p class="q"><strong>INF (purpose):</strong> ${it.i}</p>

        <p class="q"><strong>Simple Present (habit):</strong> ${it.pr}</p>

        <p class="q"><strong>Simple Past (yesterday/last…):</strong> ${it.pa}</p>

        <p class="q"><strong>Present Perfect (this week/already…):</strong> ${it.pp}</p>

      </div>

      <div class="face back">

        <div class="title">Answer — Full sentences</div>

        <p class="a">${it.i}</p>

        <p class="a">${it.pr}</p>

        <p class="a">${it.pa}</p>

        <p class="a">${it.pp}</p>

      </div>

    </div>`;

  const f = card.querySelector('.flip');

  card.addEventListener('click', () => f.classList.toggle('flipped'));

  card.addEventListener('keydown', (e) => {

    if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); f.classList.toggle('flipped'); }

  });

  container.appendChild(card);

});

</script>

</body>

</html>