feat(system-gaps): 복합 카드(피해+방어)·런 종료 후 메뉴 복귀(EndRun)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 09:01:42 +09:00
parent 1de8fac893
commit 8ff50b428d
3 changed files with 23 additions and 5 deletions

View File

@@ -118,3 +118,16 @@ test('runBatch: 집계 필드·승률 범위', () => {
test('runBatch: 동일 시드 동일 결과', () => {
assert.deepEqual(runBatch(100, 7), runBatch(100, 7));
});
test('simulateCombat: 복합 카드(공격+방어) 블록이 적 공격을 흡수', () => {
const data = {
cards: { Combo: { name: '콤보', cost: 1, kind: 'Attack', damage: 1, block: 3 } },
starterDeck: ['Combo', 'Combo', 'Combo', 'Combo', 'Combo'],
monsters: [{ name: '적', maxHp: 9999, intents: [{ kind: 'Attack', value: 9 }] }],
};
const r = simulateCombat(data, mulberry32(1));
// 매 턴 3장(에너지3) → 블록 9 = 적 공격 9 전부 흡수 → 무피해로 MAX_TURNS 도달(draw), HP 유지.
// 블록 미적용이면 매턴 -9로 사망(win=false, draw 아님).
assert.equal(r.draw, true);
assert.equal(r.playerHpRemaining, 80);
});