beforeupdate end game
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Justice Game — สรุปงาน 2026-06-14
|
||||
|
||||
## [1] CARD BAN (การ์ดแบนผู้เล่น) — แก้หลายชั้น
|
||||
|
||||
1. **หน้าโหวตไม่เด้ง**
|
||||
- สาเหตุ: ไม่มี CSS ของ `#pick-vote-overlay` เลยทั้งโปรเจกต์
|
||||
(JS สร้าง div แต่ไม่มี style เลยจมหลัง UI lobby)
|
||||
- แก้: เพิ่ม CSS modal กลางจอ ธีม neon-cyan (room-lobby.css)
|
||||
|
||||
2. **คนถูกแบนควรเข้าไปดูเพื่อนเล่นได้ แต่เล่นเองไม่ได้**
|
||||
- ทำ spectator mode:
|
||||
- input-shield คลุมจอ (กันปุ่ม/จอย/canvas)
|
||||
- บล็อกคีย์บอร์ด
|
||||
- ป้ายแดง "คุณถูกแบนรอบนี้"
|
||||
- server กันไม่ให้ได้เหรียญ/หลักฐาน (peer.bannedSpectator)
|
||||
|
||||
3. **แบนแล้วไม่มีผล**
|
||||
- สาเหตุ: ID ไม่ตรง (โหวตได้ `__lobby_bot_N` แต่บอทที่เล่นคือ `__pv_bot_N`)
|
||||
- แก้: map กันให้ตรง (URL `&banBot=N`)
|
||||
- แบนคน = เข้าเกมเป็น spectator
|
||||
- แบนบอท = ไม่ลงเล่นรอบนั้น (rebalancePreviewBots ข้าม slot)
|
||||
|
||||
## [2] ระบบเกรด + การ์ดรางวัล
|
||||
|
||||
- ตรวจแล้ว rarity ต่อเกรด "ตรงสเปกอยู่แล้ว":
|
||||
- เกรด A : ชี้คนร้าย 30% / rare 50% / ธรรมดา 20%
|
||||
- เกรด B : ชี้คนร้าย 20% / rare 30% / ธรรมดา 50%
|
||||
- เกรด C : rare 20% / ธรรมดา 80%
|
||||
- threshold A>=80, B>=60, C<60
|
||||
- แก้ MG2/MG5 ให้คิดเกรดจาก "คะแนนเฉลี่ยทุกคน" (เดิมใช้จำนวนผู้รอด) -> ทุกเกมใช้วิธีเดียวกัน
|
||||
|
||||
## [3] ตรวจ + แก้ SCORING รายเกม
|
||||
|
||||
- **MG2 (กับดัก):** ตรงสเปกทั้งหมด — เริ่ม 100, ชน -10, อันดับ +100/80/60,
|
||||
คะแนนเท่า=อันดับเท่า, ตกขอบจอ=ตายทันที
|
||||
- **MG6 (ยิงอุกกาบาต):** ยิงโดน +5 (ok), ชน 3 ครั้ง=ตาย (ok)
|
||||
- แก้: เวลา 90 -> 60 วินาที, เพิ่ม +20 โบนัสรอดจนจบ
|
||||
- **MG7 (ยิงบอส):** คง +10/โดนบอส
|
||||
- เพิ่ม: -5/ยิง (clamp 0), +100 ฆ่าบอส (ทุกคน), +10 ผู้รอดชีวิต
|
||||
|
||||
## [4] CSS / UI
|
||||
|
||||
- **MG5/MG6 หน้าสรุปผล:** ขาดไฟล์ `mission-complete.png` (Jumper/ViolentCrime)
|
||||
-> copy จาก QUESTION ทำให้ช่อง "โบนัสพิเศษ" ตรงกับเกมอื่น
|
||||
- **MG4 icon คำถามพิเศษเกิดบนโต๊ะ:** โต๊ะวาดใน background แต่ grid ไม่ได้มาร์ค
|
||||
-> ให้ icon เกิดใกล้จุดผู้เล่น + เว้น buffer รอบ hub/โต๊ะ
|
||||
- **MG7 avatar + ปุ่ม SHOOT:** avatar ตรง design อยู่แล้ว (1729,21)
|
||||
-> เพิ่มปุ่ม SHOOT มุมขวาล่าง (1648,818, Artboard 8.png) แตะยิงได้
|
||||
|
||||
## [5] ค้างอยู่
|
||||
|
||||
- `[ban-debug]` log ยังอยู่ใน server.js (รอยืนยัน Card Ban ใช้งานได้ครบก่อนถอด)
|
||||
- ถ้า MG7 avatar/ปุ่มยังเพี้ยนตอนเล่นจริง รอ screenshot เพื่อจูนพิกัด
|
||||
|
||||
## ไฟล์ที่แก้ (deployed prod)
|
||||
|
||||
- `Game/server.js` — grade, ban, bannedSpectator, MG4 spawn, ban-debug log
|
||||
- `Game/public/js/play.js` — spectator UI, MG6/MG7 scoring, MG7 SHOOT button, banBot
|
||||
- `Game/public/js/room-lobby.js` — pick-vote nav, banned/banBot
|
||||
- `Game/public/css/room-lobby.css` — pick-vote overlay CSS (v0.0175)
|
||||
- `Game/public/play.html` — play.js v0.006131821
|
||||
- `Game/public/room-lobby.html` — room-lobby.js v0.0278
|
||||
- `Game/public/img/{Jumper,ViolentCrime}/mission-complete.png` — เพิ่มใหม่
|
||||
Reference in New Issue
Block a user