Add tank stage 4 with water and supply crates

Stages so far only varied the walls. Give stage 4 rules of its own.

Water blocks tanks but not shells, so the centre of the map is crossed
only at the fords while both sides can still shoot across it. It is one
predicate - rectBlocked is used for tank movement alone, so adding WATER
there leaves bullets untouched.

Supply crates appear on a timer and grant a 3s enemy freeze or 10s of
steel around the base; the shovel effect puts brick back when it lapses,
so broken walls are repaired. Active effects show a countdown badge.

Stages carry a specials line: shown on the start overlay and in the HUD
on entry, and previewed on the preceding stage's clear screen.

Checked headlessly: over 247k sampled tank positions none sat on water
while 7591 bullet frames did, crates were taken 8 times in 8 runs, and
stage 4 leaves the base standing in 7 of 10 idle runs with 98 cells the
player can reach without firing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-11 16:54:33 +09:00
co-authored by Claude Opus 5
parent f208619ac4
commit 440af0df2a
3 changed files with 233 additions and 31 deletions
+3 -1
View File
@@ -174,6 +174,7 @@ body{
<a href="tank.html#1" target="stage" data-key="tank1" title="1단계 요새">1단계</a>
<a href="tank.html#2" target="stage" data-key="tank2" title="2단계 미로">2단계</a>
<a href="tank.html#3" target="stage" data-key="tank3" title="3단계 강철 회랑">3단계</a>
<a href="tank.html#4" target="stage" data-key="tank4" title="4단계 참호 — 물길·보급 상자">4단계</a>
</div>
</div>
@@ -199,7 +200,8 @@ var PAGES = {
tank: {file:'tank.html', name:'휴게실 · 탱크게임'},
tank1: {file:'tank.html#1', name:'휴게실 · 탱크게임 1단계'},
tank2: {file:'tank.html#2', name:'휴게실 · 탱크게임 2단계'},
tank3: {file:'tank.html#3', name:'휴게실 · 탱크게임 3단계'}
tank3: {file:'tank.html#3', name:'휴게실 · 탱크게임 3단계'},
tank4: {file:'tank.html#4', name:'휴게실 · 탱크게임 4단계'}
};
var DEFAULT = 'korean';