Three modes, picked up front — and CLASSIC TENNIS is one of them
The setup screen picks WHAT before WHO and WHERE. Three rows out of a table, in the court row's own markup: CLASSIC TENNIS is not the opener with the turn switched off and left there — it is the mode the other two are built on, so it gets real match scoring: six games with a two-game lead is a set, best of TUNE.classicSets is the match, the board shows the sets column (hidden until now outside splatter) and the bar under it says which set this is. The CPU stops rubber-banding and flubs less: aiFlubLoss exists to get a new player PAST the opener, and a mode whose whole promise is a real match cannot be won by an opponent that falls apart the moment he goes ahead. No tiebreak — 6-6 plays on to 8-6. Marked ponytail. That needed a second ENDING, the one with no corpse in it: G.done, the same summary and gated tap as the death screen, its own words (GAME, SET, MATCH. / BEATEN.) and the man still standing. The three endings now share one block rather than three copies of it. Caught by the first classic test: stats banked only the FIRST classic run of a session. `banked` was cleared by the next KILL, and a classic match has no kills in it at all — every later match was swallowed by the double-bank guard. beginRun() is the honest reset and restartRun calls it. ZOMBIE TENNIS from the menu is one line; the back room keeps its door. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
66fdad3d74
commit
c89d4a3ff9
31 files changed
+472
-123
No files matched your search
@@ -108,6 +108,13 @@ export const G = {
|
||||
match: null, // ZOMBIE TENNIS (beats.startMatch): {opp, ending}. One GAME per opponent,
|
||||
// real scoring — every point you win wounds the racket zombie, every point it
|
||||
// wins draws your blood. Runs ON TOP of a permanent interlude.
|
||||
// CLASSIC TENNIS: the mode where nothing turns. `G.mode` stays 'tennis' for the whole run, the
|
||||
// transition is blocked, and the game is scored as a real match — 6 games with a two-game lead is
|
||||
// a set, TUNE.classicSets sets is the match. It is the FOUNDATION mode, not a warm-up: if the
|
||||
// core tennis is good, everything built on it is good.
|
||||
classic: false,
|
||||
done: null, // {won, t} — the run ENDED without a corpse (a classic match played out).
|
||||
// The one end-of-run state that is not 'eaten': same summary, same gated tap.
|
||||
drill: null, // the TRIAGE drill (src/drill.js): {t, spawnT, score, streak, kills, faults,
|
||||
// lost, best, msg}. Owns the court like every other mode — see beats.startDrill.
|
||||
// One rule: always kill the body that would reach you first. `t` is time
|
||||
|
||||
Reference in new issue
Block a user