Prepare game updates and single-process PM2 deployment

This commit is contained in:
2026-10-14 19:13:36 +09:00
parent 4f24129e29
commit 22792bc2b4
50 changed files with 1546 additions and 197 deletions
+8
View File
@@ -68,6 +68,14 @@ const scenarios: [string, () => void][] = [
}],
['패배', () => result(selfIndex === 0 ? 1 : 0)], ['승리', () => result(selfIndex)], ['무승부', () => result(null)],
['기 부족', () => { clearTimeout(timer); show({ ...state(), energy: [0, 0] }); }],
['연결 복구 중', () => { clearTimeout(timer); show({ ...state(), opponentPresent: false }); }],
['준비 중 연결 끊김', () => { clearTimeout(timer); show({ ...state(), phase: 'countdown', opponentPresent: false, startsAt: Date.now() + MATCH_COUNTDOWN_MS }); }],
['연결 복구 실패', () => {
result(null); show({ ...current, aborted: true, finished: { ...current.finished!, reason: 'connection_failed' } });
}],
['중단 기록 저장 실패', () => {
result(null); show({ ...current, aborted: true, saveStatus: 'failed', finished: { ...current.finished!, reason: 'connection_failed', saved: false } });
}],
['오른쪽 플레이어', () => { selfIndex = selfIndex === 0 ? 1 : 0; clearTimeout(timer); show(state()); }],
];
const picker = document.createElement('select'); picker.setAttribute('aria-label', '검증 상태');