From a88ffdc70ae31d881260dd59087ff696a8636c1c Mon Sep 17 00:00:00 2001 From: giteaadmin Date: Sun, 31 May 2026 09:05:24 +0000 Subject: [PATCH] update special cards flow --- www/html/Admin/admin.css | 86 +- www/html/Admin/admin.js | 137 +- www/html/Admin/index.html | 24 +- www/html/Game/data/quiz-settings.json | 1503 ++++++++++++++++- www/html/Game/public/img/special-cards | 1 + .../public/img/special-quiz/icon-lawyer.png | Bin 0 -> 66006 bytes .../public/img/special-quiz/icon-police.png | Bin 0 -> 54607 bytes www/html/Game/public/js/play.js | 273 ++- www/html/Game/public/play.html | 62 +- www/html/Game/server.js | 333 +++- 10 files changed, 2315 insertions(+), 104 deletions(-) create mode 120000 www/html/Game/public/img/special-cards create mode 100644 www/html/Game/public/img/special-quiz/icon-lawyer.png create mode 100644 www/html/Game/public/img/special-quiz/icon-police.png diff --git a/www/html/Admin/admin.css b/www/html/Admin/admin.css index 355bd35..4b5daa5 100644 --- a/www/html/Admin/admin.css +++ b/www/html/Admin/admin.css @@ -669,14 +669,92 @@ legend { border-radius: 999px; white-space: nowrap; } -.sq-card-grid { + +/* —— เลือกการ์ดพิเศษ (card-1..7 จาก trycss/10-Game-1-result) —— */ +.sq-card-picker-wrap { + display: flex; + flex-wrap: wrap; + gap: 1.25rem; + align-items: flex-start; + margin-bottom: 1rem; +} +.sq-card-picker { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); + gap: 0.65rem; + flex: 1 1 420px; + max-width: 720px; +} +.sq-card-pick { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.35rem; + padding: 0.45rem 0.35rem 0.5rem; + border: 2px solid var(--border); + border-radius: 12px; + background: rgba(255, 255, 255, 0.03); + cursor: pointer; + transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s; +} +.sq-card-pick:hover { + border-color: rgba(122, 162, 247, 0.55); + transform: translateY(-1px); +} +.sq-card-pick.is-selected { + border-color: var(--accent); + box-shadow: 0 0 0 2px rgba(122, 162, 247, 0.35), 0 4px 16px rgba(0, 0, 0, 0.25); + background: var(--accent-dim); +} +.sq-card-pick img { + width: 72px; + height: auto; + max-height: 96px; + object-fit: contain; + display: block; + image-rendering: auto; +} +.sq-card-pick-cap { + font-size: 0.68rem; + font-weight: 600; + color: var(--muted); + text-align: center; + line-height: 1.15; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.sq-card-pick.is-selected .sq-card-pick-cap { color: var(--accent); } +.sq-card-preview { + flex: 0 0 auto; + padding: 0.75rem; + border: 1px solid var(--border); + border-radius: var(--radius); + background: rgba(0, 0, 0, 0.25); + text-align: center; +} +.sq-card-preview-label { + margin: 0 0 0.5rem; + font-size: 0.78rem; + color: var(--muted); +} +.sq-card-preview-img { + width: 120px; + height: auto; + max-height: 160px; + object-fit: contain; + display: block; + margin: 0 auto; +} +.sq-card-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.85rem; + margin-top: 0.25rem; } -.sq-card-grid .sq-card-url { grid-column: 1 / -1; } -.sq-card-grid input, -.sq-card-grid select { width: 100%; } +.sq-card-meta input, +.sq-card-meta select { width: 100%; } .sq-count { font-weight: 400; font-size: 0.8rem; diff --git a/www/html/Admin/admin.js b/www/html/Admin/admin.js index 715309a..024ea11 100644 --- a/www/html/Admin/admin.js +++ b/www/html/Admin/admin.js @@ -248,8 +248,129 @@ /* ===== ชุดคำถามพิเศษ (Level×Case = 15 ชุด) รับการ์ดพิเศษ ===== */ var SPECIAL_CARD_RARITIES = ['common', 'rare', 'legendary']; + var SPECIAL_CARD_ASSET_BASE = '/Game/img/special-cards/'; + var SPECIAL_CARD_CATALOG = [ + { id: 1, en: 'Time Dilation', th: 'เพิ่มเวลาเล่นมินิเกมทันที (+10 วินาที)' }, + { id: 2, en: 'Extension', th: 'เพิ่มเวลาในห้องพิจารณาคดี (+10 วิ FINAL VOTE)' }, + { id: 3, en: 'Ban Card', th: 'ห้ามเล่นมินิเกม 1 ตา' }, + { id: 4, en: 'Silence Card', th: 'การ์ดปิดปาก' }, + { id: 5, en: 'Bail Coin', th: 'เหรียญประกันตัว' }, + { id: 6, en: 'Fund', th: 'รับ coin เพิ่ม' }, + { id: 7, en: 'Free Evidence', th: 'รับหลักฐานฟรี' }, + ]; var specialQuizSetsState = {}; var specialQuizCurrentKey = 'L1_C1'; + var specialCardPickerBuilt = false; + + function specialCardTxtFilename(id) { + return id === 7 ? 'card--7txt.png' : 'card-' + id + '-txt.png'; + } + + function specialCardImageUrl(id) { + return SPECIAL_CARD_ASSET_BASE + 'card-' + id + '.png'; + } + + function specialCardTxtImageUrl(id) { + return SPECIAL_CARD_ASSET_BASE + specialCardTxtFilename(id); + } + + function specialCardCatalogEntry(id) { + for (var i = 0; i < SPECIAL_CARD_CATALOG.length; i++) { + if (SPECIAL_CARD_CATALOG[i].id === id) return SPECIAL_CARD_CATALOG[i]; + } + return null; + } + + function resolveSpecialCardIdFromSaved(card) { + if (!card || typeof card !== 'object') return null; + var cid = Number(card.cardId); + if (cid >= 1 && cid <= 7) return cid; + var url = String(card.imageUrl || ''); + var m = url.match(/\/card-(\d)\.png/i); + return m ? Number(m[1]) : null; + } + + function updateSpecialCardPreview() { + var prev = el('special-card-preview'); + var img = el('special-card-preview-img'); + var cid = parseInt(el('special-card-id') && el('special-card-id').value, 10); + if (!prev || !img) return; + if (!(cid >= 1 && cid <= 7)) { + prev.hidden = true; + img.removeAttribute('src'); + return; + } + img.src = specialCardImageUrl(cid); + img.alt = (specialCardCatalogEntry(cid) || {}).en || ('Card ' + cid); + prev.hidden = false; + } + + function setSpecialCardPickerSelection(cardId) { + var picker = el('special-card-picker'); + if (!picker) return; + picker.querySelectorAll('.sq-card-pick').forEach(function (btn) { + var on = String(btn.getAttribute('data-card-id')) === String(cardId); + btn.classList.toggle('is-selected', on); + btn.setAttribute('aria-checked', on ? 'true' : 'false'); + }); + } + + function selectSpecialCard(cardId, fillMeta) { + var idInp = el('special-card-id'); + var imgInp = el('special-card-image'); + var txtInp = el('special-card-txt-image'); + if (!(cardId >= 1 && cardId <= 7)) { + if (idInp) idInp.value = ''; + if (imgInp) imgInp.value = ''; + if (txtInp) txtInp.value = ''; + setSpecialCardPickerSelection(null); + updateSpecialCardPreview(); + return; + } + var entry = specialCardCatalogEntry(cardId); + if (idInp) idInp.value = String(cardId); + if (imgInp) imgInp.value = specialCardImageUrl(cardId); + if (txtInp) txtInp.value = specialCardTxtImageUrl(cardId); + if (fillMeta && entry) { + if (el('special-card-th')) el('special-card-th').value = entry.th; + if (el('special-card-en')) el('special-card-en').value = entry.en; + } + setSpecialCardPickerSelection(cardId); + updateSpecialCardPreview(); + } + + function ensureSpecialCardPicker() { + if (specialCardPickerBuilt) return; + var picker = el('special-card-picker'); + if (!picker) return; + picker.innerHTML = ''; + SPECIAL_CARD_CATALOG.forEach(function (entry) { + var btn = document.createElement('button'); + btn.type = 'button'; + btn.className = 'sq-card-pick'; + btn.setAttribute('role', 'radio'); + btn.setAttribute('aria-checked', 'false'); + btn.setAttribute('data-card-id', String(entry.id)); + btn.title = entry.en + ' — ' + entry.th; + var img = document.createElement('img'); + img.src = specialCardImageUrl(entry.id); + img.alt = entry.en; + img.width = 72; + img.height = 96; + img.decoding = 'async'; + img.loading = 'lazy'; + var cap = document.createElement('span'); + cap.className = 'sq-card-pick-cap'; + cap.textContent = entry.en; + btn.appendChild(img); + btn.appendChild(cap); + btn.addEventListener('click', function () { + selectSpecialCard(entry.id, true); + }); + picker.appendChild(btn); + }); + specialCardPickerBuilt = true; + } function specialQuizSelectorKey() { var L = el('special-quiz-level'); @@ -260,7 +381,7 @@ function updateSpecialQuizCount() { var c = el('special-quiz-count'); if (!c) return; - var n = document.querySelectorAll('#special-quiz-questions-list .quiz-admin-q-row').length; + var n = document.querySelectorAll('#special-quiz-questions-list .sq-mcq-row').length; c.textContent = '(' + n + ' ข้อ)'; } @@ -345,14 +466,18 @@ } function renderSpecialQuizSet(key) { + ensureSpecialCardPicker(); var set = specialQuizSetsState[key] || { questions: [], specialCard: {} }; var card = (set.specialCard && typeof set.specialCard === 'object') ? set.specialCard : {}; - if (el('special-card-th')) el('special-card-th').value = card.th || ''; - if (el('special-card-en')) el('special-card-en').value = card.en || ''; + var cardId = resolveSpecialCardIdFromSaved(card); + selectSpecialCard(cardId, false); + if (el('special-card-th')) el('special-card-th').value = card.th || (cardId ? (specialCardCatalogEntry(cardId) || {}).th : '') || ''; + if (el('special-card-en')) el('special-card-en').value = card.en || (cardId ? (specialCardCatalogEntry(cardId) || {}).en : '') || ''; if (el('special-card-rarity')) { el('special-card-rarity').value = SPECIAL_CARD_RARITIES.indexOf(card.rarity) >= 0 ? card.rarity : 'rare'; } - if (el('special-card-image')) el('special-card-image').value = card.imageUrl || ''; + if (cardId && el('special-card-image')) el('special-card-image').value = card.imageUrl || specialCardImageUrl(cardId); + if (cardId && el('special-card-txt-image')) el('special-card-txt-image').value = card.txtImageUrl || specialCardTxtImageUrl(cardId); var list = el('special-quiz-questions-list'); if (list) { list.innerHTML = ''; @@ -386,13 +511,17 @@ questions.push({ type: 'mcq', text: t, choices: choices, correctIndex: correctIndex }); }); var rar = el('special-card-rarity') ? el('special-card-rarity').value : 'rare'; + var cardId = parseInt(el('special-card-id') && el('special-card-id').value, 10); + if (!(cardId >= 1 && cardId <= 7)) cardId = null; specialQuizSetsState[key] = { questions: questions, specialCard: { + cardId: cardId, th: el('special-card-th') ? String(el('special-card-th').value || '').trim() : '', en: el('special-card-en') ? String(el('special-card-en').value || '').trim() : '', rarity: SPECIAL_CARD_RARITIES.indexOf(rar) >= 0 ? rar : 'rare', imageUrl: el('special-card-image') ? String(el('special-card-image').value || '').trim() : '', + txtImageUrl: el('special-card-txt-image') ? String(el('special-card-txt-image').value || '').trim() : '', }, }; } diff --git a/www/html/Admin/index.html b/www/html/Admin/index.html index 6478626..2407bb0 100644 --- a/www/html/Admin/index.html +++ b/www/html/Admin/index.html @@ -10,7 +10,7 @@ - + @@ -269,12 +269,23 @@
2 · การ์ดพิเศษของชุดนี้ -
+

เลือกการ์ดจากชุดโบนัส /Game/img/special-cards/ (card-1 ถึง card-7) — แสดงในโซน «โบนัสพิเศษ» ตาม mockup สรุปผล · English: Pick one bonus card asset (Time Dilation, Bail Coin, Free Evidence, etc.)

+
+
+ +
+ + + +
-
@@ -1002,6 +1010,6 @@ - + diff --git a/www/html/Game/data/quiz-settings.json b/www/html/Game/data/quiz-settings.json index 42f9d9a..cce4f92 100644 --- a/www/html/Game/data/quiz-settings.json +++ b/www/html/Game/data/quiz-settings.json @@ -290,138 +290,1503 @@ ], "specialQuizSets": { "L1_C1": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การเข้าถึงระบบคอมพิวเตอร์ของผู้อื่นโดยไม่ได้รับอนุญาต ผิดกฎหมายใด?", + "choices": [ + "พ.ร.บ.จราจร", + "พ.ร.บ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์", + "กฎหมายแรงงาน", + "กฎหมายที่ดิน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ข้อมูล log การเข้าใช้งานระบบ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานเอกสารอิเล็กทรอนิกส์", + "พยานแวดล้อม", + "ไม่ถือเป็นหลักฐาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การหลอกให้เหยื่อกรอกข้อมูล/โอนเงินผ่านข้อความหรือเว็บปลอม เรียกว่าอะไร?", + "choices": [ + "ฟิชชิง (Phishing)", + "ดีบัก (Debug)", + "แบ็กอัป (Backup)", + "ฟอร์แมต (Format)" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ผู้ที่ทำหน้าที่พิจารณาพิพากษาคดีในศาลคือใคร?", + "choices": [ + "ทนายความ", + "ผู้พิพากษา", + "เสมียนศาล", + "ตำรวจ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "บุคคลที่ถูกกล่าวหาว่ากระทำผิดและถูกฟ้องต่อศาลเรียกว่า?", + "choices": [ + "โจทก์", + "จำเลย", + "พยาน", + "ผู้เสียหาย" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เอกสารที่ศาลออกเพื่ออนุญาตให้จับกุมบุคคลเรียกว่า?", + "choices": [ + "หมายค้น", + "หมายจับ", + "หมายเรียก", + "หมายนัด" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ผู้ที่ว่าความและให้คำปรึกษากฎหมายแก่คู่ความคือ?", + "choices": [ + "ผู้พิพากษา", + "ทนายความ", + "อัยการ", + "พยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "สถานที่ที่ใช้พิจารณาคดีเรียกว่าอะไร?", + "choices": [ + "สถานีตำรวจ", + "ศาล", + "เรือนจำ", + "ที่ว่าการอำเภอ" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 1, + "th": "เพิ่มเวลาเล่นมินิเกมทันที (+10 วินาที)", + "en": "Time Dilation", + "rarity": "common", + "imageUrl": "/Game/img/special-cards/card-1.png", + "txtImageUrl": "/Game/img/special-cards/card-1-txt.png" } }, "L1_C2": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การลักทรัพย์โดยใช้กำลังประทุษร้ายหรือขู่เข็ญ เป็นความผิดฐานใด?", + "choices": [ + "ลักทรัพย์", + "ชิงทรัพย์/ปล้นทรัพย์", + "ยักยอกทรัพย์", + "ฉ้อโกง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ลายนิ้วมือที่พบในที่เกิดเหตุ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานวัตถุ", + "พยานเอกสาร", + "คำรับสารภาพ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การปล้นทรัพย์ที่ร่วมกันตั้งแต่สามคนขึ้นไป กฎหมายกำหนดโทษอย่างไร?", + "choices": [ + "เบากว่าปกติ", + "เท่าเดิม", + "หนักขึ้น", + "ยกเว้นโทษ" + ], + "correctIndex": 2 + }, + { + "type": "mcq", + "text": "ผู้ที่ทำหน้าที่พิจารณาพิพากษาคดีในศาลคือใคร?", + "choices": [ + "ทนายความ", + "ผู้พิพากษา", + "เสมียนศาล", + "ตำรวจ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "บุคคลที่ถูกกล่าวหาว่ากระทำผิดและถูกฟ้องต่อศาลเรียกว่า?", + "choices": [ + "โจทก์", + "จำเลย", + "พยาน", + "ผู้เสียหาย" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เอกสารที่ศาลออกเพื่ออนุญาตให้จับกุมบุคคลเรียกว่า?", + "choices": [ + "หมายค้น", + "หมายจับ", + "หมายเรียก", + "หมายนัด" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ผู้ที่ว่าความและให้คำปรึกษากฎหมายแก่คู่ความคือ?", + "choices": [ + "ผู้พิพากษา", + "ทนายความ", + "อัยการ", + "พยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "สถานที่ที่ใช้พิจารณาคดีเรียกว่าอะไร?", + "choices": [ + "สถานีตำรวจ", + "ศาล", + "เรือนจำ", + "ที่ว่าการอำเภอ" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 2, + "th": "เพิ่มเวลาในห้องพิจารณาคดี", + "en": "Extension", + "rarity": "common", + "imageUrl": "/Game/img/special-cards/card-2.png", + "txtImageUrl": "/Game/img/special-cards/card-2-txt.png" } }, "L1_C3": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "ผู้ที่นำคดีอาญาขึ้นฟ้องต่อศาลแทนรัฐ เรียกว่าอะไร?", + "choices": [ + "ทนายจำเลย", + "พนักงานอัยการ", + "ผู้พิพากษา", + "เจ้าพนักงานบังคับคดี" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักการ 'สันนิษฐานว่าบริสุทธิ์ไว้ก่อน' หมายความว่าอย่างไร?", + "choices": [ + "จำเลยผิดจนกว่าจะพิสูจน์ได้", + "จำเลยบริสุทธิ์จนกว่าจะพิสูจน์ว่าผิด", + "ศาลตัดสินทันที", + "ไม่ต้องมีพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การอุทธรณ์ หมายถึงอะไร?", + "choices": [ + "การยอมรับโทษ", + "การขอให้ศาลสูงพิจารณาคดีใหม่", + "การถอนฟ้อง", + "การประนีประนอม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ผู้ที่ทำหน้าที่พิจารณาพิพากษาคดีในศาลคือใคร?", + "choices": [ + "ทนายความ", + "ผู้พิพากษา", + "เสมียนศาล", + "ตำรวจ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "บุคคลที่ถูกกล่าวหาว่ากระทำผิดและถูกฟ้องต่อศาลเรียกว่า?", + "choices": [ + "โจทก์", + "จำเลย", + "พยาน", + "ผู้เสียหาย" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เอกสารที่ศาลออกเพื่ออนุญาตให้จับกุมบุคคลเรียกว่า?", + "choices": [ + "หมายค้น", + "หมายจับ", + "หมายเรียก", + "หมายนัด" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ผู้ที่ว่าความและให้คำปรึกษากฎหมายแก่คู่ความคือ?", + "choices": [ + "ผู้พิพากษา", + "ทนายความ", + "อัยการ", + "พยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "สถานที่ที่ใช้พิจารณาคดีเรียกว่าอะไร?", + "choices": [ + "สถานีตำรวจ", + "ศาล", + "เรือนจำ", + "ที่ว่าการอำเภอ" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 3, + "th": "ห้ามเล่นมินิเกม 1 ตา", + "en": "Ban Card", + "rarity": "common", + "imageUrl": "/Game/img/special-cards/card-3.png", + "txtImageUrl": "/Game/img/special-cards/card-3-txt.png" } }, "L2_C1": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การเข้าถึงระบบคอมพิวเตอร์ของผู้อื่นโดยไม่ได้รับอนุญาต ผิดกฎหมายใด?", + "choices": [ + "พ.ร.บ.จราจร", + "พ.ร.บ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์", + "กฎหมายแรงงาน", + "กฎหมายที่ดิน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ข้อมูล log การเข้าใช้งานระบบ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานเอกสารอิเล็กทรอนิกส์", + "พยานแวดล้อม", + "ไม่ถือเป็นหลักฐาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การหลอกให้เหยื่อกรอกข้อมูล/โอนเงินผ่านข้อความหรือเว็บปลอม เรียกว่าอะไร?", + "choices": [ + "ฟิชชิง (Phishing)", + "ดีบัก (Debug)", + "แบ็กอัป (Backup)", + "ฟอร์แมต (Format)" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "บุคคลที่ได้รับความเสียหายจากการกระทำผิดเรียกว่า?", + "choices": [ + "จำเลย", + "ผู้เสียหาย", + "พยาน", + "อัยการ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การให้การโดยบุคคลที่รู้เห็นเหตุการณ์ คือพยานประเภทใด?", + "choices": [ + "พยานวัตถุ", + "พยานบุคคล", + "พยานเอกสาร", + "พยานแวดล้อม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หมายที่ศาลออกเพื่อให้เข้าตรวจค้นสถานที่เรียกว่า?", + "choices": [ + "หมายจับ", + "หมายค้น", + "หมายเรียก", + "หมายขัง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การที่ผู้ต้องหายอมรับว่าได้กระทำผิดจริงเรียกว่า?", + "choices": [ + "การปฏิเสธ", + "คำรับสารภาพ", + "การอุทธรณ์", + "การไกล่เกลี่ย" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เงินหรือหลักทรัพย์ที่วางเพื่อขอปล่อยตัวชั่วคราวเรียกว่า?", + "choices": [ + "ค่าปรับ", + "หลักประกัน (ประกันตัว)", + "ค่าธรรมเนียมศาล", + "สินบน" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 4, + "th": "การ์ดปิดปาก", + "en": "Silence Card", + "rarity": "common", + "imageUrl": "/Game/img/special-cards/card-4.png", + "txtImageUrl": "/Game/img/special-cards/card-4-txt.png" } }, "L2_C2": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การลักทรัพย์โดยใช้กำลังประทุษร้ายหรือขู่เข็ญ เป็นความผิดฐานใด?", + "choices": [ + "ลักทรัพย์", + "ชิงทรัพย์/ปล้นทรัพย์", + "ยักยอกทรัพย์", + "ฉ้อโกง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ลายนิ้วมือที่พบในที่เกิดเหตุ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานวัตถุ", + "พยานเอกสาร", + "คำรับสารภาพ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การปล้นทรัพย์ที่ร่วมกันตั้งแต่สามคนขึ้นไป กฎหมายกำหนดโทษอย่างไร?", + "choices": [ + "เบากว่าปกติ", + "เท่าเดิม", + "หนักขึ้น", + "ยกเว้นโทษ" + ], + "correctIndex": 2 + }, + { + "type": "mcq", + "text": "บุคคลที่ได้รับความเสียหายจากการกระทำผิดเรียกว่า?", + "choices": [ + "จำเลย", + "ผู้เสียหาย", + "พยาน", + "อัยการ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การให้การโดยบุคคลที่รู้เห็นเหตุการณ์ คือพยานประเภทใด?", + "choices": [ + "พยานวัตถุ", + "พยานบุคคล", + "พยานเอกสาร", + "พยานแวดล้อม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หมายที่ศาลออกเพื่อให้เข้าตรวจค้นสถานที่เรียกว่า?", + "choices": [ + "หมายจับ", + "หมายค้น", + "หมายเรียก", + "หมายขัง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การที่ผู้ต้องหายอมรับว่าได้กระทำผิดจริงเรียกว่า?", + "choices": [ + "การปฏิเสธ", + "คำรับสารภาพ", + "การอุทธรณ์", + "การไกล่เกลี่ย" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เงินหรือหลักทรัพย์ที่วางเพื่อขอปล่อยตัวชั่วคราวเรียกว่า?", + "choices": [ + "ค่าปรับ", + "หลักประกัน (ประกันตัว)", + "ค่าธรรมเนียมศาล", + "สินบน" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 5, + "th": "เหรียญประกันตัว", + "en": "Bail Coin", + "rarity": "common", + "imageUrl": "/Game/img/special-cards/card-5.png", + "txtImageUrl": "/Game/img/special-cards/card-5-txt.png" } }, "L2_C3": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "ผู้ที่นำคดีอาญาขึ้นฟ้องต่อศาลแทนรัฐ เรียกว่าอะไร?", + "choices": [ + "ทนายจำเลย", + "พนักงานอัยการ", + "ผู้พิพากษา", + "เจ้าพนักงานบังคับคดี" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักการ 'สันนิษฐานว่าบริสุทธิ์ไว้ก่อน' หมายความว่าอย่างไร?", + "choices": [ + "จำเลยผิดจนกว่าจะพิสูจน์ได้", + "จำเลยบริสุทธิ์จนกว่าจะพิสูจน์ว่าผิด", + "ศาลตัดสินทันที", + "ไม่ต้องมีพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การอุทธรณ์ หมายถึงอะไร?", + "choices": [ + "การยอมรับโทษ", + "การขอให้ศาลสูงพิจารณาคดีใหม่", + "การถอนฟ้อง", + "การประนีประนอม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "บุคคลที่ได้รับความเสียหายจากการกระทำผิดเรียกว่า?", + "choices": [ + "จำเลย", + "ผู้เสียหาย", + "พยาน", + "อัยการ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การให้การโดยบุคคลที่รู้เห็นเหตุการณ์ คือพยานประเภทใด?", + "choices": [ + "พยานวัตถุ", + "พยานบุคคล", + "พยานเอกสาร", + "พยานแวดล้อม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หมายที่ศาลออกเพื่อให้เข้าตรวจค้นสถานที่เรียกว่า?", + "choices": [ + "หมายจับ", + "หมายค้น", + "หมายเรียก", + "หมายขัง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การที่ผู้ต้องหายอมรับว่าได้กระทำผิดจริงเรียกว่า?", + "choices": [ + "การปฏิเสธ", + "คำรับสารภาพ", + "การอุทธรณ์", + "การไกล่เกลี่ย" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เงินหรือหลักทรัพย์ที่วางเพื่อขอปล่อยตัวชั่วคราวเรียกว่า?", + "choices": [ + "ค่าปรับ", + "หลักประกัน (ประกันตัว)", + "ค่าธรรมเนียมศาล", + "สินบน" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 6, + "th": "รับ coin เพิ่ม", + "en": "Fund", + "rarity": "common", + "imageUrl": "/Game/img/special-cards/card-6.png", + "txtImageUrl": "/Game/img/special-cards/card-6-txt.png" } }, "L3_C1": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การเข้าถึงระบบคอมพิวเตอร์ของผู้อื่นโดยไม่ได้รับอนุญาต ผิดกฎหมายใด?", + "choices": [ + "พ.ร.บ.จราจร", + "พ.ร.บ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์", + "กฎหมายแรงงาน", + "กฎหมายที่ดิน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ข้อมูล log การเข้าใช้งานระบบ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานเอกสารอิเล็กทรอนิกส์", + "พยานแวดล้อม", + "ไม่ถือเป็นหลักฐาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การหลอกให้เหยื่อกรอกข้อมูล/โอนเงินผ่านข้อความหรือเว็บปลอม เรียกว่าอะไร?", + "choices": [ + "ฟิชชิง (Phishing)", + "ดีบัก (Debug)", + "แบ็กอัป (Backup)", + "ฟอร์แมต (Format)" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การขอให้ศาลสูงพิจารณาคดีใหม่หลังไม่พอใจคำพิพากษาเรียกว่า?", + "choices": [ + "การฟ้องร้อง", + "การอุทธรณ์/ฎีกา", + "การไกล่เกลี่ย", + "การสืบพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักฐานที่ไม่ได้ชี้โดยตรงแต่ทำให้อนุมานข้อเท็จจริงได้เรียกว่า?", + "choices": [ + "พยานแวดล้อม", + "พยานบุคคล", + "คำรับสารภาพ", + "พยานเอกสาร" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ระยะเวลาที่กฎหมายกำหนดให้ฟ้องคดีได้เรียกว่า?", + "choices": [ + "อายุความ", + "วันนัด", + "กำหนดโทษ", + "ทัณฑ์บน" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การกระทำที่ครบองค์ประกอบความผิดตามกฎหมายอาญาเรียกว่า?", + "choices": [ + "การละเมิด", + "ความผิดอาญา", + "การผิดสัญญา", + "การละเว้น" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เจ้าหน้าที่ที่ทำหน้าที่สืบสวนสอบสวนคดีอาญาคือ?", + "choices": [ + "พนักงานสอบสวน", + "ผู้พิพากษา", + "เสมียนศาล", + "ทนายความ" + ], + "correctIndex": 0 + } + ], "specialCard": { - "th": "", - "en": "", + "cardId": 7, + "th": "รับหลักฐานฟรี", + "en": "Free Evidence", "rarity": "rare", - "imageUrl": "" + "imageUrl": "/Game/img/special-cards/card-7.png", + "txtImageUrl": "/Game/img/special-cards/card--7txt.png" } }, "L3_C2": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การลักทรัพย์โดยใช้กำลังประทุษร้ายหรือขู่เข็ญ เป็นความผิดฐานใด?", + "choices": [ + "ลักทรัพย์", + "ชิงทรัพย์/ปล้นทรัพย์", + "ยักยอกทรัพย์", + "ฉ้อโกง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ลายนิ้วมือที่พบในที่เกิดเหตุ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานวัตถุ", + "พยานเอกสาร", + "คำรับสารภาพ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การปล้นทรัพย์ที่ร่วมกันตั้งแต่สามคนขึ้นไป กฎหมายกำหนดโทษอย่างไร?", + "choices": [ + "เบากว่าปกติ", + "เท่าเดิม", + "หนักขึ้น", + "ยกเว้นโทษ" + ], + "correctIndex": 2 + }, + { + "type": "mcq", + "text": "การขอให้ศาลสูงพิจารณาคดีใหม่หลังไม่พอใจคำพิพากษาเรียกว่า?", + "choices": [ + "การฟ้องร้อง", + "การอุทธรณ์/ฎีกา", + "การไกล่เกลี่ย", + "การสืบพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักฐานที่ไม่ได้ชี้โดยตรงแต่ทำให้อนุมานข้อเท็จจริงได้เรียกว่า?", + "choices": [ + "พยานแวดล้อม", + "พยานบุคคล", + "คำรับสารภาพ", + "พยานเอกสาร" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ระยะเวลาที่กฎหมายกำหนดให้ฟ้องคดีได้เรียกว่า?", + "choices": [ + "อายุความ", + "วันนัด", + "กำหนดโทษ", + "ทัณฑ์บน" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การกระทำที่ครบองค์ประกอบความผิดตามกฎหมายอาญาเรียกว่า?", + "choices": [ + "การละเมิด", + "ความผิดอาญา", + "การผิดสัญญา", + "การละเว้น" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เจ้าหน้าที่ที่ทำหน้าที่สืบสวนสอบสวนคดีอาญาคือ?", + "choices": [ + "พนักงานสอบสวน", + "ผู้พิพากษา", + "เสมียนศาล", + "ทนายความ" + ], + "correctIndex": 0 + } + ], "specialCard": { - "th": "", - "en": "", + "cardId": 1, + "th": "เพิ่มเวลาเล่นมินิเกมทันที (+10 วินาที)", + "en": "Time Dilation", "rarity": "rare", - "imageUrl": "" + "imageUrl": "/Game/img/special-cards/card-1.png", + "txtImageUrl": "/Game/img/special-cards/card-1-txt.png" } }, "L3_C3": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "ผู้ที่นำคดีอาญาขึ้นฟ้องต่อศาลแทนรัฐ เรียกว่าอะไร?", + "choices": [ + "ทนายจำเลย", + "พนักงานอัยการ", + "ผู้พิพากษา", + "เจ้าพนักงานบังคับคดี" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักการ 'สันนิษฐานว่าบริสุทธิ์ไว้ก่อน' หมายความว่าอย่างไร?", + "choices": [ + "จำเลยผิดจนกว่าจะพิสูจน์ได้", + "จำเลยบริสุทธิ์จนกว่าจะพิสูจน์ว่าผิด", + "ศาลตัดสินทันที", + "ไม่ต้องมีพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การอุทธรณ์ หมายถึงอะไร?", + "choices": [ + "การยอมรับโทษ", + "การขอให้ศาลสูงพิจารณาคดีใหม่", + "การถอนฟ้อง", + "การประนีประนอม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การขอให้ศาลสูงพิจารณาคดีใหม่หลังไม่พอใจคำพิพากษาเรียกว่า?", + "choices": [ + "การฟ้องร้อง", + "การอุทธรณ์/ฎีกา", + "การไกล่เกลี่ย", + "การสืบพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักฐานที่ไม่ได้ชี้โดยตรงแต่ทำให้อนุมานข้อเท็จจริงได้เรียกว่า?", + "choices": [ + "พยานแวดล้อม", + "พยานบุคคล", + "คำรับสารภาพ", + "พยานเอกสาร" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ระยะเวลาที่กฎหมายกำหนดให้ฟ้องคดีได้เรียกว่า?", + "choices": [ + "อายุความ", + "วันนัด", + "กำหนดโทษ", + "ทัณฑ์บน" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การกระทำที่ครบองค์ประกอบความผิดตามกฎหมายอาญาเรียกว่า?", + "choices": [ + "การละเมิด", + "ความผิดอาญา", + "การผิดสัญญา", + "การละเว้น" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "เจ้าหน้าที่ที่ทำหน้าที่สืบสวนสอบสวนคดีอาญาคือ?", + "choices": [ + "พนักงานสอบสวน", + "ผู้พิพากษา", + "เสมียนศาล", + "ทนายความ" + ], + "correctIndex": 0 + } + ], "specialCard": { - "th": "", - "en": "", + "cardId": 2, + "th": "เพิ่มเวลาในห้องพิจารณาคดี", + "en": "Extension", "rarity": "rare", - "imageUrl": "" + "imageUrl": "/Game/img/special-cards/card-2.png", + "txtImageUrl": "/Game/img/special-cards/card-2-txt.png" } }, "L4_C1": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การเข้าถึงระบบคอมพิวเตอร์ของผู้อื่นโดยไม่ได้รับอนุญาต ผิดกฎหมายใด?", + "choices": [ + "พ.ร.บ.จราจร", + "พ.ร.บ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์", + "กฎหมายแรงงาน", + "กฎหมายที่ดิน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ข้อมูล log การเข้าใช้งานระบบ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานเอกสารอิเล็กทรอนิกส์", + "พยานแวดล้อม", + "ไม่ถือเป็นหลักฐาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การหลอกให้เหยื่อกรอกข้อมูล/โอนเงินผ่านข้อความหรือเว็บปลอม เรียกว่าอะไร?", + "choices": [ + "ฟิชชิง (Phishing)", + "ดีบัก (Debug)", + "แบ็กอัป (Backup)", + "ฟอร์แมต (Format)" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "หลักการที่ห้ามนำบุคคลมาฟ้องซ้ำในความผิดเดียวกันเรียกว่า?", + "choices": [ + "อายุความ", + "หลักห้ามฟ้องซ้ำ", + "หลักสันนิษฐานบริสุทธิ์", + "ภาระการพิสูจน์" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ภาระการพิสูจน์ในคดีอาญาตกอยู่ที่ฝ่ายใด?", + "choices": [ + "จำเลย", + "โจทก์/พนักงานอัยการ", + "ศาล", + "พยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การกระทำผิดโดยไม่มีเจตนาแต่ขาดความระมัดระวังเรียกว่า?", + "choices": [ + "เจตนา", + "ประมาท", + "บันดาลโทสะ", + "ป้องกันโดยชอบ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "คำสั่งศาลให้คุมขังผู้ต้องหาระหว่างพิจารณาเรียกว่า?", + "choices": [ + "หมายขัง", + "หมายค้น", + "หมายเรียก", + "หมายปล่อย" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การยุติข้อพิพาทโดยมีคนกลางช่วยให้ตกลงกันเรียกว่า?", + "choices": [ + "การพิพากษา", + "การไกล่เกลี่ย", + "การอุทธรณ์", + "การบังคับคดี" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", + "cardId": 3, + "th": "ห้ามเล่นมินิเกม 1 ตา", + "en": "Ban Card", "rarity": "rare", - "imageUrl": "" + "imageUrl": "/Game/img/special-cards/card-3.png", + "txtImageUrl": "/Game/img/special-cards/card-3-txt.png" } }, "L4_C2": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การลักทรัพย์โดยใช้กำลังประทุษร้ายหรือขู่เข็ญ เป็นความผิดฐานใด?", + "choices": [ + "ลักทรัพย์", + "ชิงทรัพย์/ปล้นทรัพย์", + "ยักยอกทรัพย์", + "ฉ้อโกง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ลายนิ้วมือที่พบในที่เกิดเหตุ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานวัตถุ", + "พยานเอกสาร", + "คำรับสารภาพ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การปล้นทรัพย์ที่ร่วมกันตั้งแต่สามคนขึ้นไป กฎหมายกำหนดโทษอย่างไร?", + "choices": [ + "เบากว่าปกติ", + "เท่าเดิม", + "หนักขึ้น", + "ยกเว้นโทษ" + ], + "correctIndex": 2 + }, + { + "type": "mcq", + "text": "หลักการที่ห้ามนำบุคคลมาฟ้องซ้ำในความผิดเดียวกันเรียกว่า?", + "choices": [ + "อายุความ", + "หลักห้ามฟ้องซ้ำ", + "หลักสันนิษฐานบริสุทธิ์", + "ภาระการพิสูจน์" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ภาระการพิสูจน์ในคดีอาญาตกอยู่ที่ฝ่ายใด?", + "choices": [ + "จำเลย", + "โจทก์/พนักงานอัยการ", + "ศาล", + "พยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การกระทำผิดโดยไม่มีเจตนาแต่ขาดความระมัดระวังเรียกว่า?", + "choices": [ + "เจตนา", + "ประมาท", + "บันดาลโทสะ", + "ป้องกันโดยชอบ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "คำสั่งศาลให้คุมขังผู้ต้องหาระหว่างพิจารณาเรียกว่า?", + "choices": [ + "หมายขัง", + "หมายค้น", + "หมายเรียก", + "หมายปล่อย" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การยุติข้อพิพาทโดยมีคนกลางช่วยให้ตกลงกันเรียกว่า?", + "choices": [ + "การพิพากษา", + "การไกล่เกลี่ย", + "การอุทธรณ์", + "การบังคับคดี" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", + "cardId": 4, + "th": "การ์ดปิดปาก", + "en": "Silence Card", "rarity": "rare", - "imageUrl": "" + "imageUrl": "/Game/img/special-cards/card-4.png", + "txtImageUrl": "/Game/img/special-cards/card-4-txt.png" } }, "L4_C3": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "ผู้ที่นำคดีอาญาขึ้นฟ้องต่อศาลแทนรัฐ เรียกว่าอะไร?", + "choices": [ + "ทนายจำเลย", + "พนักงานอัยการ", + "ผู้พิพากษา", + "เจ้าพนักงานบังคับคดี" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักการ 'สันนิษฐานว่าบริสุทธิ์ไว้ก่อน' หมายความว่าอย่างไร?", + "choices": [ + "จำเลยผิดจนกว่าจะพิสูจน์ได้", + "จำเลยบริสุทธิ์จนกว่าจะพิสูจน์ว่าผิด", + "ศาลตัดสินทันที", + "ไม่ต้องมีพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การอุทธรณ์ หมายถึงอะไร?", + "choices": [ + "การยอมรับโทษ", + "การขอให้ศาลสูงพิจารณาคดีใหม่", + "การถอนฟ้อง", + "การประนีประนอม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักการที่ห้ามนำบุคคลมาฟ้องซ้ำในความผิดเดียวกันเรียกว่า?", + "choices": [ + "อายุความ", + "หลักห้ามฟ้องซ้ำ", + "หลักสันนิษฐานบริสุทธิ์", + "ภาระการพิสูจน์" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ภาระการพิสูจน์ในคดีอาญาตกอยู่ที่ฝ่ายใด?", + "choices": [ + "จำเลย", + "โจทก์/พนักงานอัยการ", + "ศาล", + "พยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การกระทำผิดโดยไม่มีเจตนาแต่ขาดความระมัดระวังเรียกว่า?", + "choices": [ + "เจตนา", + "ประมาท", + "บันดาลโทสะ", + "ป้องกันโดยชอบ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "คำสั่งศาลให้คุมขังผู้ต้องหาระหว่างพิจารณาเรียกว่า?", + "choices": [ + "หมายขัง", + "หมายค้น", + "หมายเรียก", + "หมายปล่อย" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "การยุติข้อพิพาทโดยมีคนกลางช่วยให้ตกลงกันเรียกว่า?", + "choices": [ + "การพิพากษา", + "การไกล่เกลี่ย", + "การอุทธรณ์", + "การบังคับคดี" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", + "cardId": 5, + "th": "เหรียญประกันตัว", + "en": "Bail Coin", "rarity": "rare", - "imageUrl": "" + "imageUrl": "/Game/img/special-cards/card-5.png", + "txtImageUrl": "/Game/img/special-cards/card-5-txt.png" } }, "L5_C1": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การเข้าถึงระบบคอมพิวเตอร์ของผู้อื่นโดยไม่ได้รับอนุญาต ผิดกฎหมายใด?", + "choices": [ + "พ.ร.บ.จราจร", + "พ.ร.บ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์", + "กฎหมายแรงงาน", + "กฎหมายที่ดิน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ข้อมูล log การเข้าใช้งานระบบ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานเอกสารอิเล็กทรอนิกส์", + "พยานแวดล้อม", + "ไม่ถือเป็นหลักฐาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การหลอกให้เหยื่อกรอกข้อมูล/โอนเงินผ่านข้อความหรือเว็บปลอม เรียกว่าอะไร?", + "choices": [ + "ฟิชชิง (Phishing)", + "ดีบัก (Debug)", + "แบ็กอัป (Backup)", + "ฟอร์แมต (Format)" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "พยานหลักฐานที่ได้มาโดยมิชอบด้วยกฎหมาย โดยหลักแล้วศาลจะ?", + "choices": [ + "รับฟังได้เสมอ", + "อาจรับฟังไม่ได้ (ต้องห้าม)", + "ใช้ลงโทษได้ทันที", + "ส่งคืนเท่านั้น" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลัก 'ยกประโยชน์แห่งความสงสัยให้จำเลย' ใช้เมื่อใด?", + "choices": [ + "เมื่อพยานชัดเจน", + "เมื่อมีข้อสงสัยตามสมควร", + "เมื่อจำเลยรับสารภาพ", + "เมื่ออัยการร้องขอ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การร่วมกระทำผิดโดยแบ่งหน้าที่กันทำ ถือว่าเป็น?", + "choices": [ + "ตัวการร่วม", + "ผู้ใช้", + "ผู้สนับสนุน", + "ผู้รู้เห็น" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ความผิดที่ยอมความได้ หมายความว่า?", + "choices": [ + "ฟ้องไม่ได้", + "ผู้เสียหายถอนคำร้องทำให้คดีระงับได้", + "ศาลต้องตัดสินเสมอ", + "ไม่มีโทษ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การกระทำเพื่อป้องกันสิทธิของตนพอสมควรแก่เหตุเรียกว่า?", + "choices": [ + "บันดาลโทสะ", + "ป้องกันโดยชอบด้วยกฎหมาย", + "ความจำเป็น", + "ประมาท" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 6, + "th": "รับ coin เพิ่ม", + "en": "Fund", + "rarity": "legendary", + "imageUrl": "/Game/img/special-cards/card-6.png", + "txtImageUrl": "/Game/img/special-cards/card-6-txt.png" } }, "L5_C2": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "การลักทรัพย์โดยใช้กำลังประทุษร้ายหรือขู่เข็ญ เป็นความผิดฐานใด?", + "choices": [ + "ลักทรัพย์", + "ชิงทรัพย์/ปล้นทรัพย์", + "ยักยอกทรัพย์", + "ฉ้อโกง" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "ลายนิ้วมือที่พบในที่เกิดเหตุ จัดเป็นพยานหลักฐานประเภทใด?", + "choices": [ + "พยานบุคคล", + "พยานวัตถุ", + "พยานเอกสาร", + "คำรับสารภาพ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การปล้นทรัพย์ที่ร่วมกันตั้งแต่สามคนขึ้นไป กฎหมายกำหนดโทษอย่างไร?", + "choices": [ + "เบากว่าปกติ", + "เท่าเดิม", + "หนักขึ้น", + "ยกเว้นโทษ" + ], + "correctIndex": 2 + }, + { + "type": "mcq", + "text": "พยานหลักฐานที่ได้มาโดยมิชอบด้วยกฎหมาย โดยหลักแล้วศาลจะ?", + "choices": [ + "รับฟังได้เสมอ", + "อาจรับฟังไม่ได้ (ต้องห้าม)", + "ใช้ลงโทษได้ทันที", + "ส่งคืนเท่านั้น" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลัก 'ยกประโยชน์แห่งความสงสัยให้จำเลย' ใช้เมื่อใด?", + "choices": [ + "เมื่อพยานชัดเจน", + "เมื่อมีข้อสงสัยตามสมควร", + "เมื่อจำเลยรับสารภาพ", + "เมื่ออัยการร้องขอ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การร่วมกระทำผิดโดยแบ่งหน้าที่กันทำ ถือว่าเป็น?", + "choices": [ + "ตัวการร่วม", + "ผู้ใช้", + "ผู้สนับสนุน", + "ผู้รู้เห็น" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ความผิดที่ยอมความได้ หมายความว่า?", + "choices": [ + "ฟ้องไม่ได้", + "ผู้เสียหายถอนคำร้องทำให้คดีระงับได้", + "ศาลต้องตัดสินเสมอ", + "ไม่มีโทษ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การกระทำเพื่อป้องกันสิทธิของตนพอสมควรแก่เหตุเรียกว่า?", + "choices": [ + "บันดาลโทสะ", + "ป้องกันโดยชอบด้วยกฎหมาย", + "ความจำเป็น", + "ประมาท" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 7, + "th": "รับหลักฐานฟรี", + "en": "Free Evidence", + "rarity": "legendary", + "imageUrl": "/Game/img/special-cards/card-7.png", + "txtImageUrl": "/Game/img/special-cards/card--7txt.png" } }, "L5_C3": { - "questions": [], + "questions": [ + { + "type": "mcq", + "text": "ผู้ที่นำคดีอาญาขึ้นฟ้องต่อศาลแทนรัฐ เรียกว่าอะไร?", + "choices": [ + "ทนายจำเลย", + "พนักงานอัยการ", + "ผู้พิพากษา", + "เจ้าพนักงานบังคับคดี" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลักการ 'สันนิษฐานว่าบริสุทธิ์ไว้ก่อน' หมายความว่าอย่างไร?", + "choices": [ + "จำเลยผิดจนกว่าจะพิสูจน์ได้", + "จำเลยบริสุทธิ์จนกว่าจะพิสูจน์ว่าผิด", + "ศาลตัดสินทันที", + "ไม่ต้องมีพยาน" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การอุทธรณ์ หมายถึงอะไร?", + "choices": [ + "การยอมรับโทษ", + "การขอให้ศาลสูงพิจารณาคดีใหม่", + "การถอนฟ้อง", + "การประนีประนอม" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "พยานหลักฐานที่ได้มาโดยมิชอบด้วยกฎหมาย โดยหลักแล้วศาลจะ?", + "choices": [ + "รับฟังได้เสมอ", + "อาจรับฟังไม่ได้ (ต้องห้าม)", + "ใช้ลงโทษได้ทันที", + "ส่งคืนเท่านั้น" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "หลัก 'ยกประโยชน์แห่งความสงสัยให้จำเลย' ใช้เมื่อใด?", + "choices": [ + "เมื่อพยานชัดเจน", + "เมื่อมีข้อสงสัยตามสมควร", + "เมื่อจำเลยรับสารภาพ", + "เมื่ออัยการร้องขอ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การร่วมกระทำผิดโดยแบ่งหน้าที่กันทำ ถือว่าเป็น?", + "choices": [ + "ตัวการร่วม", + "ผู้ใช้", + "ผู้สนับสนุน", + "ผู้รู้เห็น" + ], + "correctIndex": 0 + }, + { + "type": "mcq", + "text": "ความผิดที่ยอมความได้ หมายความว่า?", + "choices": [ + "ฟ้องไม่ได้", + "ผู้เสียหายถอนคำร้องทำให้คดีระงับได้", + "ศาลต้องตัดสินเสมอ", + "ไม่มีโทษ" + ], + "correctIndex": 1 + }, + { + "type": "mcq", + "text": "การกระทำเพื่อป้องกันสิทธิของตนพอสมควรแก่เหตุเรียกว่า?", + "choices": [ + "บันดาลโทสะ", + "ป้องกันโดยชอบด้วยกฎหมาย", + "ความจำเป็น", + "ประมาท" + ], + "correctIndex": 1 + } + ], "specialCard": { - "th": "", - "en": "", - "rarity": "rare", - "imageUrl": "" + "cardId": 1, + "th": "เพิ่มเวลาเล่นมินิเกมทันที (+10 วินาที)", + "en": "Time Dilation", + "rarity": "legendary", + "imageUrl": "/Game/img/special-cards/card-1.png", + "txtImageUrl": "/Game/img/special-cards/card-1-txt.png" } } } diff --git a/www/html/Game/public/img/special-cards b/www/html/Game/public/img/special-cards new file mode 120000 index 0000000..432d102 --- /dev/null +++ b/www/html/Game/public/img/special-cards @@ -0,0 +1 @@ +../trycss/10-Game-1-result \ No newline at end of file diff --git a/www/html/Game/public/img/special-quiz/icon-lawyer.png b/www/html/Game/public/img/special-quiz/icon-lawyer.png new file mode 100644 index 0000000000000000000000000000000000000000..de853c39642c5269cf236e7889dddab7e0b1f676 GIT binary patch literal 66006 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
%&(p24{zIp^Gw4+MBjmrD*lA@DOg!zDz3B)5QD} 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 literal 0 HcmV?d00001 diff --git a/www/html/Game/public/img/special-quiz/icon-police.png b/www/html/Game/public/img/special-quiz/icon-police.png new file mode 100644 index 0000000000000000000000000000000000000000..dba4260fcb89432e6d60a1fcaffbdb8a3c4d9f24 GIT binary patch literal 54607 zcma%ibxd3D8*hs{6dz6*HW=2U|R+J?n8D0<; z#w+;f)PFulNPC!#%6-65d_-T=pEUO)hoZ?(uf&Io3`|U5DJDrL{YOsGYUH5OhKu?| zra3LyaoozqsW~6t>p7|IJ%=_~lG*>yHPt(h)Ur)BPleMfa8H>ge!QOKwts1g;H(SV zpWsUU&bS>f{kH?-c|u7n#txL{s%l>vWAU=d{aWWg^iH<9*=1v%{dmgzapSl6$D6); z%W{h7-4t_E1Y%{!kXYkDuqlBD#pxuAV+&VlNMJBs8R;kQnK{$MM&dDgH+ zs9Q#Dsl{G%-Jx|GV{d)=HmQyo@u40{Y}#PJm&gBU4UR z2feMgfib#&0qd@VucEdBckZ>pv7Y5XgnNmD^#pQSddub0UbftMJ^6e4AZhagmDYyY zD<&ipVl_X%ExV@F|$kv)CgR9ASTzEfUz|7+7zrAX5HK%l|D z-hol2)iL_K0yB`v!F+6b@im5@X!q+_8_{?Eb9Pf0zGsN>`YDR}OMmTTRfQCc7P?V; zlebzYY3(1|Fe}i|N|`#EqS&%)Zw z=zPPW4Bn8k$)hm;X36km^GpOju<{ehE2G1-wd5l+d$8g{53hI!2&A}ALODWIiXPQB zWnUWy%s04?hMSqe?aKlhRHWw}28IX~2rh+JenO5`ZX!v2(Kl8)ZKUE!JF@pLoy=0L zZe46rGQ(YHn9SMAooFH6*K=-=_r)>Iw2 z7x3`pjb0ny)(|B5GU~&UZ=%m0=%}EAAL|(GwXt}4d|#T-{6L7ath%i#s{)k!Q|d%G zTZS3mE52K3l%Ru9}RXDhqHs4XaETBiU{6rQe*og;3zf= z7y|^#=@^+Z&H9x{7hjR2FCAG35Kw>?P>f;0IT^OraNzNsN>7rd#Lm;zj-nQj`rbOp zCoe4jGFu;tQ$1aJUR-HD)kc0UJF#QKpXN!;+fApyH}3bn^xHf| zUS=dM_|63N3N6h#m|j#&%|1&*gG&_O@5<_y>^4K7q0UG=VuUi*x{c|7S3w&YX0yq; zodX=TaeGaxUHb z$46g!VYHQvt{YR%i%f}A-HQM!aF082z5Q^N*F9{JU8cSoB5lffDa?)oG^9ZpsT;t> zpK%$bB~~opcbhiu`yGRxJIXAj_Q4j+X2~{ob|#na^Cyy^=ay7YKtLdN#i_%u7Uh=a z0-CQ$gEzfY`|-G=MnaRSMP9{I-0Kc|o~s?00pC)b>Zbx?Q;tHy3n7cy%TOry`bS*z zgZn!7{h1S1@BoGh=mV&ToG=Hc(EGdERhHk|u;^HQbuDUTm!_#(A@J>r^_?%k3;o!W z`VqLzvAqS%YTk;u2hJl-MqXL_2J}7#=jG5VK-Hm%`szTI{0YO%tsnMf z{Omae3~Nu+K~G!j#%vQqs-K2cx0$DRAB}PR+51#ec6PcfCHDzXMDQnyUcAPLH(Ti~ zL#B5_$8`9$4$k5~{<;s1>+t8Q$AZR408nU{{wGel$_B*gj&;AJr?|`vAq=)aWobub zS;0?k<;}%MmLzj8rdSAg4#t)bzxYF2BRWuBQafb?lyEP5VuQB<9_isDmXgO>$7zrE zT+3sp_lQsN%A<4gulBm<2G7qWy9Aa`+MZpr%#FM|$S=graI3zgzKdB~tJ#6j~7akb!Uc28xuG zlY4sYHEO?XR&RjG9B2(U>jTk4ugsR=JGa_BC?2}#Q6s8TdPJXwJCAC zi@^_|wHXoh(S2`0k{HWCP?H7JXYfAccUGL%f9`eOO!77Wy`Sc9IKjN&VdkjDuTgWq zOLZRHpO0KPDd>8D$DxKT${mT*v4lad)gAiJ?!(lJ3d&9b(P@r(Z4FQrB=SvbZrE7< zVSYURbVM7smggAHK05uWxFKaniz5bH4T~imbo3?z1)rUVi4^63Y>ot zT$VUnm?#wP|cN_#h1$bUyJ z&T_jlzN>M%=VKrilD#h&Z6q(`43*WOd3B5LV!Vr|Zkqr-RX%2b<0sVJkrqrRNau%9 zFyqUS_}xompg-k$$<3->72AH%&f^O}MK|5xInFX@RwU<$G)hgCwsQ*rFx|^gFVcwI z#)sBwK^>{Sx1_r@MD~pV^yyr5eyB3NKIK)YV#_0ur<#t8(E1U?8aU5hS)iVUbIG;O z)=UdJ#q$(d5CuKMx;9AC;UhTl3yR=4l?kk$x@9lP2pM(6I(`lC6(I6<^EM1yu%^E3 z#n|RiK>k;hDVk|O^<)mvdE13FplJJ;scNGHm+I7lVu7XDp;=j)P)1NwY>E@1bMF!; z#O!08X)WcaZ8J)U=n^ANkT7n=j9xd}em$@S6E(QsS1_I1JpJgMb9~ac+Kq=_>mu3d zxGIcO*}EZSJblk!Hz~e*Q#4h--nfs@f{VFz4HUpIZ(?g(SR- zd`Cr;a&^o-eLzJ5x<`24w`vBT#?s?omL*0PzhyR9Er*`9iH%Xr*pC7cl&64ZZTX5l z{1`#I_a>JF;AZEfGfXe{Cw|)NL)co=vs(K6!w=p86LqS>+x9`NWi#wumHm!@&sfLO z#v%NCV2c+6r`F(VF0d(lujAd{Mdb>x|qQx{OJzgq-$O-yNDO>ZHVZ$I&!6~d|e zmkB3*Ud%X6F(v{U0>JfmHHoA+65{{R0P?2y9!zx4$Rn#cihJyqXl@+{W`voxwLrqVYun2pJnuQS32Nrg^{|$ zxT%~0_k|MJHNow$#Ol4te)~|g;n{nT73`EoLns;EBJ8Jdi za1-gp-9up4F}81?qS_-3I43fPD?pL^A{{nN4`?MtFOAwId&U4X6R1!Xx&HC*94r-VA0Drn~w6{^6&(%m=XTGpi$T{((Zhh!An(V}D>oj^e&K?33~+yJ!L)njdpq zn-4dcnW4%{#=lJza1IPClUDrwVzL|Eo1IPp>K)V@Gl&L^$@QMfFIQ7f$^bMY`!iFI zhh9hqlMd;xZcUDcdzv8Y_=63(CzxxW{Gw4SzytJR*LK>nCQ|;(#W~~t#r}w<*gR9MC{$I z8Nx2E2K^-diIGV;+&5+db^fsdsSvs1Bv_2}aq)0OIEFL%>tl;Jm{=|0Op5Zh3T$SMt=Yol3^uD1>BL zT;Ow$9EX+MKLsbnMZ^9&MdYW^*p&7+$s4%eux7q}kvQSzRfbykAZT9X^EnUuFG^lb zRz~7Aie!T7P0)unQa1-?Z>8U12rtn|In-RXUXn^;e>r~qhJPd=qAi1rUw3El`IDYl z9i`T+1?{7%(JAPTC92O*lpB}R$^20yMK@~g4NHI3PCrsNbvvP5aOML@D=EHBD=u~< zz57_~+x9s|Qg-A_+-gH;mL7O-ckOpqg<{GYJM|l{OL%rJ);H&OI`K68Uw984tLJcA zOL1`pwt;!SGoughWGK3FSPzaw_L-ym3YI*-B=z%=B5uk2IwZOjJqP`x2eb=!M*sFC zsYpo(;uI37!-iXvT86edfFq2@z{lQO*OEu};xFc~$P%E_-p4o1Ksb|O$4h(eb7ENh zw}N7%=F0asx`KGF#bV3S8N0hA{Rt#R@pq`M zvu$(lj|DO(*{cqmy_#ftnO#9?u9LglTfDAeWAdnsSg`3^*Vc4bf@bgz1jIxH^hsV> zZOwbG=zPeqwP)Zb$8J}L9%=(BdesWxZq^*8yEq!z@4^M3&`2IuHXpF@3jy&!6|TXbbN=t7L?- zaE>_8k4BjOuIlS;LQ<+r_fcl3H0T>M@4)F1d0)7`4c?!e#96BtZ%KG&-6b2?m9mQ_ z>|6pUA0sGNoY*Y%qS5V;gh)z-L1fi`9m`8QXEoAw+Ig<99>A%4_tEleQ0bZVG3IA| zuUyS&COC5i9+>HRR&zRpa-o|3B4r~Z9KfOzwNA$&Q^{~yPbgn}2)d`WnqI*u?dj=x zn_U;s>mhoZ*gX= z_^bS!2i3hjmY;__yvOvfd*ki);bRMT?nPdPW6FfA8YxL%VIIuwexSZdE@(|NZ5i>_F>)BY(sc) zbMtc=%$ZlvN}QSYXe%2X|I6CX_1cl|yq`bj1?|1Z@Mmvtm24G(9beyf9ebZn^$bq` zu(?5QUUK)x^W=NbS--_+QJMVC(DjX38~PVr3(3b~>MpZ#Q!)|T?i(o@QyP6{Ezgsv z0iI%l17+g9;mhR?Dj*N&MFthGJOkwd$~lutduw?h)sJ_fn7@I=WR$ef?%Bs5LHMM^c-VjcqSB6~xSqJSb5k5~vYuf;G%lA!PE-qh zcN-c~PR4fW^sherQOzHz-pBXOY<~+q-0^5}(y7nN9KgH#^ykq9&>ja|XHUl6(Y{@t z?+4tf2YA!@X=q(io*FFc^l-DcV6aV0lMK{J4&BHlCF8t!^@0ej2i+pJ z{p=6I(ZI=4_ZQt>_sdqP0{Aom)5I(*mp352WZ84tS_PO$+<14aJ1rX>QSAIU6Bs9P zAD=Ey&5w0bNB7ni<%yNh%B)}nU+0mx_#Lg3b4t9-O*rRJEG0X2uMdjUM0iTp#BW{Y7Vfa znwi+D9KKontP4QaT|TgGC%^r$DyYEijz*8l0A1MRQdA!Xc_n*F8M~eXE^1cS^i#;F z6d-BDsD{lImb2*3%iq7t>1+muVaug=b$PSn-UG8=Ur;MMVL~AGAX0C5D)hMp@D|J` zZipnl7A=$(Ao4qtj2#v~+aFl&Wl_6gj`(oKH50N|PdyVzh?2ANeh#^qo=cRyKZti4 zH98wmRmcpVZjS~jY1xpOTXcTtmyDFoM z6pDDT*mYp$o!KB7eM|Deb1@VqiVFw>j>mKOU>*|aY8onK07zNEKki8#DtnWI%gOuf zXS$k+mML$EEHPOKfh~1_B|}e3+G`OZQX&Sg7+p_w+vINfo$zeZ0UtlVdpWYPXKa?7 z1m2f0eJ7WQy_dAtJ0%?fL0bs+ zLd3Nlybkw=C`(EN0^ogU!HWZFn`2?qoP6I&>o?KdpOiJ0vq^=~J9!8Sn3i zclqrXJxt*W0M81J|NX;Qk~|9nSEapFr8`g3yxbJ{i|0kcY!x_HNNfbV;C%V5ciZPv zd4mE|Jg(L8pBotLfl+uVdPBHyDtqp^!)qa<<0c0ykWtvY7gex>4Sa_Dl||_49t6bu zonW_|HajYUH(OB$teO}6nM*YkKYPZjm(*kF_CyC#CoU)LGJVkCwB$LmV3xeO#hLCV z-^T~SgJM{HMJcebXXMpd0O8Pq#wNc&IUTs@4sWxCbeelIDPRF#E3BR}DA{-#g$JkhwQm0S%vUsmvhGojGf*x0r> z6;ii05TuuB=&BC&7?E}yPq|%^vY!jy$8NQF6pX<`N^bpc#5NKvw3O!PQ^ry+ikrHX zgw{@)-Z9xizG1`#MHwAKyvo*Lx-NT!=HUH#4e<7ZrNvgWv^knw$y3_`RwbgjO4om&~cKb#aIld9P@%Yrqw&=@{gTAXk(n@ ziZriP$3H!#7lO)Yn$NEY6ju!`2mu``G+=39*7qX%bL&Sigp zm>sLW^ikVZoNm4EZ^=x;BtvA+h?g&a8(U3%N@F-m)I01N{UDhFmh@tO-xt|BBMXvN2Q)fAoe#xO5ZcET|<_ z)E!mXJCSxRbGO7X7w?Y?Se-Cz7t3K*4SW#5DMnILJc9HtD2Q)ObN7q-nXKArQ7x*U zJ&Tr(o|uHMR=rLw%X=y0lDBTsFxJJzFPCs`EYS6W84u)c%Pe2fIpaducnmCp=IMmK zNZmeuu^3{sU$|=Slv)x1Xu+su&k?>nTDq8Qc)B=)Jn1}LC*J&P8vgy8wm!WXzaXQE z!kTf7&1rSWEnifgU|4WQGVuYTZkAI^vdU0u6A@wLn9maTQ-KWpq3k<%Y|gf&pC5yA zfxI5=x_6MKeFWYNK7&~$*SybMS>xTJEE)Be9?s?ppMj@~cCps${ApgYmspdVgGvWE z&z4R&WDAhKobr!kmIXM=Y*z8=OiP$#R!^9=$nxnu|M!(UKPQR_YUW~6znq>OC%F|B z7yP<^MG+SGTwX`(^19&HH@jF>5Yth2gr9dr<P&*o!$4QFNQo18Z|WDUzI<{8e#EvvJXvP2cuS!G(6H+p_{I#JN}eKf9p~A) z-xYYW#lK5A``-I&Q?3Rgok7*^Gf|q@h~>MSkO0`vH@mq@M_p35y+pw5#9)$RLQo=^ zF;*U6D?Io16tV}%Rp8S*6S(YlQc~gxlNk{dgv3=v;>*L$oZ1;R+L%0!Ak24{hh2;f zOOcT&JKaXejhD;}zGE7Yw^4~bN<(Am{N&pqXejFu>2E_^ISrBiYE|KXCN@*UE8W5s zwNyKWELb`U6m%3`(83#jcmXmO$kAyBJ>r1=7a_m7K@k+b*ow~c?c52O41yP;fB$Yg zF)nhNPNlnL6<${-&u2;Rm4Q5;=U!U&Y0NYL^xNX{jMxYH5MqDO|U%Zj6PyCGrua zy_6<2i~L8Ro#lkR4>?yMQ9mG2;cq{k%DVsi zbj5#^mDB6%@;M zMLS=l0^uHk{y@}OWi$SgSRR#xLgn7lU9A4RIi zb@*A+L9$QTpkKb%U1l5ydND8F;%nCrh2wqQDsh>JA)RJ87ddmch;7`HajD<+8UW8^<1oQGR zh8;F9QJF|{8{~4|8xT&yj8oG!#RYT&#YK=6y2SdT%?<;^PuD>O=r-4+S|U8$ z9PZBo3T?(|M-K4{d>bLtjpW%Q>C9A7=!5*m$eQh8BAH>2rj%pr@7;qS0+uAN;8V>4 zJ@>V4htXhtQ3xrh3VM!axBnzNA}}TBQIp1*D)x%8>;9eipE(K6Co!CNwrfS|lDl;J zTiR^WqG7PMA+vtUicQgVD_caC`|v|Z#31`!G$V`lVubiKdm^1B10*CE^{Jg@Hl(l*YL~7`3Iu7B{l&}3FiI*rIEnU+ac-qwQ zy-(c~bTJeh-wek17|+N}Opg6cp4%&o6NY=1PQlA}5psG*h(dahef~V|Rc{>Y-kIy@w*)s3dT`u`UV21)a$Q z6~7}4Q_;l7px^UrJv#V*9fM_Sz*Bogx-xu8G=Y(q*qm2f+#rtO1fy^T6@l0F#!~)C z+8TvLvc7<`t^0$cz8NunHq}>mZ%f@H81)DH&n~vnJRZ1ZKHx50k8gQy(F@D0VH>TS zM|-RyPXqk6kVk97vcAq3O$;UE^4 z6H*Tnvdc}c^XY^O=;J#UMHW34?Dr`_{eF%RE_STYn{G%tS@N66e~TEOU$3N}jdZsA zJ{k!6_u%-gP%z()kv{J0JS|S$G}ZWE8Yy!o6D0*?w3Cs4zjzk@ov~d#nf*F_#pE4k z@)D0W&R^r{nup(4ih-4AHq!z6MMaNNF8Pq-FgPNQcOVeU+4A?w17GsekyBsn=X3vM zECrHu+R>t_`STG2m=0?e@OZYKII8ae1~aG8ytKh&sOI&Rg!>OS(T^VY0_D-1vHb%W zjVBS_q+fIQY;Fe!ZMqo-OnB&3ekQSAb101YLK;>4!MmUxCODmI#j+IQAT{FjL?>W1 zEbzW{>*2P;pY-!$ts8}uFe7g=p@21=+k-M0P&qSq6uT!nPQ3e72N$*$or?VjibPdf zypMvvCrl9n>c+vLGB>?C)am+yML=bSs(X;#bUke-`?zK4VXfww*MSyOD|=0`mfm7bA?1TE~r7bmgC z&#?fN`1ied(&F%PC&94yBCG(H;g^XvH+DUUEa9GX>V}Mc!ok+}We*l?w>KWw#`^oy zJBI5#9VF?1Wu3&Fh9YkYj|Hz*5)^c1=&cy`$aTeLW;c@Y%$Dmw)rzR@l|LWVKx!{4uziP&kIu)e*fA9-p4Mv`@yBB z9;Zj&dXLXn-7S@CF%Fjc5<=q9{lxUy(L^`KpcnH5UwV3e#*o}NVfPY!*vQ?Ly4}Sn zldXKU!Y_}vJH+IeY}%%bMSg#(%fH4?4Rm#Zs1*=*RD}uQ^w55ZA`x0!z@+|4)wvmK zruU`CG>4!c}66RkY9>4+O5VQ@HV=_JHc;%jh`=af@@|04Nqw%9#~N%*_lho z*H>O3lx648HKUx35o}>6{ca1b!m3khg6J|$fJ(@BxU9+o_67~xx;nse-3 zKgaTrJCOmzG(7cGJax{vPd^x^+>2MyRYr05e2d%$>4o}-Az?g@g!?YGbFA#~TLONL z+vQa&E6odsa=>qBD*wM8VeEqVtNh%xrWd#+_+8;o_V*C zHbhG1Nf-|Wwj~#|jVfl?k7*vi^i0n^&{|&}q<|s=Qc|K8Q|-2_?7m+8`^V$!uo(?_ zPR5Eyu{+utTFXGmLN_SC!60(O6`&W>Q6-P6XX@K0>3I+Vxdj7S#>%(j5yf)p*%h#%za?40%qde+uIRsG zBhCfXzE2pvvK|Zr)SKA1kIp!q4~*!l%a#=vU#TN*@fC(rBw-hgZ**=Fi@nw2e*J1L zX5~~I2`RJw(uPrseg10?c|LgcG?j=CP(aCO~Z#!Mly(!$4Z z%<40vO05CPNHP^bE&z1-tGW&n_BE&&(MOCed`L2UZ!iqLmpvH<0my{8UAJ*3mXIKtB3GqGbp6`_5Yu?8A zjG+7LbT?_?d$2j@*aCjx`zlW-y6R^GX3mDSum#x%lSF6 zQy?E1KrSZ9S*UH)yjf+dgQi5iLwUxPR>*%xasfi(yt@nh~UPvQw&@_3ymCcz&M6)u=5oEwdG@j7p!;n_x# z5yLF3D)Ns?0T6DRpRS$j6O>FdzH)hc+1-}BdzP)+EIh6ZnQ7hMbHkli4$pw~)=v+x z3ZJvV1}E=Np=~t!-v!B+HY<7qMss#QGJo&UcqPw-0Rgrn5xEPYfh5UC;ZSICvCmdS zK;ScYfn`(O?5}N3=p-}WsH%B>Dt8^nzR|nTR5N?I=;e6vk{>aGBjn%Fo$|=)dISqF zW@^C>R_%NkHfWc*7;-2z|M4Cv9^FAqUOeipxP?ifcl^?S(kxWwdXxS8>}#0W;#rS{ zuhzyNzqvRqTKWN(>ruU#Kf!ncJx0~s`BpEjpE{Hzu3|U=zjeQ|n94sFQ1?}14B^2Q z=yEmOlo(ED{cY*O8a&K`zu9v3*uei^ICJxhN3haQBEHvMuMj^}It#_OXsfPmKbOMw z;bfT4lx$GkX?B$^o0R(t4K&YebcxpU1Z`a@N4K|$&d#E@uQc`-+X#EM?;V~_p01N# z+IWAW4Jb){yfxLj_KMrXHrcF*7P)tS?r0p1Z(&q{rWqa48fv0`MvpHGxTtuy1?;+q zhm%vmgk4H}nHXKau{Nb0y0eJm`Byx?LN)&{axeWZz|;)XUXVDe2GwyH_NNTtaTWQ8 zmZY2YchMan90TRfSWTolWB=5uKIE|k48^5#ro?o1$yVR}Vdm6X5~XGX?Y3Jy&U##1 z-Tyu$?eV$eqjbX>>M>;7^UiW>$R?MvR*+TeSJhS!uJdrp7OU_x!*ZZjm}XoHf~lJ2oqEZ&jHJyGVAFkN`(hW-@XrCKm<>U3dm+;ya_zbh!8ZMLYaemq)yT^=3fC ze7mCKXg#yN6N2fOMnJdi-8&>KxH16GNCE6st?Rtdz7MM{&&gUT_mkw$XsF)W3Y1+g9Z z2~FzXpG&xDn(MNH$^G2`&I%51j@buv8LVaJ$IcC@vL}1xPVSHVHf|UG(ic>^^@`1V zUzr;lzfo*7;$cBj!azVxXLjo+r2kB<6^?Lj$&h>1PVs-85>>OzPgbVI4;IG`ES^_INm-iJtckUockT>xza9! z10#J>v{oJ;b?hwAyJl6!MWH8JbM>NuYF=qMM-oiI6}0qifyVxcpP~=+?3%?%B}8k| zu!VMVVM8f5x4J;iSL#~8(H;cnw|3%jBLRv2lVWtQEQnO&&l_L$+f&+4FI>{;5H0K<{EkU<+?ri8B?b_V3KVrSn!Z- zm&ig8mq71USDwN)ghoJ(A<;PEKq)*S&<@^Vl^H zpLD_#flU`Axiuf`cDTzs@HX|l;wN_wdWS<%eLbAP^sU_brSskP(6X69|Js>j%;ivp zvaTEc)yw$avP2&a;ir;oz?=KE9MU?p6qAJ33?lm%2h*m%b!B}{d%L0RH)+N@Pzs+} zA)AyL#G#;ysl+oVvfWg^wO3RZex9$l1O@bnGvehSZV3K3e%w z*Mx66UvKMumfE0{=!K6tKL!-(_B_eB?Ds~5r&v6H|406~$?>#EBtNFT1k;Z!E<0Q8 zj>}he3`;?QSl=zj&s4j$&e9=F;44)I_-qQ-&qs$+Kn(KL!K{Amu;oalP8XOIOdf1V z^e#&jK%3VoPp98kO+ZT?XOrGKE|^|r$=9|CW*a{ceo&4HfcyVLVee5|WXT9=%d zh^nao(Eyp77xdPd1B2pWfQ4_aZ1b=3t*Xt4)Sv(Jskax^aT)+Ao>K;^2E1*^R-+!B zRF%73yF>FqcfW?{1!Zf1;Ur97-4+=$m znl$zMKPVGIBUq&kb6f^l9Ym!$;lJU`d@0L!-BCFnvP`a=Pbm zYn6s+QkYw)%t*&DX}KQO2lCHzwb*9j8Bx+lNWzqs=@$ZAdT5$4hDyctUXT*^ z1(EHe;;HoRQcj{&NW}1$VgJ{3o|@kk)L)AJv#(+7h@r?5r%`=Gz7oSH!hZVxu1eGJ zEJ`h7>cG)=>F9oiCsBU}=|FhccIAlh6PQd8=!y(+Bj<>Li*J~8B**06FkK$b#qSUc zli@nUZo*5xJ;T;|i*(q~y=45&9dTBy*?|=fAkW$7#jx7S569jI7-3V$V-2qJD*{5X zbRnOP(v@v^5^b>Yx$APcSfVWdb>izLQ_nRx_M!(c$A`<8&i;X*|0)9|!kZ08yvx;q z%C-W6kgxN!a=N$#N4L3h-a8@!AN6$NOzw8=^)AHD7(c{zPEVQU><;D7;XnLB;+><7 zf0&h$1J&mJwtJ7rsN!~l+z?kSZTK3Ir1R>yJx|A?lvaGiJi1dN^$Fx<=Tr^P7653c z%h2`7dP!*=GAgBga1d7zQOJ+;Z&vei_I(0cWf{pk<7f)K=Sw;^5d6`lUe1tx`FN(9 z0$=dSN>U`2k|x~1n$%~;y<$e4UsEP>Iqim1{=mCq zE$ry^$ZvR=w}{iJS@Gy}WuOVv#p1#)6cFb9NY<$)&OXY4b&N-Lz1@s510@NlMKa@* zP=>yw#WKVHJfgtWbs_H0c(vfdPaV&jQ~bhs%Q9>wGz5EX%N$Lo)kMk+SS5D;(h}bO z;<_H1a${faUEgh)x;J5@!*={pPLdj?GyIX*{XU%tcQe&Mq$Z-$?NAAAHstko`Y`OV zHQyd1k^IBb!B+ZMK%RubVsx53)Lx^gF7=?}s$9$6QkS?O(dSdnX59$M(`E{^7VUU8 zZ=@^u<$XS;nzHY1r8)mrQsCl~=$1;J?CmCfNh7t(v}rG%d)$)qCwG*3`7hIY0V^^1SBHZa8* z)sZBQ4{L4*RYxtl7^`e&tA8CLWIvN#aMGQ(7!&38!LeBqf@*ORgDDhXf}c0!wJlqy zJ;qkjrk6sSaBZue7X4@1uUIY*m*V}yN#7MM;i_fFwij|8>|rO0Id@ie_C;fuaCS|6 zedV`%5O}xtOmB)5DTzD4{djcICr0`p#A0eF3p?{M7g?cj*RlJ^_#%neq7Wu~y-V|Z z=&J)oEB_O5t7=}kj&9g;7}bfXIful2%DTv)UT3P`Aw=i z*@LK2%#+nVMbw)PbuZDEmD@QLdK;eJzF-PZ2dASDpTn0Tn0XkPteBQ;KJjJU-3!~2 zGR%A3?nqZw3WS46#aRdvL}x}h(`yhG>Am_DxPo-e2H6RB{cP$U*S9oIox~RRbj6O$ zDYTk2^xxun3J0_Q_K%wHe}&U`Re80~%%qeyArc*% zU?5?$CL&a}yHkc>j1h$3?J!i!V1Ddel=ao-L0;A|n>X)QkA&gL*mVTIP)zP3e+6=z zG4{nx&SS&wP@`&jeX%ZF#H{nPT{i}01fwd5Vyb3HcbooHHurmv9RLaSfEgh*CI|EC zSbFni=XdIoz=w1Y-KtW-Gow{cYpORN&@QDvgMt8Y%8%$c4#tW(nWt;Z2)wVxwO~NW zV>5tw^?YdlO5xEgvH=S*DJ^bMcY&dJh|Cm4Czt+`4-$$rgGb%@kV{6H7t1zVn~Ns~w#6CN*JuleU#0e45HB?JkBJ1IUa~(!ifmNN)qMEf(L(g1 zBJ+kKY1ppiyLSZMdMqPuF@OHb+pkASRC z(!@Mz$5k1%kXv=zJ1*rcjN|kASQGmS%x^d=tDyn(k=x|9ai5qf{6do^TalhkA{fpe zPNv}-z^rey>wj ze`bghYK$6t>5DKk?Oau)dC0^rRn*3oy1_baMa{pXxnhA>KVxh|MK$p+`>0pxq5$?=?O({nobg5 zH*Q_djr{XC-%erRD@=c5$*itRVoZ%t8fdB*y5>NQdD?9%+ad*3mJ{rW!XPbN;3uh7 zvdq|^zB=W3X0fw}75#HP^-M@+Z1UWT$i9O?Kg1__u3)F4bz56VR7ci&V1&L| zNNQk}^3Y$nnJj}~vG>MgD_<%XMOOL8`T~W<4@hZw|FyrbVs&VfeUGPoph}IJR3j6{n{G2{m-5z5@WTbV^ukzZ`*a}MfVnq|Wag{J3u$0F- zCMIyW05vsk+n3FY_tYpMT(7R@+5Nid!bp(PogwIs~7~RIs0CB|%k7MXw9Vho$fZVq6QTs+0HsUIT zRh=-bC9D~5CrLPOtKsp!P~-Yrx39zYvGZL+^c}?QAU;mLPBtQ&;h4;j@zuI)KoOc1 z*H<@3zd`5phHUk-XhV!doY6ZQK9!EgZ*wQ-V{?P?Nt#!7wGN>v?Kl&EbxZJkE7$q( zMGxRl*6v=^Wfw_Ux->oc^=sKCv~l z7R#J{??6K}Z6ZE+)y(C9-;1>TD)KWSUIAb@)p_Z&4U?^;fa56_peD|r_w@EI&-`2} z89ngOdoNjC8Zu8gN+C&2L+yOz?^|W_SB0x=Z%(!9y0r8AKkqkBMfQB&yF3BAZLgt{ z@RWQ1?NjHfZj>q~S@*}Ed#`~?;`W+zcouC39Y2|)_>izM6_NVUm zS5PR|z$twX0uxX#;?a(Y3Iia+CV}w-z1=!;iyacnKhqAD;+AxRoz?9hpa4paBsG6G za87VUCYpRdvNA7TEThsnA$Ut%DhUK7t!`anlZ!G#{nz}*zD}e&K5ljsYPe&{TxSOc}j z1396Fxv^PJpBq=107Nn_pdH%og_^s+oF)?pH=~05Izx3eJS%+!ZxY_Je&c ztSwGWp@`u*QHK5dS)D!&#kVUZGV`u;2Yt~bJ-t0v)kI-qv^)$x z3z_X5p$AGr!Q(i}1tEvyhbY2!UrI5(-mri`?xUS~yo8&aRn$LlBiS~%2 zQDCqr&PGn!bba}beJ{#5RHlukGD2c&e$sTW0NBWPIa#S?QH{DM&Yy5Ii(AVFAP-2H zsRtBvFkO4g7)eLx$`#QXH!{Fu?kjYi9z33}faKI(A*MbQpgQ385^ZOx62no>>@eBeGDE`)vv*asv}p*q zkmL&wmMsBsU#t|t86nw_$ed%d_qZN>^P{@iLb1H`U7C=fc}lc)5nsKlM4!bxA}x73 z2se)tnt%RXndQ&)5YK-C0W#X0RHvJiI87h0$vU@%P#@&9633s#jE~~EwRUy9CUS{! zbi&uDaYHaM_a@2taSua|7&J8w7vJrTK3t0Fcbn_09?V4eC|&6??P~4g#|6F%!r)k zioD%dfhD=SuM*pcKT|cUF@CQo-nH*R7(KHVGqWe<@XrE%tGm3F8JUxB$2h>4F}$F> z3@3U#L6=<)Uy5tmh{je2w!wQwqQT2P3GV!!|LekBdOoNAaK@A2mZkI`X>WF-AYC!5t-vyf$5Iy&kZ^cfz`6oHzw@fL+YQBWD}AN*QK8*|K|l5HC1?K$@>?n znFNrlCnmGqZvLILt4K#++d9RuKJrXGJe&32aF~F+9@fzW$*Zo6_TQ(?`n_Q!LqT&e z8&;aIqE>;Mi>HHJ_Ve3p=4T@Ws&N7&Ren*rCIoSC2)0)OIAv)MFhgeFO9)9vgGU6! zrh;rjQ=Ehaq~~28j6AYj``ImQ;XLv-P<^FCRf?%%$9^M>02e2>8>}&)9MUGp+4o;zNa!y!b_eVs!K!1IOP-PnTB;G>kIa zzZ1WknC+yL+ASipA~K8NKO9P_tpGaK+ONmRs0>HhQ&WD~C?#Ovo2Rpj0zf|mf!cEC z?ANO?AU|;b{TpW{Hvr=OR}Em#{sUMjD~wM~`y*yXcWDt2!KRHHQRD@L1(j4NZ67^b z!HPnbbwJ{C+m0QU7MIZLb>S?-6a_M)U@HsD-v3u5AxG|?L4YDZL#u_KIhHv1?nF?O z`AWJ_0OkkRFf215*5~CFLlZ;U5*af#PfX$&S6zimcI`r;6qF)tn3=}Bt#Dv*2~XL5 z0lxLkZ(^==$S23qt4eR3I2Q_a2%WsZ(W8fPUNHwnv{l8AO3{I&tYtQ5>nX^3?y*r=a!3;O3ofSjPWT2on^@K9JXKK(9t<;+qxNH6;L6U2J7*#Yi`L2@&oY$#653=~?3E}wc>^lgPAH<&C6KrDJoi&$7(M4ttg6@|sK(@sOij7u-vg)LJZEY2N5PUP$G9s3C+nc=KOk>${Nj``U+Kp5I+bS66}orM#D z$qQsz4rL5_eQO*Bm4|VxdPr|Bn}H_nGpnT9T3hHRvD~#TdrkVw&{R{woCh=CXpFfO z1D7+35m#094YW@S{R}Ku@#X_)=j%bW6Hx-2s`^O(+&OnA{MC|xdX$>dT1T_}XtMp( zYzH&%mBG-#G}12Oi``@`LAW6`$MQ#nR%#ANw?RY~Ma`A%b=3SkN!~=q+~P z{(tJ;JIa#lI`93RbE@j*PLp#2CLj&~fOAbHNc!DY0AZ$-&C7&U;IF+z_;lDIt*(l$6y=9{8S{OVRxfMNk)gKo zvsbu;&bgOZlpF>qch>kAe;jg zKl991mFKydz|iToeUgfGXlrpc!)6wx1GI#Gv1$-<>BijyrCD7uz>)#tu?+sL^4>H}1cmN;P6^ zas^6hT$T~13GH^9PNxmlQjY@mY}mxUUAx)3YAq^DscS=3ENj=VX2rw=N-{))Qx37I zkGV$`ROE>$HmqJre=s1K80XI0-_76N`xUCq2^@;3QUOBJEW=qLs6@2%IB_x{6H6Ex zRAlJK15av^_mykUcY{@(?wXU$#*3Nv%XJ1)gxZ#b+j3vM98WL%>K8c{!f!)X--3{r z%y*M-N1CSJ3WDG#j4^dkzbJoGS+KXs5=a~xEFHi9^aJ3X>N7wLCc+iLLMx4xBilPl=X&Y{DAuv+K7haTaD z7hYt1YBi@$P19+&8T30SAP|^nHQ9H=4eZ*!jqz%YFii+0VdI9?tX#E{YR!Pl5bY3c zAW#tcv{_{o)+m&7h|17G$o6fUiJyL+Tdu#3&LH8-kL)K#A=aRS0KyO}-eSp=B2^k( zMqolr7?KTAU*MuO)u_Upbolch{n4L(%bj;VxbAzu=kqg_%E>&#$y-<;F^GXB2{ggW z6o|4`XKARdc;3q3ZBb2GnC`|o*AtNgK@jY=);?6$=zv&jpEJe`pBB7EAC`|%0{{Oj zFs@i$F06J4mSn>fVBDlqYGNo!#vfd%abVn9`xHyVX$xjMiyD1NudTvthXvuMTqN;Q z<)|Bu9^LctAN}8c+Qt2;X0=MviwW~^RqQM_Fu2H&XiXXj&L@;Z<}fIFna^s|BGlq z)W^`(h!Dj(&f@ipdr1z3LjaU$KME69;(H&97t5 z3SW8f5n}q7MgtWDBxJ;cJ|JYuQL9vtP!Z^mEVX2b#e|wL3J@G84n4j3&wu^bHU}U3 z*xP^cuRr|6r0m`vd=obJq=iHN8>s`RZ`S$rE zsw5Ay^?>@&xo%>#j4-r(Nye)Y^ik$|vAo>uw49(H&lh$1zt(ztZkjLI98kuXog#9O zMM|Ht*bhlDY0_&`yI3n2#jL=npNC#<2$&1$95*80Nw49&d#xZ^$J=mSI|u@e|^tA zp3ntFCD82Nypt<8Z)V%ZO^ny;7?+~Sm>g@cdc_#6MuTeTd#Wj=d_hhnL}`T$LQc<~ z<-xB#z}Fvooac`mr#t9j9b}m!9>gdIjp)-{zh^hMzx!RB?)BJt&DC_G3Qrw5N*_hg zYOrR-4yMLh)G85EljBUZnmqH=<2?W5<0uQgtcTWBG@j*VYQ<{Cnspv~?BK+|{jTr+ z*Z=PC?)s%OW8=?VDAe{U&G#ks<;5#k_=WTio9|++eKHKgAE7jPl&k_S;HU4#r^60g z!$s(KSgXHc4S%`7xMF!2jN3V4pPse$SpIo&QFAUdy;VdGv-sl{w7ODib8ZQ^Az@zd z$4mbg(9^uy>AZ_I3WRgyOeZ-AXF-4RXMX0NpPf0~xMt5zCdXUM&YeRCzN={<#v{k| z8rQvHA9sGw`*%KmTQ+TF z-I_I2w5C?6P^*MYG;6F}F-9c{Q1~9|qF|r|OhAUv%VHjR@^QZL@P3{?bcA#5KE2eZ z)22=%Xs?Z{4Z#t^CYU!qyMzck$)c_}?Swg!#N4*-d zXYVz9?Du|)cCW`=w@0Kk7*CB=i7IT~yp>a@&T!<#qhp`?m4EXixBSL${Axi;;YyS8 zD>UDi1Lexk$az}6c$SoB88c~`J{3jLW@Ah(_tVRAAkMj?%lPSgfXBJ8Z+=O}s}=N7 zUuHRQVLhYc=P%+fT0s?66tV!Ub&s?) zA@G?}YUBL;ribsp|B70@#^l5}oo6fvuAO9orW%D9t*Bph1v@;*gL00fA2Z+S((QHWcDf{k1Q(~+ zG-dy6o2QiUqQ%h%y7;h{C`Brk zOgZ}2F*AFPZ`^-BN2gEWYE2r~T*r8|LDXnaZPqch8kKs3@v#;w$0pEP2!qHo=@`Q~ z=aY7-%{tT5r+DJ|=Q%ewN2fm^%N%JEqnu^^x;5PS{@Yo(c_Y(@j$&Pcuh8+g!=@Si zUXS$~)-iqhG+)2_A8!2axw$QKV`GPwDPLVM-(RjKFF%r8K*(84q$z8DazA~Kwf3RX zJ_^7&_slYW`Yv7?j4Q^g^4BkAuKVy89X8+BkJ`Be#1+C_pzA25);i~2V5xtulu|A5 zVKo*n{(=dg3;hxrp!~IHzb~D+&%3ZiopafA?;SX>+bCtOykfgA?uZ@zUf%;uX@*l^ z5rRsEv55)J%$&j6jLDS~Ser7_ZquHdWA^M>YV|6+uG)#jtBF(tENbkgt*(!*00atG?g$Di2JsMXlAc`MI9{S0Z6FzBZ^XAwM$jLWH+MJZ<*+9S{bIM2(DF=S5YYs>813^Uz6C#TOa zb8gO?`;`ifMx9C+(Fh}^T1~cZSkJnZE3ly^Rhk4L5y9mYQ<{PVGVh>*LC{!nq+&Tb zeU4)%rs>RgiIWtUSx?z4;stwZf|b!E6SXR>YDkz2ATKl3+Ty#k`@$I$Mrai>Rj%S}g z#N6rA&4yA7g)aHMBl7o>VL!bXFO?2kHroq7eJCg+`8LHfv;@$#);<{o!Fz$fSva3a^bq57&*_Nkq<;kCD%qN-4D-C^YsGVOL76$w9jF zz&3^$L-KPhd4DmZFb#`k0d?lZW0Q?~6NRDM?xS&NrN|tJQ)uN7YjeUz!+fVpzt?Ae zzJsWciHRxRa`RqVwJM?3XmMbLdQ?G-FV)oIHJQ!?ErL^q4U?0|ij~OLE%Z`2cIp%d zpM8!a2cM=hKaV69tu*y&$amjy8#}gc0TGO~gyP5~@7p5YSQ2q4WyrgvqZIV}J?{VX zU7R~J3r?sv8f@LRjjh|ZFtu`u@n#dFK|71aq2i1{EdVQCVDSt!DvU7NTMjPEuyIBu zvpo6W1DrfL?I%KUgkudvAW)imtwO4MAigLj3@W%((di^um(i@YXhd~RJb!52_Ixs4 z&QE`tW6AS%0Y9DLb@{g5QgrULQffd5qUu=H7w}hE!`J5UuG^T@_wnyREO7> zUmHekWUW0`gf2>MGfJrm@!4>&^nxqp$sxbSqPAWl%u*^|8Ref3tzY~uB{Q%fn6OIW ze3~UMKK;ywM!mt@xmjOCq7=qxT;dSPJX>nc+#o2d2>m$b>1UrK?#I*v!=5ec=m(lu ze1k=$G{OMo#5YCoUyeb)$MmU_%+Jm-7^FBSm@uT-YO-d{8t!<*K9cN4=Gz?(J$HyF zo_LaOd!Dl|9^>kb>p>h@=4qF+yx?WA9g}!|IK=z!BDi*kdZ)+u)C#V;`YJYW-i$`j zPEd&@Idz89bMtijeZ)D!D4^M_vv%c5YPBk&d~*t%!igoZ35j#wVsL_v6ysw}4jnqY zpt)_DqR?1t8JiemF6bZ;`n^6e@ z6yU6QzdCPHV6)8k5l7Q%w%C2;70kDLR0B!eNt!1Y__C6WB7hu;xQ~-7Zf%TIbe+0oEKRwu?n1XbITOC>;mq~moLUY ze?>xnIT&Wjj9?8Um3ZfAl0eQniDH<+njLK)o%r}KVE5^phc&y=5?oyTS)ans8>N`CpmDuygf76G}QF=k7erUy#< z6=kh6%ba42OKhf(8keIUebkIJGEpW+++k?O%FUi??!Om|nMGJ_Lh{&p9>*-l%!^|! z2>X!f{;JHMEJ;avJ$l_fWA!=)-_FQojwFuJDkM!3lEHu^&Cn>~exDbfd!D(udD`pO zv8owiq7bbWMr#7?`-rz^X1VVlzslK}Hr0BIs9K@h9ptT$1?N2I6$Az)IS;#596ffN zbJM4}wTd=H|}vz=Mx+YI>Ttz3o<_Bp?&#BV}SqdIS3HHZMH* z81vm2Gd6~4G*Qkm==A8Gou@hwY!r}Wf^w4IQH2Fgo<2>Iq=aGMM&6uDJchx!Jp4N> z^uxQn0MuAC*NbOaWm&cy^1i#YJW6&h$#^wos-wQd%lcyCt9usSE_^AU5qEOvc#?m% z2I%Mem(BDgTAZaqJ<>lf&vL;Dq7hX&edH8(f97uH&h`)jZoTb2xTuCib*{K( zFYmbH{jA-%9-|8k0Kn5VnMy=IO?dEuhY_dqw#*j9`TYAFGjQOUVwJZNwDG39D9>CI z1%_%Ea^}=o?*77;u{yv+6~HUl^P9Y7_ZjI;)K8$YV|rO7<9U%-54@Ux7}fWc9twn!DdK~ z{LjtLlBF^AMm;XylTn(goG^2d{`oMTQ#>c-Wf`%)tXvS0Gedx!h^H(^M7qnIyOsZ6 z&K-WKbr&^WZ9V$M48_t}YhmP>ZN)YWUFSjmzkCxE5apA=uploW?=J$^VABlp4Vl9oMq7OGtrs=zO_^4Vm-QPg%Oqp4rM`+*}0T;33Pr*35j2++Y~=WB&g0|GKnyG~H;f2due;_*oMhO{3kwbmdVvhG@W=$A z-|I3q-oiv7%4nSPL<~k8DvQx+hDqVj!9&cRohMF(>-O#A&F_2%z21Q4*aSOv?(~}3 zS^9B85QHEOM4=s!30VeFwZ?nzcptTD&9^ynp0(ZKn=v3Nr<(Har1Hw#Gu8q)OE2y- zNK$UQ?KVDi=bb36_@_VoL#$c5nn1&idvCymfoGQWUZ>9)utLAzhcM!;cYJ^~+qN@E z98Vp1o=&%q2?CT>1W`a#s}M#NPzGZR)mj~#kaS}tu^44AIzaMF!^~RZBqd1_I^8zT zrmWbwaYpC&N9XF&_W z?IKP%dh8hcANrOzw~axW1*T?PmeFp{qa#COL7Ha7?GAxxYEguU!=~QaaA^i2PWwPY6EX$4nD~pwCX}K$0ylh-@fxlejki%mneUx+VMHcJJ zFBCRVrI`^HmH2r;TQ2yN-d_-L55)7h=YE|kw7CWeSTx-YIM%G09&5GebYhfJ9uZd| zkqH@O0~B~NMjUgqb5yHU>h&5fPH^J;q3Z%SS3)R?X03`i$I4YJm>M6aUae3O$Lz@y zeB!_US5~cE!;$Bor87TEWCBd!K`tfa+S<`;ck+gd7KKBUV3fislZP|3pD-19S5}42 z!8CDtfzRC-!yt~S*XktwK7aYY{+y}Rt7y;9bKuFxy+vX)N*SE?mpRaiD2Ql8Rf0-L zuzEEcHg9D1^a&=%Cn0wkRL&tMfC@uIYgVsZMLg(}?RQ}nPT-z`B<)!6e!Cw}T8#MxuWN~>x$ctCIRy`M1qJioSs-i5;fv#wx zC?d8A&Si-4_vXx*)AZw*snx5PJ@O((LFS7*t7-rMAOJ~3K~z$lWQ0mQ@3mH}U$>UX z1gIoq37=<`dy6iqz~3*KI=?`FbJ@5Ofv8^%0A~DwD?+gUwxtT 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 literal 0 HcmV?d00001 diff --git a/www/html/Game/public/js/play.js b/www/html/Game/public/js/play.js index 752c4e6..6127fd8 100644 --- a/www/html/Game/public/js/play.js +++ b/www/html/Game/public/js/play.js @@ -8806,6 +8806,8 @@ pl.appendChild(s); cardTextEl.appendChild(pl); } + /* การ์ดพิเศษจากชุดคำถาม (ได้มาจากการตอบคำถามพิเศษในฉาก) — แสดงเสมอถ้าได้รับ */ + if (specialQuizAwardedCard) renderSpecialCardInBonus(cardTextEl, specialQuizAwardedCard); } overlay.classList.remove('is-hidden'); const btn = document.getElementById('btn-quiz-carry-mission-done'); @@ -11309,25 +11311,31 @@ /** วาดการ์ดพิเศษลงในโซนโบนัสของสรุปผล (#gcm-bonus / .sm-bonus-right) */ function renderSpecialCardInBonus(bonusEl, card) { - if (!bonusEl || !card || !(card.th || card.en || card.imageUrl)) return; + if (!bonusEl || !card || !(card.th || card.en || card.imageUrl || card.cardId)) return; + const imgUrl = card.imageUrl || (card.cardId >= 1 && card.cardId <= 7 + ? '/Game/img/special-cards/card-' + card.cardId + '.png' : ''); + if (!imgUrl) return; + const isPresetAsset = imgUrl.indexOf('/img/special-cards/') >= 0 || imgUrl.indexOf('/trycss/10-Game-1-result/') >= 0; const wrap = document.createElement('div'); - wrap.className = 'gcm-special-card sm-bonus-special rarity-' + (card.rarity || 'rare'); - if (card.imageUrl) { - const img = document.createElement('img'); - img.className = 'gcm-special-card-img'; - img.src = card.imageUrl; - img.alt = card.th || card.en || ''; - wrap.appendChild(img); + wrap.className = isPresetAsset + ? 'sm-bonus-right gcm-special-card-preset' + : 'gcm-special-card sm-bonus-special rarity-' + (card.rarity || 'rare'); + const img = document.createElement('img'); + img.className = isPresetAsset ? 'bail-card gcm-special-card-img' : 'gcm-special-card-img'; + img.src = imgUrl; + img.alt = card.th || card.en || ''; + wrap.appendChild(img); + if (!isPresetAsset) { + const cap = document.createElement('div'); + cap.className = 'gcm-special-card-cap'; + const strong = document.createElement('strong'); + strong.textContent = card.th || ''; + const span = document.createElement('span'); + span.textContent = card.en || ''; + cap.appendChild(strong); + cap.appendChild(span); + wrap.appendChild(cap); } - const cap = document.createElement('div'); - cap.className = 'gcm-special-card-cap'; - const strong = document.createElement('strong'); - strong.textContent = card.th || ''; - const span = document.createElement('span'); - span.textContent = card.en || ''; - cap.appendChild(strong); - cap.appendChild(span); - wrap.appendChild(cap); bonusEl.appendChild(wrap); } @@ -11340,6 +11348,211 @@ renderCardInBonus: renderSpecialCardInBonus, }; + /* ===== Special Quiz ในเกม — ไอคอนในฉาก (เดินชน) + overlay คำถาม multiplayer ===== + * server เป็นผู้ตัดสิน: สุ่มไอคอน 1/3, เปิดคำถามให้ทุกคนพร้อมกัน, ตอบถูกทุกคนทุกข้อ -> ได้การ์ด + */ + const SPECIAL_QUIZ_CHOICE_LABELS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']; + let specialQuizIcon = null; // { iconType, x, y } (พิกัด tile-center) + let specialQuizCollideSent = false; + let specialQuizAwardedCard = null; // การ์ดที่ได้รอบนี้ (จาก special-quiz-ended) + let specialQuizActiveQuestion = null; // { index, total, choices, endsAt, iconType } + let specialQuizAnswered = false; + let specialQuizTimerRaf = 0; + const specialQuizIconImgs = {}; + + function specialQuizIconUrl(type) { + return '/Game/img/special-quiz/icon-' + (type === 'police' ? 'police' : 'lawyer') + '.png'; + } + function specialQuizGetIconImg(type) { + const key = type === 'police' ? 'police' : 'lawyer'; + if (specialQuizIconImgs[key]) return specialQuizIconImgs[key]; + const img = new Image(); + img.src = specialQuizIconUrl(key); + specialQuizIconImgs[key] = img; + return img; + } + function setSpecialQuizIconFromServer(payload) { + if (!payload || payload.x == null || payload.y == null) { specialQuizIcon = null; return; } + specialQuizIcon = { + iconType: payload.iconType === 'police' ? 'police' : 'lawyer', + x: Number(payload.x), + y: Number(payload.y), + }; + specialQuizCollideSent = false; + specialQuizGetIconImg(specialQuizIcon.iconType); + } + function clearSpecialQuizIcon() { + specialQuizIcon = null; + specialQuizCollideSent = false; + } + + /** วาดไอคอนในฉาก — ใช้ worldToScreen + zDraw จาก draw() เพื่อให้ตรงทุกมินิเกม */ + function drawSpecialQuizIconWorld(w2s, zDraw) { + if (!specialQuizIcon || typeof w2s !== 'function') return; + const img = specialQuizGetIconImg(specialQuizIcon.iconType); + const sc = w2s(specialQuizIcon.x * tileSize, specialQuizIcon.y * tileSize); + const sx = sc[0]; + const sy = sc[1]; + if (!Number.isFinite(sx) || !Number.isFinite(sy)) return; + const size = Math.max(30, tileSize * zDraw * 1.75); + const bob = Math.sin(Date.now() / 320) * size * 0.06; + const cy = sy + bob; + ctx.save(); + const r = size * 0.62; + const grad = ctx.createRadialGradient(sx, cy, r * 0.18, sx, cy, r); + grad.addColorStop(0, 'rgba(122, 162, 247, 0.5)'); + grad.addColorStop(1, 'rgba(122, 162, 247, 0)'); + ctx.fillStyle = grad; + ctx.beginPath(); + ctx.arc(sx, cy, r, 0, Math.PI * 2); + ctx.fill(); + if (img && img.complete && img.naturalWidth > 0) { + ctx.drawImage(img, sx - size / 2, cy - size / 2, size, size); + } else { + ctx.fillStyle = '#7aa2f7'; + ctx.fillRect(sx - size / 2, cy - size / 2, size, size); + } + ctx.fillStyle = '#ffd166'; + ctx.font = '700 ' + Math.round(size * 0.42) + 'px system-ui, "Kanit", sans-serif'; + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + ctx.fillText('?', sx + size * 0.4, cy - size * 0.38); + ctx.restore(); + } + + /** เช็คผู้เล่นเดินชนไอคอน — ใครชนก่อนเป็นคนเปิดคำถามให้ทั้งห้อง (server กันซ้ำ) */ + function checkSpecialQuizCollision() { + if (!specialQuizIcon || specialQuizCollideSent || specialQuizActiveQuestion) return; + if (!Number.isFinite(me.x) || !Number.isFinite(me.y)) return; + const dx = me.x - specialQuizIcon.x; + const dy = me.y - specialQuizIcon.y; + if (dx * dx + dy * dy <= 0.85 * 0.85) { + specialQuizCollideSent = true; + try { socket.emit('special-quiz-collide', {}, function () {}); } catch (e) { /* ignore */ } + } + } + + function specialQuizOverlayEl() { return document.getElementById('special-quiz-overlay'); } + + function openSpecialQuizQuestion(q) { + if (!q) return; + clearSpecialQuizIcon(); + specialQuizActiveQuestion = { + index: q.index | 0, + total: q.total | 0, + choices: Array.isArray(q.choices) ? q.choices : [], + endsAt: Number(q.endsAt) || 0, + iconType: q.iconType, + }; + specialQuizAnswered = false; + const ov = specialQuizOverlayEl(); + if (!ov) return; + const iconEl = document.getElementById('sq-ov-icon'); + if (iconEl) iconEl.src = specialQuizIconUrl(q.iconType); + const prog = document.getElementById('sq-ov-progress'); + if (prog) prog.textContent = 'ข้อ ' + ((q.index | 0) + 1) + ' / ' + (q.total | 0); + const qEl = document.getElementById('sq-ov-question'); + if (qEl) qEl.textContent = q.text || ''; + const result = document.getElementById('sq-ov-result'); + if (result) { result.classList.add('is-hidden'); result.textContent = ''; result.className = 'sq-ov-result is-hidden'; } + const status = document.getElementById('sq-ov-status'); + if (status) status.textContent = 'เลือกคำตอบ — ทุกคนต้องตอบถูกทุกข้อจึงได้การ์ดพิเศษ'; + const choicesEl = document.getElementById('sq-ov-choices'); + if (choicesEl) { + choicesEl.innerHTML = ''; + specialQuizActiveQuestion.choices.forEach(function (c, i) { + const b = document.createElement('button'); + b.type = 'button'; + b.className = 'sq-ov-choice'; + b.dataset.idx = String(i); + const k = document.createElement('span'); + k.className = 'sq-ov-choice-key'; + k.textContent = SPECIAL_QUIZ_CHOICE_LABELS[i] || String(i + 1); + const t = document.createElement('span'); + t.className = 'sq-ov-choice-text'; + t.textContent = c; + b.appendChild(k); + b.appendChild(t); + b.onclick = function () { submitSpecialQuizAnswer(i); }; + choicesEl.appendChild(b); + }); + } + ov.classList.remove('is-hidden'); + startSpecialQuizTimerLoop(); + } + + function submitSpecialQuizAnswer(i) { + if (specialQuizAnswered || !specialQuizActiveQuestion) return; + specialQuizAnswered = true; + const choicesEl = document.getElementById('sq-ov-choices'); + if (choicesEl) { + Array.prototype.forEach.call(choicesEl.children, function (b) { + b.classList.toggle('sq-ov-choice--picked', Number(b.dataset.idx) === i); + b.disabled = true; + }); + } + const status = document.getElementById('sq-ov-status'); + if (status) status.textContent = 'ส่งคำตอบแล้ว — รอผู้เล่นคนอื่น...'; + try { socket.emit('special-quiz-answer', { choiceIndex: i }, function () {}); } catch (e) { /* ignore */ } + } + + function startSpecialQuizTimerLoop() { + cancelAnimationFrame(specialQuizTimerRaf); + function tick() { + if (!specialQuizActiveQuestion) return; + const timerEl = document.getElementById('sq-ov-timer'); + const ms = specialQuizActiveQuestion.endsAt - Date.now(); + const s = Math.max(0, Math.ceil(ms / 1000)); + if (timerEl) { + timerEl.textContent = String(s); + timerEl.classList.toggle('sq-ov-timer--low', s <= 5); + } + if (ms > 0) specialQuizTimerRaf = requestAnimationFrame(tick); + } + tick(); + } + + function handleSpecialQuizResult(r) { + if (!r || !specialQuizActiveQuestion) return; + const choicesEl = document.getElementById('sq-ov-choices'); + if (choicesEl) { + Array.prototype.forEach.call(choicesEl.children, function (b) { + const idx = Number(b.dataset.idx); + b.disabled = true; + if (idx === r.correctIndex) b.classList.add('sq-ov-choice--correct'); + else if (b.classList.contains('sq-ov-choice--picked')) b.classList.add('sq-ov-choice--wrong'); + }); + } + const result = document.getElementById('sq-ov-result'); + if (result) { + result.classList.remove('is-hidden'); + result.textContent = r.allCorrect + ? 'ทุกคนตอบถูก!' + : (r.timeout ? 'หมดเวลา — ตอบไม่ครบทุกคน' : 'มีคนตอบผิด — ไม่ได้การ์ดพิเศษ'); + result.className = 'sq-ov-result ' + (r.allCorrect ? 'sq-ov-result--ok' : 'sq-ov-result--fail'); + } + cancelAnimationFrame(specialQuizTimerRaf); + } + + function endSpecialQuiz(data) { + cancelAnimationFrame(specialQuizTimerRaf); + specialQuizActiveQuestion = null; + specialQuizAnswered = false; + if (data && data.success && data.card) specialQuizAwardedCard = data.card; + const ov = specialQuizOverlayEl(); + const result = document.getElementById('sq-ov-result'); + if (result) { + result.classList.remove('is-hidden'); + result.textContent = (data && data.success) + ? 'ได้รับการ์ดพิเศษ! ดูในสรุปผลภารกิจ' + : 'รอบนี้ไม่ได้การ์ดพิเศษ'; + result.className = 'sq-ov-result ' + ((data && data.success) ? 'sq-ov-result--ok' : 'sq-ov-result--fail'); + } + const status = document.getElementById('sq-ov-status'); + if (status) status.textContent = ''; + if (ov) setTimeout(function () { ov.classList.add('is-hidden'); }, 1900); + } + function showGauntletCrownMissionOverlay(mission) { const ov = document.getElementById('gauntlet-crown-mission-overlay'); const rowEl = document.getElementById('gcm-rank-row'); @@ -11348,6 +11561,7 @@ const bonusEl = document.getElementById('gcm-bonus'); const btn = document.getElementById('btn-gcm-done'); if (!ov || !rowEl || !mission || !Array.isArray(mission.ranked)) return; + if (!mission.specialCardAwarded && specialQuizAwardedCard) mission.specialCardAwarded = specialQuizAwardedCard; let disp = gauntletCrownBuildDisplayMission(mission); if (mission.uiSkin === 'jumper') { disp = jumpSurviveMergePreviewBotsMission(disp) || disp; @@ -15254,6 +15468,7 @@ quizCarryPlaqueMapScale = Math.max(0.85, Math.min(2.5, joinSc)); } } + if (res.specialQuizIcon) setSpecialQuizIconFromServer(res.specialQuizIcon); if (previewMode && editorEmbedReturn && res.mapData && res.mapData.gameType === 'lobby') { const q = []; q.push('space=' + encodeURIComponent(spaceId)); @@ -15627,6 +15842,25 @@ } }); + /* ===== Special Quiz ในเกม — socket events ===== */ + socket.on('special-quiz-icon', (payload) => { + if (previewMode) return; + setSpecialQuizIconFromServer(payload); + }); + socket.on('special-quiz-icon-clear', () => { clearSpecialQuizIcon(); }); + socket.on('special-quiz-question', (q) => { + if (previewMode) return; + openSpecialQuizQuestion(q); + }); + socket.on('special-quiz-result', (r) => { + if (previewMode) return; + handleSpecialQuizResult(r); + }); + socket.on('special-quiz-ended', (data) => { + if (previewMode) return; + endSpecialQuiz(data); + }); + socket.on('gauntlet-sync', (data) => { if (!data || typeof data !== 'object') return; if (isMegaVirusMissionShellMapPlay()) { @@ -19005,6 +19239,11 @@ } }); } + /* ไอคอนคำถามพิเศษในฉาก (วาดทับ map/ผู้เล่น) + ตรวจการเดินชน */ + if (specialQuizIcon) { + drawSpecialQuizIconWorld(worldToScreen, zDraw); + checkSpecialQuizCollision(); + } if (isFrogger()) { ctx.fillStyle = '#7aa2f7'; ctx.font = 'bold 14px sans-serif'; diff --git a/www/html/Game/public/play.html b/www/html/Game/public/play.html index dd37e88..b9f84a2 100644 --- a/www/html/Game/public/play.html +++ b/www/html/Game/public/play.html @@ -3531,6 +3531,19 @@ object-fit: contain; filter: drop-shadow(0 0 10px rgba(91, 255, 141, 0.45)); } + /* การ์ดพิเศษจาก trycss/10-Game-1-result (mockup .bail-card) */ + #gauntlet-crown-mission-overlay.gcm-quiz-tf-mock .gcm-bonus img.bail-card, + #gauntlet-crown-mission-overlay.gcm-quiz-tf-mock .gcm-bonus img.gcm-special-card-img { + width: auto !important; + height: 258px !important; + max-width: 152px !important; + max-height: none !important; + filter: drop-shadow(0 0 14px rgba(120, 220, 255, 0.55)); + } + #gauntlet-crown-mission-overlay.gcm-quiz-tf-mock .gcm-bonus .gcm-special-card-preset { + display: block; + margin-top: 8px; + } #gauntlet-crown-mission-overlay.gcm-quiz-tf-mock .gcm-plaque { display: none !important; } @@ -3857,10 +3870,57 @@ + + - +
v —
diff --git a/www/html/Game/server.js b/www/html/Game/server.js index e8d5693..2a146c1 100644 --- a/www/html/Game/server.js +++ b/www/html/Game/server.js @@ -287,6 +287,19 @@ const defaultMap = () => ({ const SPECIAL_QUIZ_LEVELS = [1, 2, 3, 4, 5]; const SPECIAL_QUIZ_CASES = [1, 2, 3]; const SPECIAL_QUIZ_CARD_RARITIES = ['common', 'rare', 'legendary']; +const SPECIAL_CARD_ASSET_BASE = '/Game/img/special-cards/'; + +function specialCardTxtFilename(id) { + return id === 7 ? 'card--7txt.png' : `card-${id}-txt.png`; +} + +function specialCardImageUrl(id) { + return `${SPECIAL_CARD_ASSET_BASE}card-${id}.png`; +} + +function specialCardTxtImageUrl(id) { + return `${SPECIAL_CARD_ASSET_BASE}${specialCardTxtFilename(id)}`; +} function specialQuizSetKey(level, caseId) { return 'L' + level + '_C' + caseId; @@ -318,11 +331,28 @@ function sanitizeSpecialQuizQuestion(q) { function sanitizeSpecialCard(c) { const src = (c && typeof c === 'object') ? c : {}; const rarity = SPECIAL_QUIZ_CARD_RARITIES.indexOf(src.rarity) >= 0 ? src.rarity : 'rare'; + let cardId = Number(src.cardId); + if (!(cardId >= 1 && cardId <= 7)) cardId = null; + let imageUrl = String(src.imageUrl == null ? '' : src.imageUrl).trim().slice(0, 600); + let txtImageUrl = String(src.txtImageUrl == null ? '' : src.txtImageUrl).trim().slice(0, 600); + if (cardId) { + if (!imageUrl) imageUrl = specialCardImageUrl(cardId); + if (!txtImageUrl) txtImageUrl = specialCardTxtImageUrl(cardId); + } else if (imageUrl) { + const m = imageUrl.match(/\/card-(\d)\.png/i); + if (m) { + cardId = Number(m[1]); + imageUrl = specialCardImageUrl(cardId); + if (!txtImageUrl) txtImageUrl = specialCardTxtImageUrl(cardId); + } + } return { + cardId: cardId || null, th: String(src.th == null ? '' : src.th).trim().slice(0, 160), en: String(src.en == null ? '' : src.en).trim().slice(0, 160), rarity, - imageUrl: String(src.imageUrl == null ? '' : src.imageUrl).trim().slice(0, 600), + imageUrl, + txtImageUrl, }; } @@ -349,6 +379,263 @@ function getSpecialQuizSet(settings, level, caseId) { return sets[specialQuizSetKey(L, C)] || sets[specialQuizSetKey(1, 1)] || { questions: [], specialCard: sanitizeSpecialCard({}) }; } +/* ===== Special Quiz ในเกม — ไอคอนสุ่มในฉาก + เซสชันถาม-ตอบ multiplayer (ทุกคนต้องตอบถูก) ===== */ +/** เฉพาะ 4 มินิเกมนี้ (ตอนสืบสวน) ที่ไอคอนพิเศษจะสุ่มโผล่ */ +const SPECIAL_QUIZ_ELIGIBLE_MAP_IDS = ['mng8a80o', 'mnorwqx1', 'mnptfts2', 'mnpz6rkp']; +const SPECIAL_QUIZ_ICON_TYPES = ['lawyer', 'police']; +/** โอกาสโผล่ = 1 ใน 3 ของการเล่นแต่ละรอบ */ +const SPECIAL_QUIZ_SPAWN_CHANCE = 1 / 3; +/** เวลาให้ตอบต่อข้อ (มิลลิวิ) — ค่าคงที่เริ่มต้น (ย้ายไป Admin ได้ภายหลัง) */ +const SPECIAL_QUIZ_ANSWER_MS = 20000; +/** หน่วงโชว์เฉลยก่อนข้อต่อไป */ +const SPECIAL_QUIZ_REVEAL_MS = 2600; + +/** แปลงคำถาม 1 ข้อให้อยู่ในรูป {text, choices[], correctIndex} เสมอ (tf -> จริง/เท็จ) */ +function specialQuizNormalizeQuestion(q) { + if (!q || typeof q !== 'object') return null; + const text = String(q.text == null ? '' : q.text).trim(); + if (!text) return null; + if (q.type === 'mcq') { + const choices = (Array.isArray(q.choices) ? q.choices : []).map((c) => String(c == null ? '' : c)).filter((c) => c.trim() !== ''); + if (choices.length < 2) return null; + let ci = Number(q.correctIndex); + if (!Number.isInteger(ci) || ci < 0 || ci >= choices.length) ci = 0; + return { text, choices, correctIndex: ci }; + } + return { text, choices: ['จริง', 'เท็จ'], correctIndex: q.answerTrue ? 0 : 1 }; +} + +function specialQuizShuffle(arr) { + const a = arr.slice(); + for (let i = a.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [a[i], a[j]] = [a[j], a[i]]; + } + return a; +} + +function specialQuizTileWalkable(md, x, y) { + const w = md.width || 20; + const h = md.height || 15; + if (x < 0 || x >= w || y < 0 || y >= h) return false; + const row = md.objects && md.objects[y]; + return !!(row && row[x] !== 1); +} + +/** หลีกเลี่ยงโซน gameplay (คำตอบจริง/ผิด, hub, ตัวเลือกหยิบมาวาง) เพื่อไม่ชนกลไกเกม */ +function specialQuizTileInGameZone(md, x, y) { + if (quizCellOn(md.quizTrueArea || [], x, y)) return true; + if (quizCellOn(md.quizFalseArea || [], x, y)) return true; + if (quizCellOn(md.quizCarryHubArea || [], x, y)) return true; + const oa = md.quizCarryOptionArea; + if (oa && oa[y] && oa[y][x]) return true; + return false; +} + +/** หา tile ที่เดินถึงได้จาก spawn (BFS) และไม่อยู่ในโซน gameplay — คืนพิกัดกึ่งกลาง tile */ +function pickSpecialQuizSpawnTile(md) { + const sp = md.spawn || { x: 1, y: 1 }; + const sx = Math.floor(Number(sp.x)); + const sy = Math.floor(Number(sp.y)); + if (!specialQuizTileWalkable(md, sx, sy)) return null; + const q = [[sx, sy]]; + const seen = new Set([sx + ',' + sy]); + const dirs = [[0, 1], [0, -1], [1, 0], [-1, 0]]; + const cands = []; + while (q.length) { + const [cx, cy] = q.shift(); + for (let di = 0; di < dirs.length; di++) { + const nx = cx + dirs[di][0]; + const ny = cy + dirs[di][1]; + const k = nx + ',' + ny; + if (seen.has(k)) continue; + if (!specialQuizTileWalkable(md, nx, ny)) continue; + seen.add(k); + q.push([nx, ny]); + if (!specialQuizTileInGameZone(md, nx, ny)) { + const dist = Math.abs(nx - sx) + Math.abs(ny - sy); + if (dist >= 2) cands.push({ x: nx, y: ny }); + } + } + } + if (!cands.length) return null; + const pick = cands[Math.floor(Math.random() * cands.length)]; + return { x: pick.x + 0.5, y: pick.y + 0.5 }; +} + +function clearSpecialQuizTimers(space) { + if (Array.isArray(space.specialQuizTimers)) { + space.specialQuizTimers.forEach((t) => clearTimeout(t)); + } + space.specialQuizTimers = []; +} + +/** payload ไอคอนสำหรับ client (null = ไม่มี/ถูกทริกแล้ว) */ +function specialQuizIconPayload(space) { + const sq = space && space.specialQuiz; + if (!sq || sq.triggered || sq.done) return null; + return { iconType: sq.iconType, x: sq.x, y: sq.y }; +} + +/** เริ่มมินิเกมสืบสวน: สุ่ม 1/3 ว่ารอบนี้จะมีไอคอนพิเศษไหม + เลือกตำแหน่ง */ +function maybeSpawnSpecialQuizForRun(space) { + clearSpecialQuizTimers(space); + space.specialQuiz = null; + space.specialCardAwardedThisRun = null; + if (!space || !space.detectiveMinigameActive) return; + const mapId = String(space.mapId || '').trim(); + if (SPECIAL_QUIZ_ELIGIBLE_MAP_IDS.indexOf(mapId) < 0) return; + const level = Number(space.detectiveLobbyLevel) || 1; + const caseId = Number(space.detectiveLobbyCaseId) || 1; + const settings = loadQuizSettings(); + const set = getSpecialQuizSet(settings, level, caseId); + const questions = (set && Array.isArray(set.questions) ? set.questions : []) + .map(specialQuizNormalizeQuestion) + .filter(Boolean); + const card = set && set.specialCard; + const hasCard = !!(card && (card.cardId || card.imageUrl)); + if (!questions.length || !hasCard) return; + if (Math.random() > SPECIAL_QUIZ_SPAWN_CHANCE) return; + const md = (space.mapId && maps.get(space.mapId)) || space.mapData; + if (!md) return; + const tile = pickSpecialQuizSpawnTile(md); + if (!tile) return; + const iconType = SPECIAL_QUIZ_ICON_TYPES[Math.floor(Math.random() * SPECIAL_QUIZ_ICON_TYPES.length)]; + space.specialQuiz = { + iconType, + x: tile.x, + y: tile.y, + level, + caseId, + card, + triggered: false, + done: false, + session: null, + }; +} + +function emitSpecialQuizIcon(sid, space) { + const payload = specialQuizIconPayload(space); + if (payload) io.to(sid).emit('special-quiz-icon', payload); +} + +/** รายชื่อผู้เล่นจริงที่ยังอยู่ในห้องตอนนี้ (ใช้ตัดสิน "ทุกคนตอบถูก") */ +function specialQuizActiveParticipants(space) { + return [...space.peers.keys()]; +} + +function sendSpecialQuizQuestion(sid, space) { + const sq = space.specialQuiz; + const sess = sq && sq.session; + if (!sess) return; + const q = sess.questions[sess.qIndex]; + if (!q) { endSpecialQuizSession(sid, space, false); return; } + sess.answers = {}; + sess.phaseEndsAt = Date.now() + SPECIAL_QUIZ_ANSWER_MS; + io.to(sid).emit('special-quiz-question', { + index: sess.qIndex, + total: sess.questions.length, + text: q.text, + choices: q.choices, + endsAt: sess.phaseEndsAt, + iconType: sq.iconType, + }); + const t = setTimeout(() => { + const spNow = spaces.get(sid); + if (!spNow || spNow.specialQuiz !== sq || sq.session !== sess) return; + resolveSpecialQuizQuestion(sid, spNow, true); + }, SPECIAL_QUIZ_ANSWER_MS + 80); + space.specialQuizTimers.push(t); +} + +/** ตัดสินข้อปัจจุบัน: ต้องตอบครบทุกคน และถูกทุกคน จึงผ่าน */ +function resolveSpecialQuizQuestion(sid, space, fromTimeout) { + const sq = space.specialQuiz; + const sess = sq && sq.session; + if (!sess || sess.resolving) return; + sess.resolving = true; + clearSpecialQuizTimers(space); + const q = sess.questions[sess.qIndex]; + const participants = specialQuizActiveParticipants(space); + let allCorrect = participants.length > 0; + participants.forEach((pid) => { + const a = sess.answers[pid]; + if (!(Number.isInteger(a) && a === q.correctIndex)) allCorrect = false; + }); + io.to(sid).emit('special-quiz-result', { + index: sess.qIndex, + correctIndex: q.correctIndex, + answers: { ...sess.answers }, + allCorrect, + timeout: !!fromTimeout, + }); + if (!allCorrect) { + const t = setTimeout(() => { + const spNow = spaces.get(sid); + if (!spNow || spNow.specialQuiz !== sq) return; + endSpecialQuizSession(sid, spNow, false); + }, SPECIAL_QUIZ_REVEAL_MS); + space.specialQuizTimers.push(t); + return; + } + sess.qIndex++; + if (sess.qIndex >= sess.questions.length) { + const t = setTimeout(() => { + const spNow = spaces.get(sid); + if (!spNow || spNow.specialQuiz !== sq) return; + endSpecialQuizSession(sid, spNow, true); + }, SPECIAL_QUIZ_REVEAL_MS); + space.specialQuizTimers.push(t); + return; + } + const t = setTimeout(() => { + const spNow = spaces.get(sid); + if (!spNow || spNow.specialQuiz !== sq || sq.session !== sess) return; + sess.resolving = false; + sendSpecialQuizQuestion(sid, spNow); + }, SPECIAL_QUIZ_REVEAL_MS); + space.specialQuizTimers.push(t); +} + +function endSpecialQuizSession(sid, space, success) { + const sq = space.specialQuiz; + if (!sq) return; + clearSpecialQuizTimers(space); + sq.done = true; + sq.session = null; + let cardOut = null; + if (success && sq.card && (sq.card.cardId || sq.card.imageUrl)) { + space.specialCardAwardedThisRun = sq.card; + cardOut = sq.card; + } + io.to(sid).emit('special-quiz-ended', { success: !!success, card: cardOut }); +} + +function startSpecialQuizSession(sid, space) { + const sq = space.specialQuiz; + if (!sq || sq.triggered || sq.done) return false; + const settings = loadQuizSettings(); + const set = getSpecialQuizSet(settings, sq.level, sq.caseId); + const all = (set && Array.isArray(set.questions) ? set.questions : []) + .map(specialQuizNormalizeQuestion) + .filter(Boolean); + if (!all.length) return false; + const cap = clampQuizRoundQuestionCount(settings.quizRoundQuestionCount, 10); + const picked = specialQuizShuffle(all).slice(0, Math.max(1, Math.min(cap, all.length))); + sq.triggered = true; + sq.session = { + questions: picked, + qIndex: 0, + answers: {}, + phaseEndsAt: 0, + resolving: false, + }; + clearSpecialQuizTimers(space); + io.to(sid).emit('special-quiz-icon-clear', {}); + sendSpecialQuizQuestion(sid, space); + return true; +} + function defaultQuizSettings() { return { readMs: 10000, @@ -2013,6 +2300,9 @@ function beginDetectiveSuspectMinigame(sid, space, cardEntry, selectedIndex) { space.quizSession = null; space.mapId = mapId; space.mapData = md; + /* สุ่มไอคอนคำถามพิเศษสำหรับรอบนี้ (1 ใน 3) — ส่งจริงผ่าน joinCb เมื่อ client เข้า play.html */ + maybeSpawnSpecialQuizForRun(space); + emitSpecialQuizIcon(sid, space); let si = 0; space.peers.forEach((p) => { @@ -2098,6 +2388,8 @@ function beginDetectiveSuspectMinigame(sid, space, cardEntry, selectedIndex) { function returnDetectiveSpaceToLobbyB(sid, space, message, awardOptions) { ensurePostCaseLobbyMapLoaded(); clearSpaceQuizTimers(space); + clearSpecialQuizTimers(space); + space.specialQuiz = null; if (space.quizSession) space.quizSession.active = false; space.quizSession = null; space.detectiveMinigameActive = false; @@ -4877,6 +5169,9 @@ io.on('connection', (socket) => { if ((isBalloonBossMissionShellSpace(space) || isQuizQuestionMissionShellSpace(space) || isStackTowerMissionShellSpace(space) || isJumpSurviveMissionShellSpace(space) || isSpaceShooterMissionShellSpace(space)) && space.gauntletRun) { joinCb.gauntletCrownRunHeld = !!space.gauntletRun.crownRunHeld; } + /* ไอคอนคำถามพิเศษของรอบนี้ (ถ้ามีและยังไม่ถูกทริก) */ + const sqIcon = specialQuizIconPayload(space); + if (sqIcon) joinCb.specialQuizIcon = sqIcon; if (typeof cb === 'function') cb(joinCb); emitLobbyTintSync(spaceId, space); socket.to(spaceId).emit('user-joined', peer); @@ -4887,6 +5182,40 @@ io.on('connection', (socket) => { } }); + /** ผู้เล่นเดินชนไอคอนคำถามพิเศษ — ใครชนก่อนเป็นคนเปิดเซสชันให้ทั้งห้อง */ + socket.on('special-quiz-collide', (_data, cb) => { + const reply = typeof cb === 'function' ? cb : () => {}; + const sid = socket.data.spaceId; + const space = sid ? spaces.get(sid) : null; + if (!space || !space.peers.has(socket.id)) return reply({ ok: false }); + const sq = space.specialQuiz; + if (!sq || sq.triggered || sq.done) return reply({ ok: false }); + const started = startSpecialQuizSession(sid, space); + reply({ ok: !!started }); + }); + + /** ผู้เล่นส่งคำตอบของข้อปัจจุบัน */ + socket.on('special-quiz-answer', (data, cb) => { + const reply = typeof cb === 'function' ? cb : () => {}; + const sid = socket.data.spaceId; + const space = sid ? spaces.get(sid) : null; + if (!space || !space.peers.has(socket.id)) return reply({ ok: false }); + const sess = space.specialQuiz && space.specialQuiz.session; + if (!sess || sess.resolving) return reply({ ok: false }); + const choice = Number(data && data.choiceIndex); + const q = sess.questions[sess.qIndex]; + if (!q || !Number.isInteger(choice) || choice < 0 || choice >= q.choices.length) { + return reply({ ok: false }); + } + if (Number.isInteger(sess.answers[socket.id])) return reply({ ok: false, error: 'ตอบไปแล้ว' }); + sess.answers[socket.id] = choice; + reply({ ok: true }); + /* ตอบครบทุกคนแล้วตัดสินทันที ไม่ต้องรอหมดเวลา */ + const participants = specialQuizActiveParticipants(space); + const allAnswered = participants.length > 0 && participants.every((pid) => Number.isInteger(sess.answers[pid])); + if (allAnswered) resolveSpecialQuizQuestion(sid, space, false); + }); + /** เปลี่ยนสีเสื้อ/ผิวใน lobby — ห้ามเลือกสีที่คนอื่นใช้แล้ว */ socket.on('lobby-tint-update', (data, cb) => { const reply = typeof cb === 'function' ? cb : () => {}; @@ -5345,6 +5674,8 @@ io.on('connection', (socket) => { space.troublesomeResponseReceived = false; space.suspectPhaseActive = false; space.suspectPickIndex = 0; + space.detectiveLobbyLevel = Number(lobbyLevel) || 1; + space.detectiveLobbyCaseId = Number(caseId) || 1; if (space.troublesomeEligible) space.troublesomeEligible.clear(); else space.troublesomeEligible = new Set(); if (space.troublesomeDebTimer) clearTimeout(space.troublesomeDebTimer);