{"id":3869,"date":"2026-08-28T16:09:39","date_gmt":"2026-08-28T13:09:39","guid":{"rendered":"https:\/\/tarihkursu.com\/?p=3869"},"modified":"2026-08-28T16:16:12","modified_gmt":"2026-08-28T13:16:12","slug":"ed","status":"publish","type":"post","link":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/","title":{"rendered":"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Bu karma <strong>tarih oyunu<\/strong>, 9. s\u0131n\u0131f \u00f6\u011frencilerinin Tarihin Do\u011fas\u0131 konusunu kavramlar ve y\u00f6ntemler aras\u0131ndaki ili\u015fkiler \u00fczerinden tekrar etmesini sa\u011flar. Etkinliklerde ge\u00e7mi\u015f ile tarih aras\u0131ndaki fark, tarihin insan faaliyetlerini ele al\u0131\u015f bi\u00e7imi, tarihsel bilginin kan\u0131ta dayanmas\u0131 ve yeni belgelerle de\u011fi\u015febilmesi i\u015flenir. \u00d6\u011frenciler olay ile olguyu ay\u0131rt eder; kronolojinin neden-sonu\u00e7 ili\u015fkisi kurmadaki yerini, objektiflik ilkesini ve anakronizmden ka\u00e7\u0131nman\u0131n \u00f6nemini de\u011ferlendirir. Birinci ve ikinci elden kaynaklar, kaynak t\u00fcrleri, bilimsel ara\u015ft\u0131rma basamaklar\u0131, de\u011fi\u015fim-s\u00fcreklilik ile metafor-analoji ayr\u0131mlar\u0131 da farkl\u0131 oyun bi\u00e7imleriyle peki\u015ftirilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Paket; klasik test, do\u011fru-yanl\u0131\u015f, e\u015fle\u015ftirme, kronolojik s\u0131ralama ve grupland\u0131rma b\u00f6l\u00fcmlerinden olu\u015fur. Her b\u00f6l\u00fcmde d\u00f6rt etkinlik bulunur ve kolay, orta, zor d\u00fczeyler dengeli da\u011f\u0131t\u0131l\u0131r. Takvimlerin geli\u015fimi, tarih \u00e7a\u011flar\u0131n\u0131n s\u0131n\u0131rlar\u0131 ve tarih \u00f6ncesi devirler s\u0131ralama kartlar\u0131yla ele al\u0131n\u0131rken kaynak ve kavram s\u0131n\u0131fland\u0131rmalar\u0131 dokunmatik kullan\u0131ma uygun kartlarla \u00e7al\u0131\u015f\u0131l\u0131r. \u0130\u00e7erik s\u0131n\u0131f i\u00e7i ak\u0131ll\u0131 tahta uygulamas\u0131nda, bireysel tekrarda veya yaz\u0131l\u0131 \u00f6ncesi k\u0131sa de\u011ferlendirmede kullan\u0131labilir. Tarih oyunlar\u0131 i\u00e7inde y\u00f6ntem ve kavram bilgisini birlikte \u00f6l\u00e7en bu \u00e7al\u0131\u015fma, <strong>Wordwall tarih <\/strong>etkinliklerine alternatif bir kaynak niteli\u011findedir. <strong>Maarif Model tarih <\/strong>yakla\u015f\u0131m\u0131na uygun a\u00e7\u0131klamalar, her yan\u0131ttan sonra \u00f6\u011frencinin yanl\u0131\u015f\u0131n\u0131 fark etmesine ve do\u011fru bilgiyi kal\u0131c\u0131 bi\u00e7imde \u00f6\u011frenmesine yard\u0131mc\u0131 olur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WORDWALL TARZI TAR\u0130H OYUNUNDA NELER\u0130 TEKRAR EDECEKS\u0130N\u0130Z?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ge\u00e7mi\u015f ile tarih aras\u0131ndaki ayr\u0131m\u0131 ve tarihin kapsam\u0131n\u0131<\/li>\n\n\n\n<li>Kaynak, kan\u0131t ve tarihsel bilginin de\u011fi\u015febilirli\u011fini<\/li>\n\n\n\n<li>Olay-olgu, kronoloji, nedensellik ve ara\u015ft\u0131rma basamaklar\u0131n\u0131<\/li>\n\n\n\n<li>Objektiflik, anakronizm, de\u011fi\u015fim ve s\u00fcreklilik kavramlar\u0131n\u0131<\/li>\n\n\n\n<li>Takvimlerin geli\u015fimini, tarih \u00e7a\u011flar\u0131n\u0131 ve kaynak t\u00fcrlerini<\/li>\n<\/ul>\n\n\n\n<div id=\"tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91\" class=\"tk-shell\">\n  <div class=\"tk-noscript\" data-tk-role=\"script-warning\">Oyun y\u00fcklenemedi. WordPress JavaScript kodunu engelliyor olabilir.<\/div>\n  <div class=\"tk-error\" data-tk-role=\"error\" hidden>Oyun ba\u015flat\u0131lamad\u0131. Sayfay\u0131 yenileyip tekrar deneyin.<\/div>\n\n  <section class=\"tk-screen tk-start\" data-tk-screen=\"start\">\n    <div class=\"tk-start-card\">\n      <p class=\"tk-brand\">TarihKursu \u2022 @tarihkursu<\/p>\n      <h1 class=\"tk-title\">Tarihin Do\u011fas\u0131<\/h1>\n      <p class=\"tk-subtitle\">Klasik Test, Do\u011fru \/ Yanl\u0131\u015f, E\u015fle\u015ftirme, Kronolojik S\u0131ralama, Grupland\u0131rma<\/p>\n      <div class=\"tk-meta-row\">\n        <span class=\"tk-pill\">20 etkinlik<\/span>\n        <span class=\"tk-pill\">Karma seviye<\/span>\n        <span class=\"tk-pill\">9. s\u0131n\u0131f<\/span>\n      <\/div>\n      <button class=\"tk-button\" type=\"button\" data-tk-action=\"start\">OYUNA BA\u015eLA<\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"tk-screen tk-game\" data-tk-screen=\"game\" hidden>\n    <div class=\"tk-topbar\">\n      <div class=\"tk-progress-wrap\">\n        <div class=\"tk-progress-text\">\n          <span data-tk-role=\"progress-label\">Klasik Test, Do\u011fru \/ Yanl\u0131\u015f, E\u015fle\u015ftirme, Kronolojik S\u0131ralama, Grupland\u0131rma<\/span>\n          <span data-tk-role=\"progress-count\">0 \/ 20<\/span>\n        <\/div>\n        <div class=\"tk-progress-track\" role=\"progressbar\" aria-label=\"Oyun ilerlemesi\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"0\">\n          <div class=\"tk-progress-bar\" data-tk-role=\"progress-bar\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"tk-score\" data-tk-role=\"score\">0 puan<\/div>\n    <\/div>\n    <div class=\"tk-live\" data-tk-role=\"live\" aria-live=\"polite\"><\/div>\n    <div class=\"tk-stage\" data-tk-role=\"stage\"><\/div>\n    <div class=\"tk-feedback\" data-tk-role=\"feedback\" aria-live=\"polite\" hidden><\/div>\n  <\/section>\n\n  <section class=\"tk-screen tk-result\" data-tk-screen=\"result\" hidden>\n    <div class=\"tk-result-card\">\n      <p class=\"tk-brand\">TarihKursu<\/p>\n      <h2 class=\"tk-title\" data-tk-role=\"result-title\">Oyun tamamland\u0131<\/h2>\n      <div class=\"tk-result-grid\">\n        <div class=\"tk-stat\"><span class=\"tk-stat-value\" data-tk-role=\"result-correct\">0<\/span><span class=\"tk-stat-label\">Do\u011fru<\/span><\/div>\n        <div class=\"tk-stat\"><span class=\"tk-stat-value\" data-tk-role=\"result-wrong\">0<\/span><span class=\"tk-stat-label\">Yanl\u0131\u015f<\/span><\/div>\n        <div class=\"tk-stat\"><span class=\"tk-stat-value\" data-tk-role=\"result-percent\">%0<\/span><span class=\"tk-stat-label\">Ba\u015far\u0131<\/span><\/div>\n        <div class=\"tk-stat\"><span class=\"tk-stat-value\" data-tk-role=\"result-score\">0<\/span><span class=\"tk-stat-label\">Puan<\/span><\/div>\n      <\/div>\n      <p class=\"tk-result-message\" data-tk-role=\"result-message\"><\/p>\n      <div class=\"tk-result-actions\">\n        <button class=\"tk-button\" type=\"button\" data-tk-action=\"replay\">TEKRAR OYNA<\/button>\n        <button class=\"tk-button tk-button-secondary\" type=\"button\" data-tk-action=\"retry-wrong\">YANLI\u015eLARIMI TEKRARLA<\/button>\n        <button class=\"tk-button tk-button-secondary\" type=\"button\" data-tk-action=\"share\">SONUCUNU PAYLA\u015e<\/button>\n      <\/div>\n      <p class=\"tk-live\" data-tk-role=\"share-status\" aria-live=\"polite\"><\/p>\n    <\/div>\n  <\/section>\n<\/div>\n<style>\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 {\n  --tk-blue: #155eef;\n  --tk-blue-dark: #0b3b8f;\n  --tk-navy: #102a43;\n  --tk-ink: #19324d;\n  --tk-muted: #5d6f82;\n  --tk-surface: #ffffff;\n  --tk-soft: #edf4ff;\n  --tk-line: #c9d8eb;\n  --tk-good: #087443;\n  --tk-good-bg: #e9f8f0;\n  --tk-bad: #b42318;\n  --tk-bad-bg: #fff0ee;\n  --tk-gold: #f5b700;\n  position: relative;\n  display: block;\n  width: 100%;\n  max-width: 920px;\n  min-width: 0;\n  margin: 16px auto;\n  color: var(--tk-ink);\n  background: linear-gradient(145deg, #f7faff 0%, #edf4ff 100%);\n  border: 1px solid var(--tk-line);\n  border-radius: 24px;\n  box-shadow: 0 18px 50px rgba(16, 42, 67, 0.14);\n  overflow: hidden;\n  font-family: Arial, Helvetica, sans-serif;\n  line-height: 1.5;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 * {\n  box-sizing: border-box;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 [hidden] {\n  display: none !important;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-screen {\n  min-width: 0;\n  padding: clamp(20px, 5vw, 48px);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-start {\n  min-height: 540px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  background:\n    radial-gradient(circle at 15% 15%, rgba(21, 94, 239, 0.18), transparent 34%),\n    radial-gradient(circle at 85% 85%, rgba(245, 183, 0, 0.17), transparent 30%);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-start-card,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-card {\n  width: min(100%, 700px);\n  padding: clamp(24px, 6vw, 52px);\n  background: rgba(255, 255, 255, 0.96);\n  border: 1px solid rgba(21, 94, 239, 0.2);\n  border-radius: 24px;\n  box-shadow: 0 16px 38px rgba(16, 42, 67, 0.12);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-brand {\n  margin: 0 0 10px;\n  color: var(--tk-blue);\n  font-size: 13px;\n  font-weight: 800;\n  letter-spacing: 0.13em;\n  text-transform: uppercase;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-title {\n  margin: 0;\n  color: var(--tk-navy);\n  font-size: clamp(27px, 6vw, 46px);\n  line-height: 1.12;\n  overflow-wrap: anywhere;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-subtitle {\n  margin: 16px auto 0;\n  color: var(--tk-muted);\n  font-size: clamp(16px, 3.5vw, 20px);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-meta-row {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 10px;\n  margin: 24px 0;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-pill {\n  display: inline-flex;\n  align-items: center;\n  min-height: 36px;\n  padding: 7px 13px;\n  color: var(--tk-blue-dark);\n  background: var(--tk-soft);\n  border: 1px solid #bfd2f5;\n  border-radius: 999px;\n  font-size: 14px;\n  font-weight: 700;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button {\n  min-height: 48px;\n  padding: 12px 18px;\n  border: 2px solid transparent;\n  border-radius: 14px;\n  color: #ffffff;\n  background: var(--tk-blue);\n  box-shadow: 0 7px 16px rgba(21, 94, 239, 0.22);\n  font: inherit;\n  font-weight: 800;\n  cursor: pointer;\n  touch-action: manipulation;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button:hover {\n  background: var(--tk-blue-dark);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button:focus-visible,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-option:focus-visible,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-card-button:focus-visible,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-control:focus-visible,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box:focus-visible,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card:focus-visible,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-code:focus-visible {\n  outline: 4px solid rgba(245, 183, 0, 0.75);\n  outline-offset: 3px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button:disabled,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-option:disabled,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box:disabled,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card:disabled {\n  cursor: not-allowed;\n  opacity: 0.68;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button-secondary {\n  color: var(--tk-blue-dark);\n  background: #ffffff;\n  border-color: #9cb9e7;\n  box-shadow: none;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button-secondary:hover {\n  color: #ffffff;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-noscript,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-error {\n  margin: 14px;\n  padding: 12px 16px;\n  color: #7a271a;\n  background: #ffebe8;\n  border: 1px solid #f4b7af;\n  border-radius: 12px;\n  font-weight: 700;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-game {\n  min-height: 620px;\n  background: #f8fbff;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-topbar {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  gap: 14px;\n  align-items: center;\n  margin-bottom: 22px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-progress-wrap {\n  min-width: 0;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-progress-text {\n  display: flex;\n  justify-content: space-between;\n  gap: 12px;\n  margin-bottom: 6px;\n  color: var(--tk-muted);\n  font-size: 14px;\n  font-weight: 700;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-progress-track {\n  width: 100%;\n  height: 12px;\n  overflow: hidden;\n  background: #dbe7f7;\n  border-radius: 999px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-progress-bar {\n  width: 0;\n  height: 100%;\n  background: linear-gradient(90deg, var(--tk-blue), #55a0ff);\n  border-radius: inherit;\n  transition: width 220ms ease;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-score {\n  min-width: 112px;\n  padding: 10px 14px;\n  text-align: center;\n  color: var(--tk-blue-dark);\n  background: #ffffff;\n  border: 1px solid var(--tk-line);\n  border-radius: 14px;\n  font-weight: 800;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-stage {\n  min-width: 0;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-question-card,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-board {\n  min-width: 0;\n  padding: clamp(18px, 4vw, 32px);\n  background: #ffffff;\n  border: 1px solid var(--tk-line);\n  border-radius: 20px;\n  box-shadow: 0 12px 28px rgba(16, 42, 67, 0.08);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-category {\n  margin: 0 0 8px;\n  color: var(--tk-blue);\n  font-size: 13px;\n  font-weight: 800;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-question {\n  margin: 0 0 22px;\n  color: var(--tk-navy);\n  font-size: clamp(20px, 4vw, 28px);\n  line-height: 1.32;\n  overflow-wrap: anywhere;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-hints {\n  display: grid;\n  gap: 10px;\n  margin: 0 0 20px;\n  padding: 0;\n  list-style: none;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-hint {\n  padding: 11px 14px;\n  color: #344d67;\n  background: #f3f7fc;\n  border-left: 5px solid var(--tk-gold);\n  border-radius: 10px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-options,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-actions {\n  display: grid;\n  gap: 12px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-options {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-option,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-card-button,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-control,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-code {\n  min-height: 48px;\n  padding: 12px 14px;\n  color: var(--tk-ink);\n  background: #ffffff;\n  border: 2px solid #b9cce3;\n  border-radius: 13px;\n  font: inherit;\n  font-weight: 700;\n  text-align: left;\n  overflow-wrap: anywhere;\n  cursor: pointer;\n  touch-action: manipulation;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-option:hover,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-card-button:hover,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-control:hover,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-code:hover {\n  border-color: var(--tk-blue);\n  background: var(--tk-soft);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-option-wide {\n  grid-column: 1 \/ -1;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-card-source {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 120px;\n  margin: 0 0 22px;\n  padding: 18px;\n  color: var(--tk-navy);\n  background: linear-gradient(145deg, #eef5ff, #ffffff);\n  border: 3px dashed #8caee0;\n  border-radius: 18px;\n  font-size: 19px;\n  font-weight: 800;\n  text-align: center;\n  cursor: grab;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-card-source[aria-pressed=\"true\"] {\n  border-color: var(--tk-gold);\n  background: #fff8dc;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback {\n  margin-top: 18px;\n  padding: 18px;\n  border: 2px solid;\n  border-radius: 16px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback.tk-correct {\n  color: #064e32;\n  background: var(--tk-good-bg);\n  border-color: #69b68d;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback.tk-wrong {\n  color: #7a271a;\n  background: var(--tk-bad-bg);\n  border-color: #e69b92;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback-title {\n  margin: 0 0 8px;\n  font-size: 22px;\n  font-weight: 900;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback-text,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-explanation {\n  margin: 8px 0 0;\n  overflow-wrap: anywhere;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 16px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-list,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-timeline-list {\n  display: grid;\n  gap: 10px;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-item {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  gap: 8px;\n  align-items: center;\n  min-width: 0;\n  padding: 10px;\n  background: #f7faff;\n  border: 2px solid #c5d7ed;\n  border-radius: 14px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-item.tk-selected {\n  border-color: var(--tk-gold);\n  background: #fff9e6;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-label {\n  min-width: 0;\n  overflow-wrap: anywhere;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-buttons {\n  display: flex;\n  gap: 6px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-control {\n  min-width: 46px;\n  padding: 8px 10px;\n  text-align: center;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-position-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 7px;\n  margin-top: 14px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-position-row .tk-sort-control {\n  min-width: 44px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box-grid {\n  display: grid;\n  grid-template-columns: repeat(5, minmax(0, 1fr));\n  gap: 10px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box {\n  min-height: 74px;\n  padding: 8px;\n  color: #ffffff;\n  background: linear-gradient(145deg, #155eef, #0b3b8f);\n  border: 0;\n  border-radius: 15px;\n  box-shadow: 0 7px 14px rgba(21, 94, 239, 0.22);\n  font: inherit;\n  font-weight: 900;\n  cursor: pointer;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box.tk-box-done {\n  color: var(--tk-blue-dark);\n  background: #dce9fb;\n  box-shadow: none;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-grid {\n  display: grid;\n  grid-template-columns: repeat(5, minmax(0, 1fr));\n  gap: 9px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card {\n  min-height: 92px;\n  padding: 8px;\n  color: #ffffff;\n  background: linear-gradient(145deg, #155eef, #0b3b8f);\n  border: 2px solid #0b3b8f;\n  border-radius: 14px;\n  font: inherit;\n  font-size: 13px;\n  font-weight: 800;\n  overflow-wrap: anywhere;\n  cursor: pointer;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card.tk-open,\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card.tk-matched {\n  color: var(--tk-ink);\n  background: #ffffff;\n  border-color: var(--tk-gold);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card.tk-matched {\n  border-color: #69b68d;\n  background: var(--tk-good-bg);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-wrap {\n  display: grid;\n  justify-items: center;\n  gap: 18px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-pointer {\n  width: 0;\n  height: 0;\n  margin-bottom: -16px;\n  border-left: 18px solid transparent;\n  border-right: 18px solid transparent;\n  border-top: 34px solid var(--tk-bad);\n  position: relative;\n  z-index: 2;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel {\n  width: min(72vw, 310px);\n  aspect-ratio: 1;\n  border: 10px solid #ffffff;\n  border-radius: 50%;\n  background: conic-gradient(#155eef 0 12.5%, #f5b700 12.5% 25%, #0a7b83 25% 37.5%, #e2553d 37.5% 50%, #6236b8 50% 62.5%, #2a9d5b 62.5% 75%, #e27613 75% 87.5%, #1f4d78 87.5% 100%);\n  box-shadow: 0 15px 32px rgba(16, 42, 67, 0.22), inset 0 0 0 3px rgba(255, 255, 255, 0.55);\n  transition: transform 620ms cubic-bezier(.2,.75,.2,1);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-button {\n  margin-top: -190px;\n  margin-bottom: 105px;\n  position: relative;\n  z-index: 2;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-codes {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 7px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel-code {\n  min-height: 44px;\n  padding: 7px 10px;\n  font-size: 13px;\n  text-align: center;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-input {\n  width: 100%;\n  min-height: 50px;\n  padding: 12px 14px;\n  color: var(--tk-ink);\n  background: #ffffff;\n  border: 2px solid #b9cce3;\n  border-radius: 13px;\n  font: inherit;\n  font-size: 18px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-input:focus {\n  border-color: var(--tk-blue);\n  outline: 4px solid rgba(21, 94, 239, 0.16);\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result {\n  min-height: 560px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-grid {\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 10px;\n  margin: 24px 0;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-stat {\n  padding: 14px 8px;\n  background: #f3f7fc;\n  border: 1px solid var(--tk-line);\n  border-radius: 14px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-stat-value {\n  display: block;\n  color: var(--tk-navy);\n  font-size: 25px;\n  font-weight: 900;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-stat-label {\n  color: var(--tk-muted);\n  font-size: 13px;\n  font-weight: 700;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-message {\n  margin: 12px 0 0;\n  color: var(--tk-blue-dark);\n  font-size: 23px;\n  font-weight: 900;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-actions {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 10px;\n}\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-live {\n  min-height: 28px;\n  margin: 12px 0;\n  font-weight: 800;\n}\n\n@media (max-width: 640px) {\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 {\n    margin: 8px auto;\n    border-radius: 16px;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-screen {\n    padding: 18px 14px;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-start {\n    min-height: 500px;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-start-card,\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-card {\n    padding: 25px 16px;\n    border-radius: 18px;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-topbar {\n    grid-template-columns: minmax(0, 1fr);\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-score {\n    width: 100%;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-options {\n    grid-template-columns: minmax(0, 1fr);\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-option-wide {\n    grid-column: auto;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-item {\n    grid-template-columns: minmax(0, 1fr);\n    align-items: stretch;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-label {\n    width: 100%;\n    overflow-wrap: break-word;\n    word-break: normal;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-sort-buttons {\n    justify-content: flex-end;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box-grid,\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-grid {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-card {\n    min-height: 82px;\n    font-size: 12px;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-feedback-actions,\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-result-actions {\n    display: grid;\n  }\n\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-button {\n    width: 100%;\n  }\n}\n\n@media (max-width: 370px) {\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-box-grid,\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-memory-grid {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-progress-bar,\n  #tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-wheel {\n    transition-duration: 1ms;\n  }\n}\n\n\n#tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91 .tk-subtitle { max-width: 720px; }\n<\/style>\n<script>\n(function () {\n  'use strict';\n\n  var ROOT_ID = \"tk-game-tarihin-dogasi-karma-tarih-oyunu-4c91\";\n  var DATA = {\"slug\":\"tarihin-dogasi-karma-tarih-oyunu\",\"title\":\"Tarihin Do\u011fas\u0131\",\"gameType\":\"Klasik Test, Do\u011fru \/ Yanl\u0131\u015f, E\u015fle\u015ftirme, Kronolojik S\u0131ralama, Grupland\u0131rma\",\"shortGameType\":\"Karma Tarih Oyunu\",\"kind\":\"mixed\",\"grade\":\"9-sinif\",\"gradeLabel\":\"9. s\u0131n\u0131f\",\"count\":20,\"maxScore\":290,\"sections\":[{\"label\":\"Klasik Test\",\"kind\":\"quiz\"},{\"label\":\"Do\u011fru \/ Yanl\u0131\u015f\",\"kind\":\"truefalse\"},{\"label\":\"E\u015fle\u015ftirme\",\"kind\":\"match\"},{\"label\":\"Kronolojik S\u0131ralama\",\"kind\":\"order\"},{\"label\":\"Grupland\u0131rma\",\"kind\":\"group\"}],\"items\":[{\"id\":\"S01\",\"type\":\"Klasik Test\",\"kind\":\"quiz\",\"category\":\"Tarihin konusu ve kapsam\u0131\",\"difficulty\":\"Kolay\",\"points\":10,\"question\":\"A\u015fa\u011f\u0131daki ara\u015ft\u0131rmalardan hangisi, insan \u00fczerindeki sonu\u00e7lar\u0131 nedeniyle tarihin kapsam\u0131na girer?\",\"hints\":[],\"correctText\":\"Kurakl\u0131\u011f\u0131n toplumsal g\u00f6\u00e7lere etkisinin ara\u015ft\u0131r\u0131lmas\u0131\",\"explanation\":\"Do\u011fa olay\u0131n\u0131n fiziksel olu\u015fumu do\u011fa bilimlerinin alan\u0131d\u0131r. Kurakl\u0131\u011f\u0131n g\u00f6\u00e7lere ve toplumlara etkisi ise insan ya\u015fam\u0131ndaki sonu\u00e7lar\u0131 nedeniyle tarihin konusu olabilir.\",\"acceptedAnswers\":[],\"answerText\":\"A\",\"options\":[{\"id\":\"A\",\"text\":\"Kurakl\u0131\u011f\u0131n toplumsal g\u00f6\u00e7lere etkisinin ara\u015ft\u0131r\u0131lmas\u0131\"},{\"id\":\"B\",\"text\":\"Buzullar\u0131n yery\u00fcz\u00fc \u015fekillerine etkisinin ara\u015ft\u0131r\u0131lmas\u0131\"},{\"id\":\"C\",\"text\":\"Volkanlar\u0131n yer kabu\u011funa etkisinin ara\u015ft\u0131r\u0131lmas\u0131\"},{\"id\":\"D\",\"text\":\"Ku\u015flar\u0131n mevsimsel g\u00f6\u00e7lerine etkisinin ara\u015ft\u0131r\u0131lmas\u0131\"}],\"correctOptionId\":\"A\",\"responseMode\":\"choice\"},{\"id\":\"S02\",\"type\":\"Klasik Test\",\"kind\":\"quiz\",\"category\":\"Ge\u00e7mi\u015f ve tarih ayr\u0131m\u0131\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Ge\u00e7mi\u015fte ya\u015fanm\u0131\u015f bir geli\u015fmenin tarihsel bilgiye d\u00f6n\u00fc\u015fmesi i\u00e7in hangi i\u015flem zorunludur?\",\"hints\":[],\"correctText\":\"Kaynaklar\u0131n y\u00f6ntemle incelenip birlikte yorumlanmas\u0131\",\"explanation\":\"Ge\u00e7mi\u015f ya\u015fanm\u0131\u015f olanlar\u0131n tamam\u0131d\u0131r. Tarih, ge\u00e7mi\u015ften kalan kaynaklar\u0131 bilimsel y\u00f6ntemle inceleyip yorumlayarak tarihsel bilgi \u00fcretir.\",\"acceptedAnswers\":[],\"answerText\":\"B\",\"options\":[{\"id\":\"A\",\"text\":\"Olay\u0131n yaln\u0131zca kronolojik s\u0131raya g\u00f6re konulmas\u0131\"},{\"id\":\"B\",\"text\":\"Kaynaklar\u0131n y\u00f6ntemle incelenip birlikte yorumlanmas\u0131\"},{\"id\":\"C\",\"text\":\"Geli\u015fmenin laboratuvar ortam\u0131nda yeniden olu\u015fturulmas\u0131\"},{\"id\":\"D\",\"text\":\"Tan\u0131kl\u0131klar\u0131n ele\u015ftirilmeden bir arada kullan\u0131lmas\u0131\"}],\"correctOptionId\":\"B\",\"responseMode\":\"choice\"},{\"id\":\"S03\",\"type\":\"Klasik Test\",\"kind\":\"quiz\",\"category\":\"Olay ve olgu\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"A\u015fa\u011f\u0131daki s\u0131n\u0131fland\u0131rmalardan hangisi s\u00fcre ve kapsam \u00f6l\u00e7\u00fctlerine uygundur?\",\"hints\":[],\"correctText\":\"\u0130stanbul'un Fethi olay, Anadolu'nun T\u00fcrkle\u015fmesi olgu olarak s\u0131n\u0131fland\u0131r\u0131l\u0131r\",\"explanation\":\"\u0130stanbul'un Fethi, yeri ve zaman\u0131 belirli k\u0131sa s\u00fcreli bir olayd\u0131r. Anadolu'nun T\u00fcrkle\u015fmesi ise uzun s\u00fcrede olu\u015fan, genel nitelikli bir olgudur.\",\"acceptedAnswers\":[],\"answerText\":\"C\",\"options\":[{\"id\":\"A\",\"text\":\"\u015eehirle\u015fmenin yay\u0131lmas\u0131 olay, Hicret ise olgu olarak s\u0131n\u0131fland\u0131r\u0131l\u0131r\"},{\"id\":\"B\",\"text\":\"Bat\u0131l\u0131la\u015fma hareketi olay, Tanzimat Ferman\u0131 olgu olarak s\u0131n\u0131fland\u0131r\u0131l\u0131r\"},{\"id\":\"C\",\"text\":\"\u0130stanbul'un Fethi olay, Anadolu'nun T\u00fcrkle\u015fmesi olgu olarak s\u0131n\u0131fland\u0131r\u0131l\u0131r\"},{\"id\":\"D\",\"text\":\"Sanayile\u015fmenin geli\u015fimi olay, Malazgirt Sava\u015f\u0131 olgu olarak s\u0131n\u0131fland\u0131r\u0131l\u0131r\"}],\"correctOptionId\":\"C\",\"responseMode\":\"choice\"},{\"id\":\"S04\",\"type\":\"Klasik Test\",\"kind\":\"quiz\",\"category\":\"Objektiflik ve anakronizm\",\"difficulty\":\"Zor\",\"points\":20,\"question\":\"Bir ara\u015ft\u0131rmac\u0131, Orta \u00c7a\u011f'daki bir uygulamay\u0131 d\u00f6nemin ko\u015fullar\u0131n\u0131 incelemeden yaln\u0131z g\u00fcn\u00fcm\u00fcz de\u011ferleriyle yarg\u0131l\u0131yor. Bu yakla\u015f\u0131m hangisidir?\",\"hints\":[],\"correctText\":\"Ge\u00e7mi\u015fe anakronik \u00f6l\u00e7\u00fctlerle yakla\u015fma\",\"explanation\":\"Ge\u00e7mi\u015fi bug\u00fcn\u00fcn de\u011ferleriyle yarg\u0131lamak anakronizmdir. Tarih\u00ee geli\u015fmeler kendi d\u00f6nemlerinin inan\u00e7, bilgi, ekonomi ve toplum \u015fartlar\u0131 i\u00e7inde de\u011ferlendirilmelidir.\",\"acceptedAnswers\":[],\"answerText\":\"D\",\"options\":[{\"id\":\"A\",\"text\":\"Kaynaklar\u0131 kar\u015f\u0131la\u015ft\u0131rmal\u0131 de\u011ferlendirme\"},{\"id\":\"B\",\"text\":\"Olgular\u0131 kronolojik olarak s\u0131n\u0131fland\u0131rma\"},{\"id\":\"C\",\"text\":\"Kan\u0131tlar\u0131 nesnel bi\u00e7imde yorumlama\"},{\"id\":\"D\",\"text\":\"Ge\u00e7mi\u015fe anakronik \u00f6l\u00e7\u00fctlerle yakla\u015fma\"}],\"correctOptionId\":\"D\",\"responseMode\":\"choice\"},{\"id\":\"S05\",\"type\":\"Do\u011fru \/ Yanl\u0131\u015f\",\"kind\":\"truefalse\",\"category\":\"Tarihsel bilginin de\u011fi\u015febilirli\u011fi\",\"difficulty\":\"Kolay\",\"points\":10,\"question\":\"Yeni belgeler ve bulgular, daha \u00f6nce kabul edilen tarihsel bilgilerin yeniden de\u011ferlendirilmesini sa\u011flayabilir.\",\"hints\":[],\"correctText\":\"Tarihsel bilgi, yeni kan\u0131tlarla geli\u015febilir ve de\u011fi\u015febilir.\",\"explanation\":\"Tarih\u00e7i ge\u00e7mi\u015fin kendisine de\u011fil, ge\u00e7mi\u015ften kalan izlere ula\u015f\u0131r. Yeni kan\u0131tlar \u00f6nceki yorumlar\u0131n g\u00f6zden ge\u00e7irilmesini sa\u011flayabilir.\",\"acceptedAnswers\":[],\"answerText\":\"Do\u011fru\",\"options\":[{\"id\":\"Do\u011fru\",\"text\":\"Do\u011fru\"},{\"id\":\"Yanl\u0131\u015f\",\"text\":\"Yanl\u0131\u015f\"}]},{\"id\":\"S06\",\"type\":\"Do\u011fru \/ Yanl\u0131\u015f\",\"kind\":\"truefalse\",\"category\":\"Birinci elden kaynaklar\",\"difficulty\":\"Kolay\",\"points\":10,\"question\":\"Bir kayna\u011f\u0131n olay\u0131n ya\u015fand\u0131\u011f\u0131 d\u00f6neme ait olmas\u0131, o kayna\u011f\u0131 ele\u015ftiri s\u00fczgecinden ge\u00e7irmeyi gereksiz k\u0131lar.\",\"hints\":[],\"correctText\":\"Birinci elden kaynaklar da do\u011fruluk, ba\u011flam ve tarafl\u0131l\u0131k bak\u0131m\u0131ndan ele\u015ftirilmelidir.\",\"explanation\":\"D\u00f6neme ait olmak kayna\u011f\u0131n de\u011ferini art\u0131rabilir; ancak yazar\u0131n amac\u0131, tarafl\u0131l\u0131\u011f\u0131, \u00f6zg\u00fcnl\u00fc\u011f\u00fc ve ba\u015fka kaynaklarla uyumu yine incelenir.\",\"acceptedAnswers\":[],\"answerText\":\"Yanl\u0131\u015f\",\"options\":[{\"id\":\"Do\u011fru\",\"text\":\"Do\u011fru\"},{\"id\":\"Yanl\u0131\u015f\",\"text\":\"Yanl\u0131\u015f\"}]},{\"id\":\"S07\",\"type\":\"Do\u011fru \/ Yanl\u0131\u015f\",\"kind\":\"truefalse\",\"category\":\"Kronoloji ve nedensellik\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kronolojik s\u0131ralama, olaylar\u0131n \u00f6ncelik-sonral\u0131k ba\u011f\u0131n\u0131 g\u00f6sterir; fakat tek ba\u015f\u0131na tarihsel a\u00e7\u0131klama i\u00e7in yeterli de\u011fildir.\",\"hints\":[],\"correctText\":\"Kronoloji ard\u0131\u015f\u0131kl\u0131\u011f\u0131 g\u00f6sterir; a\u00e7\u0131klama i\u00e7in neden, sonu\u00e7 ve ili\u015fkiler de analiz edilmelidir.\",\"explanation\":\"Tarih yaln\u0131z olaylar\u0131 s\u0131raya koymaz. Kronoloji, neden-sonu\u00e7 ili\u015fkisini kurmaya yard\u0131mc\u0131 olan bir ara\u00e7t\u0131r.\",\"acceptedAnswers\":[],\"answerText\":\"Do\u011fru\",\"options\":[{\"id\":\"Do\u011fru\",\"text\":\"Do\u011fru\"},{\"id\":\"Yanl\u0131\u015f\",\"text\":\"Yanl\u0131\u015f\"}]},{\"id\":\"S08\",\"type\":\"Do\u011fru \/ Yanl\u0131\u015f\",\"kind\":\"truefalse\",\"category\":\"Tarih ve do\u011fa bilimleri\",\"difficulty\":\"Zor\",\"points\":20,\"question\":\"Tarihsel olaylar\u0131n laboratuvarda tekrarlanamamas\u0131, tarihin sistemli y\u00f6ntem ve kaynak ele\u015ftirisi kullanmad\u0131\u011f\u0131n\u0131 g\u00f6sterir.\",\"hints\":[],\"correctText\":\"Tarih deneyle tekrar edilemeyen olaylar\u0131 kaynak, kan\u0131t ve bilimsel y\u00f6ntemle inceler.\",\"explanation\":\"Tarihsel olaylar\u0131n biricik olmas\u0131 deneysel tekrar\u0131 engeller. Bu durum tarihin kaynak ele\u015ftirisi, kar\u015f\u0131la\u015ft\u0131rma, analiz ve sentez kullanmas\u0131na engel de\u011fildir.\",\"acceptedAnswers\":[],\"answerText\":\"Yanl\u0131\u015f\",\"options\":[{\"id\":\"Do\u011fru\",\"text\":\"Do\u011fru\"},{\"id\":\"Yanl\u0131\u015f\",\"text\":\"Yanl\u0131\u015f\"}]},{\"id\":\"S09\",\"type\":\"E\u015fle\u015ftirme\",\"kind\":\"match\",\"category\":\"Metafor\",\"difficulty\":\"Kolay\",\"points\":10,\"question\":\"Kavram\u0131 uygun a\u00e7\u0131klamayla e\u015fle\u015ftiriniz.\",\"hints\":[\"\u015eiirsel ve sanatsal anlat\u0131m y\u00f6n\u00fcn\u00fc d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"Metafor, hayal\u00ee ba\u011flant\u0131yla etkileyici anlat\u0131m ile e\u015fle\u015fir.\",\"explanation\":\"Metafor, iki unsur aras\u0131nda hayal\u00ee bir ba\u011flant\u0131 kurarak duygu ve etkiyi g\u00fc\u00e7lendirir.\",\"acceptedAnswers\":[],\"answerText\":\"Metafor \u2194 Hayal\u00ee ba\u011flant\u0131yla etkileyici anlat\u0131m\",\"left\":\"Metafor\",\"right\":\"Hayal\u00ee ba\u011flant\u0131yla etkileyici anlat\u0131m\"},{\"id\":\"S10\",\"type\":\"E\u015fle\u015ftirme\",\"kind\":\"match\",\"category\":\"Analoji\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kavram\u0131 uygun a\u00e7\u0131klamayla e\u015fle\u015ftiriniz.\",\"hints\":[\"Karma\u015f\u0131k bir konuyu sadele\u015ftirme i\u015flevini d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"Analoji, mant\u0131ksal benzerlikle anla\u015f\u0131l\u0131r a\u00e7\u0131klama ile e\u015fle\u015fir.\",\"explanation\":\"Analoji, iki farkl\u0131 \u015fey aras\u0131ndaki mant\u0131ksal benzerlikten yararlanarak karma\u015f\u0131k bir konuyu anla\u015f\u0131l\u0131r h\u00e2le getirir.\",\"acceptedAnswers\":[],\"answerText\":\"Analoji \u2194 Mant\u0131ksal benzerlikle anla\u015f\u0131l\u0131r a\u00e7\u0131klama\",\"left\":\"Analoji\",\"right\":\"Mant\u0131ksal benzerlikle anla\u015f\u0131l\u0131r a\u00e7\u0131klama\"},{\"id\":\"S11\",\"type\":\"E\u015fle\u015ftirme\",\"kind\":\"match\",\"category\":\"De\u011fi\u015fim\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kavram\u0131 uygun a\u00e7\u0131klamayla e\u015fle\u015ftiriniz.\",\"hints\":[\"\u00d6nceki durumla sonraki durum aras\u0131ndaki fark\u0131 d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"De\u011fi\u015fim, bir unsurun zamanla farkl\u0131la\u015fmas\u0131 ile e\u015fle\u015fir.\",\"explanation\":\"De\u011fi\u015fim, bir durumun \u00f6nceki h\u00e2line g\u00f6re zaman i\u00e7inde farkl\u0131 bir yap\u0131ya d\u00f6n\u00fc\u015fmesidir.\",\"acceptedAnswers\":[],\"answerText\":\"De\u011fi\u015fim \u2194 Bir unsurun zamanla farkl\u0131la\u015fmas\u0131\",\"left\":\"De\u011fi\u015fim\",\"right\":\"Bir unsurun zamanla farkl\u0131la\u015fmas\u0131\"},{\"id\":\"S12\",\"type\":\"E\u015fle\u015ftirme\",\"kind\":\"match\",\"category\":\"S\u00fcreklilik\",\"difficulty\":\"Zor\",\"points\":20,\"question\":\"Kavram\u0131 uygun a\u00e7\u0131klamayla e\u015fle\u015ftiriniz.\",\"hints\":[\"De\u011fi\u015fmeden veya \u00e7ok az de\u011fi\u015ferek s\u00fcrme \u00f6zelli\u011fini d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"S\u00fcreklilik, bir unsurun zaman i\u00e7inde devam etmesi ile e\u015fle\u015fir.\",\"explanation\":\"S\u00fcreklilik, bir unsurun zaman i\u00e7inde de\u011fi\u015fmeden ya da \u00e7ok az de\u011fi\u015ferek varl\u0131\u011f\u0131n\u0131 korumas\u0131d\u0131r.\",\"acceptedAnswers\":[],\"answerText\":\"S\u00fcreklilik \u2194 Bir unsurun zaman i\u00e7inde devam etmesi\",\"left\":\"S\u00fcreklilik\",\"right\":\"Bir unsurun zaman i\u00e7inde devam etmesi\"},{\"id\":\"S13\",\"type\":\"Kronolojik S\u0131ralama\",\"kind\":\"order\",\"category\":\"Miladi takvimin geli\u015fimi\",\"difficulty\":\"Kolay\",\"points\":10,\"question\":\"Kartlar\u0131 do\u011fru olu\u015f s\u0131ras\u0131na g\u00f6re s\u0131ralay\u0131n\u0131z.\",\"hints\":[\"\u0130lgili d\u00f6nem: Antik \u00c7a\u011f'dan T\u00fcrkiye Cumhuriyeti'ne. Tarihler kartlarda g\u00f6sterilmez.\"],\"correctText\":\"Do\u011fru s\u0131ra: Antik M\u0131s\u0131r g\u00fcne\u015f takviminin geli\u015ftirilmesi \u2192 J\u00fclyen takvimin olu\u015fturulmas\u0131 \u2192 Gregoryen takvimin d\u00fczenlenmesi \u2192 T\u00fcrkiye'de Miladi takvimin resmen kullan\u0131lmas\u0131\",\"explanation\":\"Antik M\u0131s\u0131r g\u00fcne\u015f takvimi Roma'da J\u00fclyen takvimine d\u00f6n\u00fc\u015ft\u00fcr\u00fcld\u00fc. Gregoryen d\u00fczenleme 1582'de yap\u0131ld\u0131; T\u00fcrkiye 1 Ocak 1926'da Miladi takvimi resmen kullanmaya ba\u015flad\u0131.\",\"acceptedAnswers\":[],\"answerText\":\"Antik M\u0131s\u0131r g\u00fcne\u015f takviminin geli\u015ftirilmesi \u2192 J\u00fclyen takvimin olu\u015fturulmas\u0131 \u2192 Gregoryen takvimin d\u00fczenlenmesi \u2192 T\u00fcrkiye'de Miladi takvimin resmen kullan\u0131lmas\u0131\",\"orderItems\":[\"Gregoryen takvimin d\u00fczenlenmesi\",\"Antik M\u0131s\u0131r g\u00fcne\u015f takviminin geli\u015ftirilmesi\",\"T\u00fcrkiye'de Miladi takvimin resmen kullan\u0131lmas\u0131\",\"J\u00fclyen takvimin olu\u015fturulmas\u0131\"],\"correctOrder\":[\"Antik M\u0131s\u0131r g\u00fcne\u015f takviminin geli\u015ftirilmesi\",\"J\u00fclyen takvimin olu\u015fturulmas\u0131\",\"Gregoryen takvimin d\u00fczenlenmesi\",\"T\u00fcrkiye'de Miladi takvimin resmen kullan\u0131lmas\u0131\"]},{\"id\":\"S14\",\"type\":\"Kronolojik S\u0131ralama\",\"kind\":\"order\",\"category\":\"Tarih \u00e7a\u011flar\u0131n\u0131n s\u0131n\u0131rlar\u0131\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kartlar\u0131 do\u011fru olu\u015f s\u0131ras\u0131na g\u00f6re s\u0131ralay\u0131n\u0131z.\",\"hints\":[\"\u0130lgili d\u00f6nem: \u0130lk \u00c7a\u011f'dan Yak\u0131n \u00c7a\u011f'a. Tarihler kartlarda g\u00f6sterilmez.\"],\"correctText\":\"Do\u011fru s\u0131ra: Yaz\u0131n\u0131n icat edilmesi \u2192 Kavimler G\u00f6\u00e7\u00fc'n\u00fcn ya\u015fanmas\u0131 \u2192 \u0130stanbul'un fethedilmesi \u2192 Frans\u0131z \u0130htilali'nin ba\u015flamas\u0131\",\"explanation\":\"Yaz\u0131n\u0131n icad\u0131 tarih\u00ee devirleri, Kavimler G\u00f6\u00e7\u00fc Orta \u00c7a\u011f'\u0131, \u0130stanbul'un Fethi Yeni \u00c7a\u011f'\u0131 ve Frans\u0131z \u0130htilali Yak\u0131n \u00c7a\u011f'\u0131 ba\u015flatan s\u0131n\u0131rlar olarak kullan\u0131l\u0131r.\",\"acceptedAnswers\":[],\"answerText\":\"Yaz\u0131n\u0131n icat edilmesi \u2192 Kavimler G\u00f6\u00e7\u00fc'n\u00fcn ya\u015fanmas\u0131 \u2192 \u0130stanbul'un fethedilmesi \u2192 Frans\u0131z \u0130htilali'nin ba\u015flamas\u0131\",\"orderItems\":[\"Frans\u0131z \u0130htilali'nin ba\u015flamas\u0131\",\"Yaz\u0131n\u0131n icat edilmesi\",\"\u0130stanbul'un fethedilmesi\",\"Kavimler G\u00f6\u00e7\u00fc'n\u00fcn ya\u015fanmas\u0131\"],\"correctOrder\":[\"Yaz\u0131n\u0131n icat edilmesi\",\"Kavimler G\u00f6\u00e7\u00fc'n\u00fcn ya\u015fanmas\u0131\",\"\u0130stanbul'un fethedilmesi\",\"Frans\u0131z \u0130htilali'nin ba\u015flamas\u0131\"]},{\"id\":\"S15\",\"type\":\"Kronolojik S\u0131ralama\",\"kind\":\"order\",\"category\":\"Tarih\u00e7inin ara\u015ft\u0131rma basamaklar\u0131\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kartlar\u0131 do\u011fru olu\u015f s\u0131ras\u0131na g\u00f6re s\u0131ralay\u0131n\u0131z.\",\"hints\":[\"\u0130lgili d\u00f6nem: Tarih ara\u015ft\u0131rmas\u0131n\u0131n y\u00f6ntemsel s\u00fcreci. Tarihler kartlarda g\u00f6sterilmez.\"],\"correctText\":\"Do\u011fru s\u0131ra: Ara\u015ft\u0131rma sorusunu belirleme \u2192 Konu ve kapsam\u0131 s\u0131n\u0131rland\u0131rma \u2192 Kaynaklardan bilgi toplama \u2192 Kaynaklar\u0131 inceleyip ele\u015ftirme \u2192 Olgular\u0131 belirleyip aralar\u0131nda ili\u015fki kurma \u2192 Bilgileri sentezleme\",\"explanation\":\"Tarih\u00e7i \u00f6nce sorusunu ve kapsam\u0131n\u0131 belirler; kaynaklar\u0131 toplar ve ele\u015ftirir. Ard\u0131ndan olgular aras\u0131nda ili\u015fkiler kurarak bilgileri b\u00fct\u00fcnl\u00fckl\u00fc bir anlat\u0131da sentezler.\",\"acceptedAnswers\":[],\"answerText\":\"Ara\u015ft\u0131rma sorusunu belirleme \u2192 Konu ve kapsam\u0131 s\u0131n\u0131rland\u0131rma \u2192 Kaynaklardan bilgi toplama \u2192 Kaynaklar\u0131 inceleyip ele\u015ftirme \u2192 Olgular\u0131 belirleyip aralar\u0131nda ili\u015fki kurma \u2192 Bilgileri sentezleme\",\"orderItems\":[\"Kaynaklar\u0131 inceleyip ele\u015ftirme\",\"Bilgileri sentezleme\",\"Ara\u015ft\u0131rma sorusunu belirleme\",\"Olgular\u0131 belirleyip aralar\u0131nda ili\u015fki kurma\",\"Konu ve kapsam\u0131 s\u0131n\u0131rland\u0131rma\",\"Kaynaklardan bilgi toplama\"],\"correctOrder\":[\"Ara\u015ft\u0131rma sorusunu belirleme\",\"Konu ve kapsam\u0131 s\u0131n\u0131rland\u0131rma\",\"Kaynaklardan bilgi toplama\",\"Kaynaklar\u0131 inceleyip ele\u015ftirme\",\"Olgular\u0131 belirleyip aralar\u0131nda ili\u015fki kurma\",\"Bilgileri sentezleme\"]},{\"id\":\"S16\",\"type\":\"Kronolojik S\u0131ralama\",\"kind\":\"order\",\"category\":\"Tarih \u00f6ncesi devirler\",\"difficulty\":\"Zor\",\"points\":20,\"question\":\"Kartlar\u0131 do\u011fru olu\u015f s\u0131ras\u0131na g\u00f6re s\u0131ralay\u0131n\u0131z.\",\"hints\":[\"\u0130lgili d\u00f6nem: Tarih \u00f6ncesi ta\u015f ve maden devirleri. Tarihler kartlarda g\u00f6sterilmez.\"],\"correctText\":\"Do\u011fru s\u0131ra: Paleolitik Devri \u2192 Mezolitik Devri \u2192 Neolitik Devri \u2192 Bak\u0131r Devri \u2192 Tun\u00e7 Devri \u2192 Demir Devri\",\"explanation\":\"Ta\u015f Devri; Paleolitik, Mezolitik ve Neolitik olarak s\u0131ralan\u0131r. Maden Devri ise Bak\u0131r, Tun\u00e7 ve Demir a\u015famalar\u0131ndan olu\u015fur.\",\"acceptedAnswers\":[],\"answerText\":\"Paleolitik Devri \u2192 Mezolitik Devri \u2192 Neolitik Devri \u2192 Bak\u0131r Devri \u2192 Tun\u00e7 Devri \u2192 Demir Devri\",\"orderItems\":[\"Tun\u00e7 Devri\",\"Paleolitik Devri\",\"Demir Devri\",\"Neolitik Devri\",\"Bak\u0131r Devri\",\"Mezolitik Devri\"],\"correctOrder\":[\"Paleolitik Devri\",\"Mezolitik Devri\",\"Neolitik Devri\",\"Bak\u0131r Devri\",\"Tun\u00e7 Devri\",\"Demir Devri\"]},{\"id\":\"S17\",\"type\":\"Grupland\u0131rma\",\"kind\":\"group\",\"category\":\"Kaynak t\u00fcrleri\",\"difficulty\":\"Kolay\",\"points\":10,\"question\":\"Kart\u0131 do\u011fru kategoriye yerle\u015ftiriniz.\",\"hints\":[\"\u00dczerindeki metnin bilgi ta\u015f\u0131ma bi\u00e7imini d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"Kitabe \u2192 Yaz\u0131l\u0131 Kaynak\",\"explanation\":\"Kitabeler, ge\u00e7mi\u015fe ili\u015fkin bilgiyi yaz\u0131 yoluyla aktard\u0131klar\u0131 i\u00e7in yaz\u0131l\u0131 kaynaklar aras\u0131nda de\u011ferlendirilir.\",\"acceptedAnswers\":[],\"answerText\":\"Yaz\u0131l\u0131 Kaynak\",\"cardText\":\"Kitabe\",\"categories\":[\"Yaz\u0131l\u0131 Kaynak\",\"G\u00f6rsel Kaynak\",\"Arkeolojik Kaynak\",\"Mimari Kaynak\"],\"correctCategory\":\"Yaz\u0131l\u0131 Kaynak\"},{\"id\":\"S18\",\"type\":\"Grupland\u0131rma\",\"kind\":\"group\",\"category\":\"Kaynaklar\u0131n el derecesi\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kart\u0131 do\u011fru kategoriye yerle\u015ftiriniz.\",\"hints\":[\"Kayna\u011f\u0131n olayla ayn\u0131 d\u00f6nemde haz\u0131rlan\u0131p haz\u0131rlanmad\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"Olaydan y\u00fczy\u0131llar sonra haz\u0131rlanan ansiklopedi maddesi \u2192 \u0130kinci Elden Kaynak\",\"explanation\":\"Olaydan \u00e7ok sonra, ba\u015fka kaynaklar kullan\u0131larak haz\u0131rlanan ansiklopedi maddesi ikinci elden kaynakt\u0131r.\",\"acceptedAnswers\":[],\"answerText\":\"\u0130kinci Elden Kaynak\",\"cardText\":\"Olaydan y\u00fczy\u0131llar sonra haz\u0131rlanan ansiklopedi maddesi\",\"categories\":[\"Birinci Elden Kaynak\",\"\u0130kinci Elden Kaynak\"],\"correctCategory\":\"\u0130kinci Elden Kaynak\"},{\"id\":\"S19\",\"type\":\"Grupland\u0131rma\",\"kind\":\"group\",\"category\":\"Olay ve olgu\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kart\u0131 do\u011fru kategoriye yerle\u015ftiriniz.\",\"hints\":[\"Yerinin, zaman\u0131n\u0131n ve ba\u015flang\u0131\u00e7-biti\u015f s\u0131n\u0131rlar\u0131n\u0131n belirginli\u011fini d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"\u0130stanbul'un Fethi \u2192 Olay\",\"explanation\":\"\u0130stanbul'un Fethi belli bir yer ve zamanda ger\u00e7ekle\u015fen, ba\u015flang\u0131\u00e7 ve biti\u015fi belirli tarihsel bir olayd\u0131r.\",\"acceptedAnswers\":[],\"answerText\":\"Olay\",\"cardText\":\"\u0130stanbul'un Fethi\",\"categories\":[\"Olay\",\"Olgu\"],\"correctCategory\":\"Olay\"},{\"id\":\"S20\",\"type\":\"Grupland\u0131rma\",\"kind\":\"group\",\"category\":\"Olay ve olgu\",\"difficulty\":\"Orta\",\"points\":15,\"question\":\"Kart\u0131 do\u011fru kategoriye yerle\u015ftiriniz.\",\"hints\":[\"Uzun s\u00fcreli, genel ve tek bir tarihle s\u0131n\u0131rland\u0131r\u0131lamayan geli\u015fmeleri d\u00fc\u015f\u00fcn\u00fcn\u00fcz.\"],\"correctText\":\"Avrupa'da \u015fehirle\u015fmenin y\u00fczy\u0131llara yay\u0131lmas\u0131 \u2192 Olgu\",\"explanation\":\"\u015eehirle\u015fmenin uzun zaman i\u00e7inde yay\u0131lmas\u0131; tek bir yer ve tarihle s\u0131n\u0131rland\u0131r\u0131lamayan genel bir tarihsel olgudur.\",\"acceptedAnswers\":[],\"answerText\":\"Olgu\",\"cardText\":\"Avrupa'da \u015fehirle\u015fmenin y\u00fczy\u0131llara yay\u0131lmas\u0131\",\"categories\":[\"Olay\",\"Olgu\"],\"correctCategory\":\"Olgu\"}]};\n\n  function init() {\n    var root = document.getElementById(ROOT_ID);\n    if (!root || root.getAttribute('data-tk-ready') === '1') {\n      return;\n    }\n    root.setAttribute('data-tk-ready', '1');\n\n    var ui = {\n      warning: root.querySelector('[data-tk-role=\"script-warning\"]'),\n      error: root.querySelector('[data-tk-role=\"error\"]'),\n      start: root.querySelector('[data-tk-screen=\"start\"]'),\n      game: root.querySelector('[data-tk-screen=\"game\"]'),\n      result: root.querySelector('[data-tk-screen=\"result\"]'),\n      startButton: root.querySelector('[data-tk-action=\"start\"]'),\n      progressLabel: root.querySelector('[data-tk-role=\"progress-label\"]'),\n      progressCount: root.querySelector('[data-tk-role=\"progress-count\"]'),\n      progressBar: root.querySelector('[data-tk-role=\"progress-bar\"]'),\n      score: root.querySelector('[data-tk-role=\"score\"]'),\n      stage: root.querySelector('[data-tk-role=\"stage\"]'),\n      feedback: root.querySelector('[data-tk-role=\"feedback\"]'),\n      live: root.querySelector('[data-tk-role=\"live\"]'),\n      resultTitle: root.querySelector('[data-tk-role=\"result-title\"]'),\n      resultCorrect: root.querySelector('[data-tk-role=\"result-correct\"]'),\n      resultWrong: root.querySelector('[data-tk-role=\"result-wrong\"]'),\n      resultPercent: root.querySelector('[data-tk-role=\"result-percent\"]'),\n      resultScore: root.querySelector('[data-tk-role=\"result-score\"]'),\n      resultMessage: root.querySelector('[data-tk-role=\"result-message\"]'),\n      retryWrong: root.querySelector('[data-tk-action=\"retry-wrong\"]'),\n      shareStatus: root.querySelector('[data-tk-role=\"share-status\"]')\n    };\n\n    var state = {};\n\n    if (ui.warning) {\n      ui.warning.hidden = true;\n    }\n\n    function make(tag, className, text) {\n      var node = document.createElement(tag);\n      if (className) {\n        node.className = className;\n      }\n      if (typeof text === 'string') {\n        node.textContent = text;\n      }\n      return node;\n    }\n\n    function button(className, text, action) {\n      var node = make('button', className, text);\n      node.type = 'button';\n      if (action) {\n        node.setAttribute('data-tk-action', action);\n      }\n      return node;\n    }\n\n    function clear(node) {\n      while (node) {\n        if (!node.firstChild) {\n          break;\n        }\n        node.removeChild(node.firstChild);\n      }\n    }\n\n    function shuffle(list) {\n      var copy = list.slice(0);\n      var i;\n      var j;\n      var temp;\n      for (i = copy.length - 1; i > 0; i -= 1) {\n        j = Math.floor(Math.random() * (i + 1));\n        temp = copy[i];\n        copy[i] = copy[j];\n        copy[j] = temp;\n      }\n      return copy;\n    }\n\n    function normalize(value) {\n      var text = String(value || '').replace(\/\\s+\/g, ' ').replace(\/^\\s+|\\s+$\/g, '');\n      try {\n        return text.toLocaleLowerCase('tr-TR');\n      } catch (ignore) {\n        return text.toLowerCase();\n      }\n    }\n\n    function getItem(id) {\n      var i;\n      for (i = 0; i < DATA.items.length; i += 1) {\n        if (DATA.items[i].id === id) {\n          return DATA.items[i];\n        }\n      }\n      return null;\n    }\n\n    function contains(list, value) {\n      var i;\n      for (i = 0; i < list.length; i += 1) {\n        if (list[i] === value) {\n          return true;\n        }\n      }\n      return false;\n    }\n\n    function indexOf(list, value) {\n      var i;\n      for (i = 0; i < list.length; i += 1) {\n        if (list[i] === value) {\n          return i;\n        }\n      }\n      return -1;\n    }\n\n    function activeItems() {\n      var items = [];\n      var i;\n      var item;\n      for (i = 0; i < state.activeIds.length; i += 1) {\n        item = getItem(state.activeIds[i]);\n        if (item) {\n          items.push(item);\n        }\n      }\n      return items;\n    }\n\n\n    function buildMixedOrder(ids) {\n      var result = [];\n      var used = [];\n      var i;\n      var j;\n      var bucket;\n      var item;\n      for (i = 0; i < DATA.sections.length; i += 1) {\n        bucket = [];\n        for (j = 0; j < ids.length; j += 1) {\n          item = getItem(ids[j]);\n          if (item) {\n            if (item.kind === DATA.sections[i].kind) {\n              bucket.push(item.id);\n              used.push(item.id);\n            }\n          }\n        }\n        result = result.concat(shuffle(bucket));\n      }\n      for (i = 0; i < ids.length; i += 1) {\n        if (!contains(used, ids[i])) {\n          result.push(ids[i]);\n        }\n      }\n      return result;\n    }\n\n    function answerCount() {\n      var count = 0;\n      var id;\n      for (id in state.answers) {\n        if (Object.prototype.hasOwnProperty.call(state.answers, id)) {\n          count += 1;\n        }\n      }\n      return count;\n    }\n\n    function showScreen(name) {\n      ui.start.hidden = name !== 'start';\n      ui.game.hidden = name !== 'game';\n      ui.result.hidden = name !== 'result';\n    }\n\n    function setLive(text) {\n      ui.live.textContent = text || '';\n    }\n\n    function updateTopbar() {\n      var total = state.activeIds.length || DATA.items.length;\n      var done = answerCount();\n      var percent = total ? Math.round((done \/ total) * 100) : 0;\n      var currentItem = state.currentId ? getItem(state.currentId) : null;\n      ui.progressLabel.textContent = currentItem ? currentItem.type : DATA.shortGameType;\n      ui.progressCount.textContent = done + ' \/ ' + total;\n      ui.progressBar.style.width = percent + '%';\n      if (ui.progressBar.parentNode) {\n        ui.progressBar.parentNode.setAttribute('aria-valuenow', String(percent));\n      }\n      ui.score.textContent = state.score + ' puan';\n    }\n\n    function resetState(ids) {\n      var allIds = [];\n      var i;\n      for (i = 0; i < DATA.items.length; i += 1) {\n        allIds.push(DATA.items[i].id);\n      }\n      state.activeIds = ids ? (ids.length ? ids.slice(0) : allIds) : allIds;\n      state.order = buildMixedOrder(state.activeIds);\n      state.index = 0;\n      state.answers = {};\n      state.correct = 0;\n      state.wrong = 0;\n      state.score = 0;\n      state.streak = 0;\n      state.locked = false;\n      state.currentId = '';\n      state.currentStartedAt = 0;\n      state.selectedCard = false;\n      state.sortOrders = {};\n      state.selectedSortToken = '';\n      state.timelineOrder = [];\n      state.memoryCards = [];\n      state.openCards = [];\n      state.matchedPairs = {};\n      state.pairMistakes = {};\n      state.memoryLock = false;\n      state.spinLock = false;\n      state.wheelTurns = 0;\n      state.hintShown = {};\n      state.roundIsRetry = ids ? !!ids.length : false;\n      clear(ui.feedback);\n      ui.feedback.hidden = true;\n      clear(ui.stage);\n      setLive('');\n      if (DATA.kind === 'timeline') {\n        for (i = 0; i < DATA.items.length; i += 1) {\n          state.timelineOrder.push(DATA.items[i].id);\n        }\n        state.timelineOrder = shuffle(state.timelineOrder);\n      }\n      if (DATA.kind === 'pairs') {\n        prepareMemoryCards();\n      }\n      updateTopbar();\n    }\n\n    function startRound(ids) {\n      resetState(ids);\n      showScreen('game');\n      if (DATA.kind === 'timeline') {\n        renderTimeline();\n      } else if (DATA.kind === 'pairs') {\n        renderMemory();\n      } else if (DATA.kind === 'boxes') {\n        renderBoxes();\n      } else if (DATA.kind === 'wheel') {\n        renderWheel();\n      } else {\n        renderCurrent();\n      }\n    }\n\n    function questionCard(item) {\n      var card = make('div', 'tk-question-card');\n      var category = make('p', 'tk-category', item.type + ' \u2022 ' + item.difficulty);\n      var question = make('h2', 'tk-question', item.question);\n      card.appendChild(category);\n      card.appendChild(question);\n      return card;\n    }\n\n    function setCurrent(item) {\n      state.currentId = item.id;\n      state.currentStartedAt = new Date().getTime();\n      state.locked = false;\n      state.selectedCard = false;\n      clear(ui.feedback);\n      ui.feedback.hidden = true;\n      setLive('');\n      updateTopbar();\n    }\n\n    function optionButton(option, action) {\n      var label = option.text;\n      var node = button('tk-option', label, action || 'answer');\n      node.setAttribute('data-tk-value', option.id);\n      node.setAttribute('aria-label', label);\n      return node;\n    }\n\n    function renderOptions(card, item, options, action) {\n      var grid = make('div', 'tk-options');\n      var shuffled = shuffle(options);\n      var i;\n      for (i = 0; i < shuffled.length; i += 1) {\n        grid.appendChild(optionButton(shuffled[i], action));\n      }\n      card.appendChild(grid);\n    }\n\n    function renderQuiz(item) {\n      var card;\n      var input;\n      var actions;\n      setCurrent(item);\n      clear(ui.stage);\n      card = questionCard(item);\n      if (item.responseMode === 'text') {\n        input = make('input', 'tk-input');\n        input.type = 'text';\n        input.setAttribute('data-tk-role', 'open-input');\n        input.setAttribute('aria-label', 'Cevab\u0131n\u0131z');\n        input.placeholder = 'Cevab\u0131n\u0131z\u0131 yaz\u0131n';\n        card.appendChild(input);\n        actions = make('div', 'tk-actions');\n        actions.style.marginTop = '12px';\n        actions.appendChild(button('tk-button', 'CEVABI KONTROL ET', 'open-submit'));\n        card.appendChild(actions);\n      } else {\n        renderOptions(card, item, item.options, 'answer');\n      }\n      ui.stage.appendChild(card);\n      if (input) {\n        input.focus();\n      }\n    }\n\n    function renderTrueFalse(item) {\n      var card;\n      var options = [\n        { id: 'Do\u011fru', text: '\u2713 Do\u011fru' },\n        { id: 'Yanl\u0131\u015f', text: '\u2717 Yanl\u0131\u015f' }\n      ];\n      setCurrent(item);\n      clear(ui.stage);\n      card = questionCard(item);\n      renderOptions(card, item, options, 'answer');\n      ui.stage.appendChild(card);\n    }\n\n    function renderBlank(item) {\n      var card;\n      var prompt = make('p', 'tk-hint', 'Bo\u015flu\u011fa gelecek do\u011fru kavram\u0131 se\u00e7in.');\n      setCurrent(item);\n      clear(ui.stage);\n      card = questionCard(item);\n      card.appendChild(prompt);\n      renderOptions(card, item, item.options, 'answer');\n      ui.stage.appendChild(card);\n    }\n\n    function renderIdentity(item) {\n      var card;\n      var hints;\n      var shown;\n      var i;\n      var input;\n      var actions;\n      var hintButton;\n      setCurrent(item);\n      clear(ui.stage);\n      card = questionCard(item);\n      shown = state.hintShown[item.id] || Math.min(2, item.hints.length);\n      state.hintShown[item.id] = shown;\n      hints = make('ul', 'tk-hints');\n      for (i = 0; i < shown; i += 1) {\n        hints.appendChild(make('li', 'tk-hint', (i + 1) + '. ipucu: ' + item.hints[i]));\n      }\n      card.appendChild(hints);\n      if (shown < item.hints.length) {\n        hintButton = button('tk-button tk-button-secondary', 'Sonraki \u0130pucunu A\u00e7', 'next-hint');\n        card.appendChild(hintButton);\n      }\n      input = make('input', 'tk-input');\n      input.type = 'text';\n      input.setAttribute('data-tk-role', 'identity-input');\n      input.setAttribute('aria-label', 'Cevab\u0131n\u0131z');\n      input.placeholder = 'Cevab\u0131n\u0131z\u0131 yaz\u0131n';\n      card.appendChild(input);\n      actions = make('div', 'tk-actions');\n      actions.style.marginTop = '12px';\n      actions.appendChild(button('tk-button', 'CEVABI KONTROL ET', 'identity-submit'));\n      card.appendChild(actions);\n      ui.stage.appendChild(card);\n      input.focus();\n    }\n\n    function matchingTargets(item) {\n      var values = [item.right];\n      var pool = [];\n      var i;\n      var other;\n      for (i = 0; i < DATA.items.length; i += 1) {\n        other = DATA.items[i].right;\n        if (other) {\n          if (other !== item.right) {\n            if (!contains(pool, other)) {\n              pool.push(other);\n            }\n          }\n        }\n      }\n      pool = shuffle(pool);\n      for (i = 0; i < pool.length; i += 1) {\n        if (values.length >= 4) {\n          break;\n        }\n        values.push(pool[i]);\n      }\n      return shuffle(values);\n    }\n\n    function renderMatch(item) {\n      var card;\n      var source;\n      var grid;\n      var values;\n      var i;\n      var target;\n      setCurrent(item);\n      clear(ui.stage);\n      card = questionCard(item);\n      source = button('tk-card-source', item.left, 'select-card');\n      source.draggable = true;\n      source.setAttribute('data-tk-drag-source', 'card');\n      source.setAttribute('aria-pressed', 'false');\n      source.setAttribute('aria-label', 'E\u015fle\u015ftirilecek kart: ' + item.left);\n      card.appendChild(source);\n      grid = make('div', 'tk-options');\n      values = matchingTargets(item);\n      for (i = 0; i < values.length; i += 1) {\n        target = button('tk-option', values[i], 'match-target');\n        target.setAttribute('data-tk-value', values[i]);\n        target.setAttribute('data-tk-drop-target', 'card');\n        grid.appendChild(target);\n      }\n      card.appendChild(grid);\n      ui.stage.appendChild(card);\n      setLive('Kart\u0131 se\u00e7ip do\u011fru hedefe dokunun veya masa\u00fcst\u00fcnde s\u00fcr\u00fckleyin.');\n    }\n\n    function renderGroup(item) {\n      var card;\n      var source;\n      var grid;\n      var i;\n      var target;\n      setCurrent(item);\n      clear(ui.stage);\n      card = questionCard(item);\n      source = button('tk-card-source', item.cardText, 'select-card');\n      source.draggable = true;\n      source.setAttribute('data-tk-drag-source', 'card');\n      source.setAttribute('aria-pressed', 'false');\n      source.setAttribute('aria-label', 'Grupland\u0131r\u0131lacak kart: ' + item.cardText);\n      card.appendChild(source);\n      grid = make('div', 'tk-options');\n      for (i = 0; i < item.categories.length; i += 1) {\n        target = button('tk-option', item.categories[i], 'group-target');\n        target.setAttribute('data-tk-value', item.categories[i]);\n        target.setAttribute('data-tk-drop-target', 'card');\n        grid.appendChild(target);\n      }\n      card.appendChild(grid);\n      ui.stage.appendChild(card);\n      setLive('Kart\u0131 se\u00e7ip do\u011fru kategoriye dokunun veya masa\u00fcst\u00fcnde s\u00fcr\u00fckleyin.');\n    }\n\n    function renderSort(item) {\n      var card;\n      var list;\n      var positions;\n      var check;\n      setCurrent(item);\n      clear(ui.stage);\n      if (!state.sortOrders[item.id]) {\n        state.sortOrders[item.id] = shuffle(item.orderItems);\n      }\n      card = questionCard(item);\n      list = make('ol', 'tk-sort-list');\n      list.setAttribute('aria-label', 'S\u0131ralanacak \u00f6\u011feler');\n      appendSortRows(list, state.sortOrders[item.id], 'order', item);\n      card.appendChild(list);\n      positions = makePositionRow(state.sortOrders[item.id].length, 'order');\n      card.appendChild(positions);\n      check = button('tk-button', 'SIRALAMAYI KONTROL ET', 'check-order');\n      check.style.marginTop = '16px';\n      card.appendChild(check);\n      ui.stage.appendChild(card);\n      setLive('\u00d6\u011feyi s\u00fcr\u00fckleyin; mobil veya klavyede \u00f6\u011feyi se\u00e7ip konum numaras\u0131na dokunun.');\n    }\n\n    function appendSortRows(list, values, scope, item) {\n      var i;\n      var row;\n      var label;\n      var controls;\n      var up;\n      var down;\n      var token;\n      for (i = 0; i < values.length; i += 1) {\n        token = values[i];\n        row = make('li', 'tk-sort-item' + (state.selectedSortToken === token ? ' tk-selected' : ''));\n        row.draggable = true;\n        row.setAttribute('data-tk-sort-token', token);\n        row.setAttribute('data-tk-sort-scope', scope);\n        label = button('tk-card-button tk-sort-label', (i + 1) + '. ' + displaySortText(scope, token, item), 'select-sort');\n        label.setAttribute('data-tk-token', token);\n        label.setAttribute('aria-pressed', state.selectedSortToken === token ? 'true' : 'false');\n        controls = make('div', 'tk-sort-buttons');\n        up = button('tk-sort-control', '\u2191', 'move-sort');\n        up.setAttribute('data-tk-token', token);\n        up.setAttribute('data-tk-direction', '-1');\n        up.setAttribute('aria-label', 'Yukar\u0131 ta\u015f\u0131');\n        up.disabled = i === 0;\n        down = button('tk-sort-control', '\u2193', 'move-sort');\n        down.setAttribute('data-tk-token', token);\n        down.setAttribute('data-tk-direction', '1');\n        down.setAttribute('aria-label', 'A\u015fa\u011f\u0131 ta\u015f\u0131');\n        down.disabled = i === values.length - 1;\n        controls.appendChild(up);\n        controls.appendChild(down);\n        row.appendChild(label);\n        row.appendChild(controls);\n        list.appendChild(row);\n      }\n    }\n\n    function displaySortText(scope, token, item) {\n      var timelineItem;\n      if (scope === 'timeline') {\n        timelineItem = getItem(token);\n        return timelineItem ? timelineItem.eventText + ' (' + timelineItem.dateText + ')' : token;\n      }\n      return token;\n    }\n\n    function makePositionRow(count, scope) {\n      var wrap = make('div', 'tk-position-row');\n      var i;\n      var node;\n      var label = make('span', 'tk-pill', 'Se\u00e7ili kart\u0131n konumu:');\n      wrap.appendChild(label);\n      for (i = 0; i < count; i += 1) {\n        node = button('tk-sort-control', String(i + 1), 'place-sort');\n        node.setAttribute('data-tk-position', String(i));\n        node.setAttribute('data-tk-sort-scope', scope);\n        node.setAttribute('aria-label', 'Se\u00e7ili kart\u0131 ' + (i + 1) + '. konuma ta\u015f\u0131');\n        wrap.appendChild(node);\n      }\n      return wrap;\n    }\n\n    function renderCurrent() {\n      var item;\n      if (state.index >= state.order.length) {\n        finishRound();\n        return;\n      }\n      item = getItem(state.order[state.index]);\n      if (!item) {\n        state.index += 1;\n        renderCurrent();\n        return;\n      }\n      DATA.kind = item.kind;\n      updateTopbar();\n      if (DATA.kind === 'truefalse') {\n        renderTrueFalse(item);\n      } else if (DATA.kind === 'blank') {\n        renderBlank(item);\n      } else if (DATA.kind === 'identity') {\n        renderIdentity(item);\n      } else if (DATA.kind === 'match') {\n        renderMatch(item);\n      } else if (DATA.kind === 'group') {\n        renderGroup(item);\n      } else if (DATA.kind === 'order') {\n        renderSort(item);\n      } else {\n        renderQuiz(item);\n      }\n    }\n\n    function accepted(item, value) {\n      var candidates = item.acceptedAnswers ? (item.acceptedAnswers.length ? item.acceptedAnswers.slice(0) : []) : [];\n      var i;\n      candidates.push(item.answerText);\n      candidates.push(item.correctText);\n      for (i = 0; i < candidates.length; i += 1) {\n        if (normalize(candidates[i]) === normalize(value)) {\n          return true;\n        }\n      }\n      return false;\n    }\n\n    function answerCurrent(value) {\n      var item = getItem(state.currentId);\n      var correct = false;\n      if (!item || state.locked) {\n        return;\n      }\n      if (DATA.kind === 'quiz' || DATA.kind === 'gameshow' || DATA.kind === 'boxes' || DATA.kind === 'wheel') {\n        correct = value === item.correctOptionId;\n      } else if (DATA.kind === 'truefalse') {\n        correct = normalize(value) === normalize(item.answerText);\n      } else if (DATA.kind === 'blank') {\n        correct = accepted(item, value);\n      }\n      recordAnswer(item, correct);\n    }\n\n    function recordAnswer(item, correct) {\n      var elapsed;\n      var bonus = 0;\n      if (state.locked || Object.prototype.hasOwnProperty.call(state.answers, item.id)) {\n        return;\n      }\n      state.locked = true;\n      state.answers[item.id] = correct;\n      if (correct) {\n        state.correct += 1;\n        state.streak += 1;\n        if (DATA.kind === 'gameshow') {\n          elapsed = (new Date().getTime() - state.currentStartedAt) \/ 1000;\n          bonus = elapsed <= 15 ? 25 : (elapsed <= 30 ? 10 : 0);\n        }\n        state.score += item.points;\n      } else {\n        state.wrong += 1;\n        state.streak = 0;\n      }\n      disableAnswerControls();\n      updateTopbar();\n      showFeedback(item, correct, bonus);\n    }\n\n    function disableAnswerControls() {\n      var nodes = ui.stage.querySelectorAll('button[data-tk-action=\"answer\"], button[data-tk-action=\"match-target\"], button[data-tk-action=\"group-target\"], button[data-tk-action=\"identity-submit\"], button[data-tk-action=\"open-submit\"], button[data-tk-action=\"check-order\"]');\n      var i;\n      for (i = 0; i < nodes.length; i += 1) {\n        nodes[i].disabled = true;\n      }\n    }\n\n    function showFeedback(item, correct, bonus) {\n      var title;\n      var text;\n      var toggle;\n      var explanation;\n      var actions;\n      var next;\n      clear(ui.feedback);\n      ui.feedback.hidden = false;\n      ui.feedback.className = 'tk-feedback ' + (correct ? 'tk-correct' : 'tk-wrong');\n      title = make('p', 'tk-feedback-title', correct ? '\u2713 Do\u011fru!' : '\u2717 Yanl\u0131\u015f');\n      ui.feedback.appendChild(title);\n      if (correct) {\n        if (bonus) {\n          ui.feedback.appendChild(make('p', 'tk-feedback-text', '+' + bonus + ' h\u0131z bonusu kazand\u0131n\u0131z.'));\n        }\n      }\n      if (!correct) {\n        text = make('p', 'tk-feedback-text', 'Do\u011fru cevap: ' + item.correctText);\n        ui.feedback.appendChild(text);\n      }\n      toggle = button('tk-button tk-button-secondary', 'A\u00e7\u0131klamay\u0131 G\u00f6r', 'toggle-explanation');\n      explanation = make('p', 'tk-explanation', item.explanation);\n      explanation.hidden = true;\n      explanation.setAttribute('data-tk-role', 'explanation');\n      actions = make('div', 'tk-feedback-actions');\n      actions.appendChild(toggle);\n      next = button('tk-button', nextButtonText(), 'next');\n      actions.appendChild(next);\n      ui.feedback.appendChild(explanation);\n      ui.feedback.appendChild(actions);\n      setLive((correct ? 'Do\u011fru. ' : 'Yanl\u0131\u015f. Do\u011fru cevap: ' + item.correctText + '. ') + item.explanation);\n      next.focus();\n    }\n\n    function nextButtonText() {\n      if (DATA.kind === 'boxes') {\n        return answerCount() >= state.activeIds.length ? 'SONUCU G\u00d6R' : 'KUTULARA D\u00d6N';\n      }\n      if (DATA.kind === 'wheel') {\n        return answerCount() >= state.activeIds.length ? 'SONUCU G\u00d6R' : '\u00c7ARKA D\u00d6N';\n      }\n      return state.index + 1 >= state.order.length ? 'SONUCU G\u00d6R' : 'SONRAK\u0130 ETK\u0130NL\u0130K';\n    }\n\n    function nextStep() {\n      if (!state.locked) {\n        return;\n      }\n      state.locked = false;\n      if (DATA.kind === 'boxes') {\n        if (answerCount() >= state.activeIds.length) {\n          finishRound();\n        } else {\n          renderBoxes();\n        }\n        return;\n      }\n      if (DATA.kind === 'wheel') {\n        if (answerCount() >= state.activeIds.length) {\n          finishRound();\n        } else {\n          renderWheel();\n        }\n        return;\n      }\n      state.index += 1;\n      renderCurrent();\n    }\n\n    function renderBoxes() {\n      var board;\n      var heading;\n      var grid;\n      var i;\n      var id;\n      var box;\n      clear(ui.stage);\n      clear(ui.feedback);\n      ui.feedback.hidden = true;\n      setLive('Her kutu ger\u00e7ek bir etkinli\u011fe ba\u011fl\u0131d\u0131r. A\u00e7mak istedi\u011finiz kutuyu se\u00e7in.');\n      board = make('div', 'tk-board');\n      heading = make('h2', 'tk-question', 'Bir kutu se\u00e7in');\n      board.appendChild(heading);\n      grid = make('div', 'tk-box-grid');\n      for (i = 0; i < state.activeIds.length; i += 1) {\n        id = state.activeIds[i];\n        box = button('tk-box' + (Object.prototype.hasOwnProperty.call(state.answers, id) ? ' tk-box-done' : ''), id, 'open-box');\n        box.setAttribute('data-tk-id', id);\n        if (Object.prototype.hasOwnProperty.call(state.answers, id)) {\n          box.textContent = id + (state.answers[id] ? ' \u2713' : ' \u2717');\n          box.disabled = true;\n        }\n        grid.appendChild(box);\n      }\n      board.appendChild(grid);\n      ui.stage.appendChild(board);\n      updateTopbar();\n    }\n\n    function openBox(id) {\n      var item;\n      if (Object.prototype.hasOwnProperty.call(state.answers, id)) {\n        return;\n      }\n      item = getItem(id);\n      if (item) {\n        renderQuiz(item);\n      }\n    }\n\n    function renderWheel() {\n      var remaining = [];\n      var board;\n      var wrap;\n      var pointer;\n      var wheel;\n      var spin;\n      var codes;\n      var i;\n      var code;\n      for (i = 0; i < state.activeIds.length; i += 1) {\n        if (!Object.prototype.hasOwnProperty.call(state.answers, state.activeIds[i])) {\n          remaining.push(state.activeIds[i]);\n        }\n      }\n      if (!remaining.length) {\n        finishRound();\n        return;\n      }\n      clear(ui.stage);\n      clear(ui.feedback);\n      ui.feedback.hidden = true;\n      setLive('\u00c7ark\u0131 d\u00f6nd\u00fcr\u00fcn. Her dilim ger\u00e7ek bir etkinli\u011fe ba\u011fl\u0131d\u0131r.');\n      board = make('div', 'tk-board');\n      board.appendChild(make('h2', 'tk-question', '\u00c7ark\u0131felek'));\n      wrap = make('div', 'tk-wheel-wrap');\n      pointer = make('div', 'tk-wheel-pointer');\n      pointer.setAttribute('aria-hidden', 'true');\n      wheel = make('div', 'tk-wheel');\n      wheel.setAttribute('data-tk-role', 'wheel');\n      wheel.setAttribute('aria-hidden', 'true');\n      spin = button('tk-button tk-wheel-button', '\u00c7ARKI D\u00d6ND\u00dcR', 'spin');\n      codes = make('div', 'tk-wheel-codes');\n      codes.setAttribute('aria-label', 'Kalan ger\u00e7ek \u00e7ark dilimleri');\n      for (i = 0; i < remaining.length; i += 1) {\n        code = button('tk-wheel-code', remaining[i], 'spin-to');\n        code.setAttribute('data-tk-id', remaining[i]);\n        code.setAttribute('aria-label', remaining[i] + ' dilimine d\u00f6n');\n        codes.appendChild(code);\n      }\n      wrap.appendChild(pointer);\n      wrap.appendChild(wheel);\n      wrap.appendChild(spin);\n      wrap.appendChild(codes);\n      board.appendChild(wrap);\n      ui.stage.appendChild(board);\n      updateTopbar();\n    }\n\n    function spinWheel(forcedId) {\n      var remaining = [];\n      var id;\n      var wheel;\n      var delay = 650;\n      var i;\n      if (state.spinLock) {\n        return;\n      }\n      for (i = 0; i < state.activeIds.length; i += 1) {\n        if (!Object.prototype.hasOwnProperty.call(state.answers, state.activeIds[i])) {\n          remaining.push(state.activeIds[i]);\n        }\n      }\n      if (!remaining.length) {\n        finishRound();\n        return;\n      }\n      id = remaining[Math.floor(Math.random() * remaining.length)];\n      if (forcedId) {\n        if (contains(remaining, forcedId)) {\n          id = forcedId;\n        }\n      }\n      state.spinLock = true;\n      wheel = ui.stage.querySelector('[data-tk-role=\"wheel\"]');\n      state.wheelTurns += 1;\n      if (wheel) {\n        wheel.style.transform = 'rotate(' + (state.wheelTurns * 720 + Math.floor(Math.random() * 330)) + 'deg)';\n      }\n      setLive(id + ' dilimi se\u00e7ildi.');\n      setTimeout(function () {\n        state.spinLock = false;\n        renderQuiz(getItem(id));\n      }, delay);\n    }\n\n    function renderTimeline() {\n      var board;\n      var list;\n      var positions;\n      var check;\n      clear(ui.stage);\n      clear(ui.feedback);\n      ui.feedback.hidden = true;\n      state.locked = false;\n      state.selectedSortToken = '';\n      board = make('div', 'tk-board');\n      board.appendChild(make('p', 'tk-category', 'ORTAK ZAMAN \u015eER\u0130D\u0130'));\n      board.appendChild(make('h2', 'tk-question', 'Olay kartlar\u0131n\u0131 en eskiden en yeniye s\u0131ralay\u0131n.'));\n      list = make('ol', 'tk-timeline-list');\n      appendSortRows(list, state.timelineOrder, 'timeline', null);\n      board.appendChild(list);\n      positions = makePositionRow(state.timelineOrder.length, 'timeline');\n      board.appendChild(positions);\n      check = button('tk-button', 'ZAMAN \u015eER\u0130D\u0130N\u0130 KONTROL ET', 'check-timeline');\n      check.style.marginTop = '16px';\n      board.appendChild(check);\n      ui.stage.appendChild(board);\n      setLive('Kartlar\u0131 s\u00fcr\u00fckleyin; mobil veya klavyede kart\u0131 se\u00e7ip konum numaras\u0131na dokunun.');\n      updateTopbar();\n    }\n\n    function checkTimeline() {\n      var i;\n      var item;\n      var actual;\n      var correct;\n      var wrongItems = [];\n      var panel;\n      var title;\n      var details;\n      var actions;\n      if (state.locked) {\n        return;\n      }\n      state.locked = true;\n      for (i = 0; i < state.activeIds.length; i += 1) {\n        item = getItem(state.activeIds[i]);\n        actual = indexOf(state.timelineOrder, item.id) + 1;\n        correct = actual === item.timelinePosition;\n        state.answers[item.id] = correct;\n        if (correct) {\n          state.correct += 1;\n          state.score += 100;\n        } else {\n          state.wrong += 1;\n          wrongItems.push(item);\n        }\n      }\n      updateTopbar();\n      clear(ui.feedback);\n      ui.feedback.hidden = false;\n      ui.feedback.className = 'tk-feedback ' + (wrongItems.length ? 'tk-wrong' : 'tk-correct');\n      title = make('p', 'tk-feedback-title', wrongItems.length ? '\u2717 Baz\u0131 kartlar yanl\u0131\u015f konumda' : '\u2713 Do\u011fru!');\n      ui.feedback.appendChild(title);\n      ui.feedback.appendChild(make('p', 'tk-feedback-text', state.correct + ' do\u011fru, ' + state.wrong + ' yanl\u0131\u015f konum.'));\n      if (wrongItems.length) {\n        panel = make('div', 'tk-explanation');\n        panel.hidden = true;\n        panel.setAttribute('data-tk-role', 'explanation');\n        for (i = 0; i < wrongItems.length; i += 1) {\n          details = make('p', 'tk-feedback-text', wrongItems[i].correctText + ' \u2014 ' + wrongItems[i].explanation);\n          panel.appendChild(details);\n        }\n        ui.feedback.appendChild(panel);\n      }\n      actions = make('div', 'tk-feedback-actions');\n      if (wrongItems.length) {\n        actions.appendChild(button('tk-button tk-button-secondary', 'A\u00e7\u0131klamay\u0131 G\u00f6r', 'toggle-explanation'));\n      }\n      actions.appendChild(button('tk-button', 'SONUCU G\u00d6R', 'finish-direct'));\n      ui.feedback.appendChild(actions);\n      setLive(wrongItems.length ? 'Zaman \u015feridinde yanl\u0131\u015f konumlar var. Do\u011fru s\u0131ralar a\u00e7\u0131klama alan\u0131nda g\u00f6sterildi.' : 'Zaman \u015feridinin tamam\u0131 do\u011fru.');\n    }\n\n    function prepareMemoryCards() {\n      var items = activeItems();\n      var cards = [];\n      var i;\n      for (i = 0; i < items.length; i += 1) {\n        cards.push({ uid: items[i].id + '-L', pairId: items[i].id, text: items[i].left });\n        cards.push({ uid: items[i].id + '-R', pairId: items[i].id, text: items[i].right });\n      }\n      state.memoryCards = shuffle(cards);\n    }\n\n    function memoryCard(uid) {\n      var i;\n      for (i = 0; i < state.memoryCards.length; i += 1) {\n        if (state.memoryCards[i].uid === uid) {\n          return state.memoryCards[i];\n        }\n      }\n      return null;\n    }\n\n    function renderMemory() {\n      var board;\n      var grid;\n      var i;\n      var card;\n      var open;\n      var matched;\n      var node;\n      clear(ui.stage);\n      clear(ui.feedback);\n      ui.feedback.hidden = true;\n      board = make('div', 'tk-board');\n      board.appendChild(make('p', 'tk-category', 'E\u015eLE\u015eEN \u00c7\u0130FTLER'));\n      board.appendChild(make('h2', 'tk-question', '\u0130ki kart a\u00e7\u0131n ve do\u011fru \u00e7iftleri bulun.'));\n      grid = make('div', 'tk-memory-grid');\n      for (i = 0; i < state.memoryCards.length; i += 1) {\n        card = state.memoryCards[i];\n        open = contains(state.openCards, card.uid);\n        matched = !!state.matchedPairs[card.pairId];\n        node = button('tk-memory-card' + (open ? ' tk-open' : '') + (matched ? ' tk-matched' : ''), open || matched ? card.text : '?', 'memory-card');\n        node.setAttribute('data-tk-uid', card.uid);\n        node.setAttribute('aria-label', open || matched ? card.text : 'Kapal\u0131 kart');\n        node.disabled = matched;\n        grid.appendChild(node);\n      }\n      board.appendChild(grid);\n      ui.stage.appendChild(board);\n      updateTopbar();\n    }\n\n    function openMemory(uid) {\n      var card;\n      var first;\n      var second;\n      var item;\n      var cleanUp;\n      if (state.memoryLock || contains(state.openCards, uid)) {\n        return;\n      }\n      card = memoryCard(uid);\n      if (!card || state.matchedPairs[card.pairId]) {\n        return;\n      }\n      state.openCards.push(uid);\n      renderMemory();\n      if (state.openCards.length < 2) {\n        return;\n      }\n      state.memoryLock = true;\n      first = memoryCard(state.openCards[0]);\n      second = memoryCard(state.openCards[1]);\n      if (first.pairId === second.pairId) {\n        state.matchedPairs[first.pairId] = true;\n        item = getItem(first.pairId);\n        state.answers[first.pairId] = !state.pairMistakes[first.pairId];\n        if (state.answers[first.pairId]) {\n          state.correct += 1;\n          state.score += 100;\n          setLive('\u2713 Do\u011fru e\u015fle\u015fme: ' + item.correctText + '. ' + item.explanation);\n        } else {\n          state.wrong += 1;\n          setLive('\u2713 \u00c7ift bulundu; \u00f6nceki yanl\u0131\u015f deneme nedeniyle bu etkinlik yanl\u0131\u015f hanesine i\u015flendi. ' + item.correctText + '. ' + item.explanation);\n        }\n        cleanUp = function () {\n          state.openCards = [];\n          state.memoryLock = false;\n          if (answerCount() >= state.activeIds.length) {\n            finishRound();\n          } else {\n            renderMemory();\n          }\n        };\n        setTimeout(cleanUp, 350);\n      } else {\n        state.pairMistakes[first.pairId] = true;\n        state.pairMistakes[second.pairId] = true;\n        item = getItem(first.pairId);\n        setLive('\u2717 Bu kartlar e\u015fle\u015fmiyor. Do\u011fru e\u015fle\u015fme: ' + item.correctText + '. ' + item.explanation);\n        setTimeout(function () {\n          state.openCards = [];\n          state.memoryLock = false;\n          renderMemory();\n        }, 850);\n      }\n    }\n\n    function moveSort(token, direction, scope) {\n      var list = scope === 'timeline' ? state.timelineOrder : state.sortOrders[state.currentId];\n      var index = indexOf(list, token);\n      var target = index + direction;\n      var temp;\n      if (!list || index < 0 || target < 0 || target >= list.length || state.locked) {\n        return;\n      }\n      temp = list[index];\n      list[index] = list[target];\n      list[target] = temp;\n      renderSortScope(scope);\n    }\n\n    function placeSort(position, scope) {\n      var list = scope === 'timeline' ? state.timelineOrder : state.sortOrders[state.currentId];\n      var index;\n      var token;\n      if (!state.selectedSortToken || !list || state.locked) {\n        setLive('\u00d6nce ta\u015f\u0131mak istedi\u011finiz kart\u0131 se\u00e7in.');\n        return;\n      }\n      index = indexOf(list, state.selectedSortToken);\n      if (index < 0 || position < 0 || position >= list.length) {\n        return;\n      }\n      token = list.splice(index, 1)[0];\n      list.splice(position, 0, token);\n      state.selectedSortToken = '';\n      renderSortScope(scope);\n    }\n\n    function dropSort(dragToken, targetToken, scope) {\n      var list = scope === 'timeline' ? state.timelineOrder : state.sortOrders[state.currentId];\n      var from;\n      var to;\n      var token;\n      if (!list || state.locked || dragToken === targetToken) {\n        return;\n      }\n      from = indexOf(list, dragToken);\n      to = indexOf(list, targetToken);\n      if (from < 0 || to < 0) {\n        return;\n      }\n      token = list.splice(from, 1)[0];\n      list.splice(to, 0, token);\n      renderSortScope(scope);\n    }\n\n    function renderSortScope(scope) {\n      if (scope === 'timeline') {\n        renderTimeline();\n      } else {\n        renderSort(getItem(state.currentId));\n      }\n    }\n\n    function checkOrder() {\n      var item = getItem(state.currentId);\n      var order = state.sortOrders[state.currentId] || [];\n      var correct = order.length === item.correctOrder.length;\n      var i;\n      if (state.locked) {\n        return;\n      }\n      for (i = 0; i < order.length; i += 1) {\n        if (!correct) {\n          break;\n        }\n        if (normalize(order[i]) !== normalize(item.correctOrder[i])) {\n          correct = false;\n        }\n      }\n      recordAnswer(item, correct);\n    }\n\n    function finishRound() {\n      var total = state.activeIds.length;\n      var percent = total ? Math.round((state.correct \/ total) * 100) : 0;\n      var message;\n      var wrongIds = [];\n      var id;\n      var high;\n      if (percent < 50) {\n        message = 'Konuyu biraz daha tekrar et.';\n      } else if (percent < 70) {\n        message = '\u0130yi gidiyorsun!';\n      } else if (percent < 85) {\n        message = '\u00c7ok iyi!';\n      } else {\n        message = 'Tarih ustas\u0131!';\n      }\n      for (id in state.answers) {\n        if (Object.prototype.hasOwnProperty.call(state.answers, id)) {\n          if (!state.answers[id]) {\n            wrongIds.push(id);\n          }\n        }\n      }\n      state.lastWrongIds = wrongIds;\n      showScreen('result');\n      ui.resultTitle.textContent = state.roundIsRetry ? 'Yanl\u0131\u015flar turu tamamland\u0131' : 'Oyun tamamland\u0131';\n      ui.resultCorrect.textContent = String(state.correct);\n      ui.resultWrong.textContent = String(state.wrong);\n      ui.resultPercent.textContent = '%' + percent;\n      ui.resultScore.textContent = String(state.score);\n      ui.resultMessage.textContent = message;\n      ui.retryWrong.hidden = wrongIds.length === 0;\n      ui.shareStatus.textContent = '';\n      try {\n        high = Number(localStorage.getItem('tk-game-' + DATA.slug + '-high') || '0');\n        if (state.score > high) {\n          localStorage.setItem('tk-game-' + DATA.slug + '-high', String(state.score));\n        }\n      } catch (ignore) {\n        high = 0;\n      }\n    }\n\n    function shareResult() {\n      var total = state.activeIds.length;\n      var percent = total ? Math.round((state.correct \/ total) * 100) : 0;\n      var text = DATA.title + ' oyununda ' + state.correct + ' do\u011fru, ' + state.wrong + ' yanl\u0131\u015f yapt\u0131m. Ba\u015far\u0131: %' + percent + ', puan: ' + state.score + '. @tarihkursu';\n      if (navigator.share) {\n        try {\n          navigator.share({ title: DATA.title, text: text }).then(function () {\n            ui.shareStatus.textContent = 'Sonu\u00e7 payla\u015f\u0131m ekran\u0131na g\u00f6nderildi.';\n          }, function () {\n            copyFallback(text);\n          });\n          return;\n        } catch (ignore) {\n          copyFallback(text);\n          return;\n        }\n      }\n      copyFallback(text);\n    }\n\n    function copyFallback(text) {\n      var area = make('textarea', 'tk-input');\n      var copied = false;\n      area.value = text;\n      area.setAttribute('aria-label', 'Payla\u015f\u0131labilir sonu\u00e7 metni');\n      root.appendChild(area);\n      area.select();\n      try {\n        copied = document.execCommand('copy');\n      } catch (ignore) {\n        copied = false;\n      }\n      if (copied) {\n        root.removeChild(area);\n        ui.shareStatus.textContent = 'Sonu\u00e7 metni panoya kopyaland\u0131.';\n      } else {\n        ui.shareStatus.textContent = text;\n        area.focus();\n      }\n    }\n\n    function findAction(node) {\n      while (node) {\n        if (node === root) {\n          break;\n        }\n        if (node.getAttribute) {\n          if (node.getAttribute('data-tk-action')) {\n            return node;\n          }\n        }\n        node = node.parentNode;\n      }\n      return null;\n    }\n\n    function onClick(event) {\n      var target = findAction(event.target);\n      var action;\n      var item;\n      var input;\n      var value;\n      var source;\n      var explanation;\n      var scope;\n      var token;\n      var direction;\n      var position;\n      if (!target) {\n        return;\n      }\n      action = target.getAttribute('data-tk-action');\n      if (action === 'answer') {\n        answerCurrent(target.getAttribute('data-tk-value'));\n      } else if (action === 'open-submit') {\n        item = getItem(state.currentId);\n        input = ui.stage.querySelector('[data-tk-role=\"open-input\"]');\n        value = input ? input.value : '';\n        if (!normalize(value)) {\n          setLive('L\u00fctfen bir cevap yaz\u0131n.');\n        } else {\n          recordAnswer(item, accepted(item, value));\n        }\n      } else if (action === 'identity-submit') {\n        item = getItem(state.currentId);\n        input = ui.stage.querySelector('[data-tk-role=\"identity-input\"]');\n        value = input ? input.value : '';\n        if (!normalize(value)) {\n          setLive('L\u00fctfen bir cevap yaz\u0131n.');\n        } else {\n          recordAnswer(item, accepted(item, value));\n        }\n      } else if (action === 'next-hint') {\n        item = getItem(state.currentId);\n        state.hintShown[item.id] = Math.min(item.hints.length, (state.hintShown[item.id] || 0) + 1);\n        renderIdentity(item);\n      } else if (action === 'select-card') {\n        state.selectedCard = true;\n        target.setAttribute('aria-pressed', 'true');\n        setLive('Kart se\u00e7ildi. \u015eimdi do\u011fru hedefe dokunun.');\n      } else if (action === 'match-target' || action === 'group-target') {\n        if (!state.selectedCard) {\n          setLive('\u00d6nce kart\u0131 se\u00e7in veya kart\u0131 hedefe s\u00fcr\u00fckleyin.');\n          return;\n        }\n        item = getItem(state.currentId);\n        value = target.getAttribute('data-tk-value');\n        recordAnswer(item, action === 'match-target' ? normalize(value) === normalize(item.right) : normalize(value) === normalize(item.correctCategory));\n      } else if (action === 'check-order') {\n        checkOrder();\n      } else if (action === 'select-sort') {\n        state.selectedSortToken = target.getAttribute('data-tk-token');\n        scope = target.parentNode.getAttribute('data-tk-sort-scope') || 'order';\n        renderSortScope(scope);\n      } else if (action === 'move-sort') {\n        token = target.getAttribute('data-tk-token');\n        direction = Number(target.getAttribute('data-tk-direction'));\n        scope = target.parentNode.parentNode.getAttribute('data-tk-sort-scope') || 'order';\n        moveSort(token, direction, scope);\n      } else if (action === 'place-sort') {\n        position = Number(target.getAttribute('data-tk-position'));\n        scope = target.getAttribute('data-tk-sort-scope') || 'order';\n        placeSort(position, scope);\n      } else if (action === 'toggle-explanation') {\n        explanation = ui.feedback.querySelector('[data-tk-role=\"explanation\"]');\n        if (explanation) {\n          explanation.hidden = !explanation.hidden;\n          target.textContent = explanation.hidden ? 'A\u00e7\u0131klamay\u0131 G\u00f6r' : 'A\u00e7\u0131klamay\u0131 Gizle';\n        }\n      } else if (action === 'next') {\n        nextStep();\n      } else if (action === 'open-box') {\n        openBox(target.getAttribute('data-tk-id'));\n      } else if (action === 'spin') {\n        spinWheel('');\n      } else if (action === 'spin-to') {\n        spinWheel(target.getAttribute('data-tk-id'));\n      } else if (action === 'check-timeline') {\n        checkTimeline();\n      } else if (action === 'finish-direct') {\n        finishRound();\n      } else if (action === 'memory-card') {\n        openMemory(target.getAttribute('data-tk-uid'));\n      } else if (action === 'replay') {\n        startRound(null);\n      } else if (action === 'retry-wrong') {\n        if (state.lastWrongIds) {\n          if (state.lastWrongIds.length) {\n            startRound(state.lastWrongIds);\n          }\n        }\n      } else if (action === 'share') {\n        shareResult();\n      }\n    }\n\n    root.addEventListener('click', onClick);\n\n    root.addEventListener('keydown', function (event) {\n      var action = findAction(event.target);\n      if (event.key === 'Enter') {\n        if (action) {\n          if (action.getAttribute('data-tk-action') === 'identity-submit') {\n            event.preventDefault();\n            onClick(event);\n          }\n        }\n      }\n    });\n\n    root.addEventListener('dragstart', function (event) {\n      var node = event.target;\n      while (node) {\n        if (node === root) {\n          break;\n        }\n        if (node.getAttribute('data-tk-drag-source')) {\n          break;\n        }\n        if (node.getAttribute('data-tk-sort-token')) {\n          break;\n        }\n        node = node.parentNode;\n      }\n      if (!node || node === root) {\n        return;\n      }\n      if (node.getAttribute('data-tk-drag-source') === 'card') {\n        state.dragType = 'card';\n        state.dragToken = state.currentId;\n      } else {\n        state.dragType = 'sort';\n        state.dragToken = node.getAttribute('data-tk-sort-token');\n        state.dragScope = node.getAttribute('data-tk-sort-scope');\n      }\n      if (event.dataTransfer) {\n        event.dataTransfer.effectAllowed = 'move';\n        event.dataTransfer.setData('text\/plain', state.dragToken || 'tk-card');\n      }\n    });\n\n    root.addEventListener('dragover', function (event) {\n      var node = event.target;\n      while (node) {\n        if (node === root) {\n          break;\n        }\n        if (node.getAttribute('data-tk-drop-target')) {\n          break;\n        }\n        if (node.getAttribute('data-tk-sort-token')) {\n          break;\n        }\n        node = node.parentNode;\n      }\n      if (node) {\n        if (node !== root) {\n          event.preventDefault();\n        }\n      }\n    });\n\n    root.addEventListener('drop', function (event) {\n      var node = event.target;\n      var item;\n      var value;\n      while (node) {\n        if (node === root) {\n          break;\n        }\n        if (node.getAttribute('data-tk-drop-target')) {\n          break;\n        }\n        if (node.getAttribute('data-tk-sort-token')) {\n          break;\n        }\n        node = node.parentNode;\n      }\n      if (!node || node === root) {\n        return;\n      }\n      event.preventDefault();\n      if (state.dragType === 'card') {\n        if (node.getAttribute('data-tk-drop-target') === 'card') {\n          state.selectedCard = true;\n          item = getItem(state.currentId);\n          value = node.getAttribute('data-tk-value');\n          if (DATA.kind === 'match') {\n            recordAnswer(item, normalize(value) === normalize(item.right));\n          } else if (DATA.kind === 'group') {\n            recordAnswer(item, normalize(value) === normalize(item.correctCategory));\n          }\n        }\n      } else if (state.dragType === 'sort') {\n        if (node.getAttribute('data-tk-sort-token')) {\n          dropSort(state.dragToken, node.getAttribute('data-tk-sort-token'), state.dragScope || 'order');\n        }\n      }\n      state.dragType = '';\n      state.dragToken = '';\n    });\n\n    ui.startButton.addEventListener('click', function (event) {\n      event.preventDefault();\n      startRound(null);\n    });\n\n    showScreen('start');\n  }\n\n  try {\n    init();\n  } catch (error) {\n    var failedRoot = document.getElementById(ROOT_ID);\n    var errorBox;\n    if (failedRoot) {\n      errorBox = failedRoot.querySelector('[data-tk-role=\"error\"]');\n      if (errorBox) {\n        errorBox.hidden = false;\n        errorBox.textContent = 'Oyun ba\u015flat\u0131lamad\u0131. Sayfay\u0131 yenileyip tekrar deneyin.';\n      }\n    }\n    if (typeof console !== 'undefined') {\n      if (console.error) {\n        console.error(error);\n      }\n    }\n  }\n}());\n<\/script>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Bu karma tarih oyunu, 9. s\u0131n\u0131f \u00f6\u011frencilerinin Tarihin Do\u011fas\u0131 konusunu kavramlar ve y\u00f6ntemler aras\u0131ndaki ili\u015fkiler \u00fczerinden tekrar etmesini sa\u011flar. Etkinliklerde ge\u00e7mi\u015f ile tarih aras\u0131ndaki fark, <a class=\"mh-excerpt-more\" href=\"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/\" title=\"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":2,"featured_media":3867,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_regular_price":[],"currency_symbol":[],"footnotes":""},"categories":[113],"tags":[356],"class_list":["post-3869","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-9-sinf-tarih-soru-cevap","tag-tarih-oyunlari"],"post_slider_layout_featured_media_urls":{"thumbnail":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-150x150.png",150,150,true],"post_slider_layout_landscape_large":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-1200x800.png",1200,800,true],"post_slider_layout_portrait_large":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-1200x945.png",1200,945,true],"post_slider_layout_square_large":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-1200x945.png",1200,945,true],"post_slider_layout_landscape":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-600x400.png",600,400,true],"post_slider_layout_portrait":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-600x900.png",600,900,true],"post_slider_layout_square":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1-600x600.png",600,600,true],"full":["https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png",1680,945,false]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model - tarihkursu.com<\/title>\n<meta name=\"description\" content=\"9. s\u0131n\u0131f Tarihin Do\u011fas\u0131 konusunu karma oyunlarla tekrar edin; kaynak, kan\u0131t, olay-olgu, kronoloji ve d\u00f6nemlendirmeyi peki\u015ftirin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model - tarihkursu.com\" \/>\n<meta property=\"og:description\" content=\"9. s\u0131n\u0131f Tarihin Do\u011fas\u0131 konusunu karma oyunlarla tekrar edin; kaynak, kan\u0131t, olay-olgu, kronoloji ve d\u00f6nemlendirmeyi peki\u015ftirin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/\" \/>\n<meta property=\"og:site_name\" content=\"tarihkursu.com\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-28T13:09:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T13:16:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1680\" \/>\n\t<meta property=\"og:image:height\" content=\"945\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"tarihkursu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"tarihkursu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/\"},\"author\":{\"name\":\"tarihkursu\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#\\\/schema\\\/person\\\/d0f9105e31352dbe9f08d098ffb8c878\"},\"headline\":\"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model\",\"datePublished\":\"2026-08-28T13:09:39+00:00\",\"dateModified\":\"2026-08-28T13:16:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/\"},\"wordCount\":402,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#\\\/schema\\\/person\\\/4d7bdc3b79e9f5198455474c0f203f3c\"},\"image\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/10-1.png\",\"keywords\":[\"tarih oyunlar\u0131\"],\"articleSection\":[\"9. S\u0131n\u0131f Tarih SORU-CEVAP\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/\",\"url\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/\",\"name\":\"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model - tarihkursu.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/10-1.png\",\"datePublished\":\"2026-08-28T13:09:39+00:00\",\"dateModified\":\"2026-08-28T13:16:12+00:00\",\"description\":\"9. s\u0131n\u0131f Tarihin Do\u011fas\u0131 konusunu karma oyunlarla tekrar edin; kaynak, kan\u0131t, olay-olgu, kronoloji ve d\u00f6nemlendirmeyi peki\u015ftirin.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/10-1.png\",\"contentUrl\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/10-1.png\",\"width\":1680,\"height\":945},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/2026\\\/08\\\/28\\\/ed\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\\\/\\\/tarihkursu.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#website\",\"url\":\"https:\\\/\\\/tarihkursu.com\\\/\",\"name\":\"Tarih Kursu\",\"description\":\"\u0130\u015fimiz G\u00fcc\u00fcm\u00fcz Tarih\",\"publisher\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#\\\/schema\\\/person\\\/4d7bdc3b79e9f5198455474c0f203f3c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tarihkursu.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#\\\/schema\\\/person\\\/4d7bdc3b79e9f5198455474c0f203f3c\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/TARIHKURSU-Kopyasi.png\",\"url\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/TARIHKURSU-Kopyasi.png\",\"contentUrl\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/TARIHKURSU-Kopyasi.png\",\"width\":1080,\"height\":1080,\"caption\":\"admin\"},\"logo\":{\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/TARIHKURSU-Kopyasi.png\"},\"sameAs\":[\"https:\\\/\\\/tarihkursu.com\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/tarihkursu.com\\\/#\\\/schema\\\/person\\\/d0f9105e31352dbe9f08d098ffb8c878\",\"name\":\"tarihkursu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1354763acbc865faa7650c3e1e4431f187276d71f132349411302a546cdeae54?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1354763acbc865faa7650c3e1e4431f187276d71f132349411302a546cdeae54?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1354763acbc865faa7650c3e1e4431f187276d71f132349411302a546cdeae54?s=96&d=mm&r=g\",\"caption\":\"tarihkursu\"},\"url\":\"https:\\\/\\\/tarihkursu.com\\\/index.php\\\/author\\\/tarihkursu\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model - tarihkursu.com","description":"9. s\u0131n\u0131f Tarihin Do\u011fas\u0131 konusunu karma oyunlarla tekrar edin; kaynak, kan\u0131t, olay-olgu, kronoloji ve d\u00f6nemlendirmeyi peki\u015ftirin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/","og_locale":"tr_TR","og_type":"article","og_title":"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model - tarihkursu.com","og_description":"9. s\u0131n\u0131f Tarihin Do\u011fas\u0131 konusunu karma oyunlarla tekrar edin; kaynak, kan\u0131t, olay-olgu, kronoloji ve d\u00f6nemlendirmeyi peki\u015ftirin.","og_url":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/","og_site_name":"tarihkursu.com","article_published_time":"2026-08-28T13:09:39+00:00","article_modified_time":"2026-08-28T13:16:12+00:00","og_image":[{"width":1680,"height":945,"url":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png","type":"image\/png"}],"author":"tarihkursu","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"tarihkursu","Tahmini okuma s\u00fcresi":"2 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#article","isPartOf":{"@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/"},"author":{"name":"tarihkursu","@id":"https:\/\/tarihkursu.com\/#\/schema\/person\/d0f9105e31352dbe9f08d098ffb8c878"},"headline":"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model","datePublished":"2026-08-28T13:09:39+00:00","dateModified":"2026-08-28T13:16:12+00:00","mainEntityOfPage":{"@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/"},"wordCount":402,"commentCount":0,"publisher":{"@id":"https:\/\/tarihkursu.com\/#\/schema\/person\/4d7bdc3b79e9f5198455474c0f203f3c"},"image":{"@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#primaryimage"},"thumbnailUrl":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png","keywords":["tarih oyunlar\u0131"],"articleSection":["9. S\u0131n\u0131f Tarih SORU-CEVAP"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/","url":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/","name":"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model - tarihkursu.com","isPartOf":{"@id":"https:\/\/tarihkursu.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#primaryimage"},"image":{"@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#primaryimage"},"thumbnailUrl":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png","datePublished":"2026-08-28T13:09:39+00:00","dateModified":"2026-08-28T13:16:12+00:00","description":"9. s\u0131n\u0131f Tarihin Do\u011fas\u0131 konusunu karma oyunlarla tekrar edin; kaynak, kan\u0131t, olay-olgu, kronoloji ve d\u00f6nemlendirmeyi peki\u015ftirin.","breadcrumb":{"@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#primaryimage","url":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png","contentUrl":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2026\/08\/10-1.png","width":1680,"height":945},{"@type":"BreadcrumbList","@id":"https:\/\/tarihkursu.com\/index.php\/2026\/08\/28\/ed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/tarihkursu.com\/"},{"@type":"ListItem","position":2,"name":"Tarihin Do\u011fas\u0131 Karma Tarih Oyunu | 9. S\u0131n\u0131f Maarif Model"}]},{"@type":"WebSite","@id":"https:\/\/tarihkursu.com\/#website","url":"https:\/\/tarihkursu.com\/","name":"Tarih Kursu","description":"\u0130\u015fimiz G\u00fcc\u00fcm\u00fcz Tarih","publisher":{"@id":"https:\/\/tarihkursu.com\/#\/schema\/person\/4d7bdc3b79e9f5198455474c0f203f3c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tarihkursu.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/tarihkursu.com\/#\/schema\/person\/4d7bdc3b79e9f5198455474c0f203f3c","name":"admin","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2024\/10\/TARIHKURSU-Kopyasi.png","url":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2024\/10\/TARIHKURSU-Kopyasi.png","contentUrl":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2024\/10\/TARIHKURSU-Kopyasi.png","width":1080,"height":1080,"caption":"admin"},"logo":{"@id":"https:\/\/tarihkursu.com\/wp-content\/uploads\/2024\/10\/TARIHKURSU-Kopyasi.png"},"sameAs":["https:\/\/tarihkursu.com"]},{"@type":"Person","@id":"https:\/\/tarihkursu.com\/#\/schema\/person\/d0f9105e31352dbe9f08d098ffb8c878","name":"tarihkursu","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/secure.gravatar.com\/avatar\/1354763acbc865faa7650c3e1e4431f187276d71f132349411302a546cdeae54?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1354763acbc865faa7650c3e1e4431f187276d71f132349411302a546cdeae54?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1354763acbc865faa7650c3e1e4431f187276d71f132349411302a546cdeae54?s=96&d=mm&r=g","caption":"tarihkursu"},"url":"https:\/\/tarihkursu.com\/index.php\/author\/tarihkursu\/"}]}},"_links":{"self":[{"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/posts\/3869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/comments?post=3869"}],"version-history":[{"count":2,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/posts\/3869\/revisions"}],"predecessor-version":[{"id":3872,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/posts\/3869\/revisions\/3872"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/media\/3867"}],"wp:attachment":[{"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/media?parent=3869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/categories?post=3869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tarihkursu.com\/index.php\/wp-json\/wp\/v2\/tags?post=3869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}