Il Taglia (Andrea Tagliaferri, col suo consenso) al campone delle poste, più alto di Andrea, sprite di Codex dalla sua foto: si gareggia con la Condor parlandogli (Andrea)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GiECd9KMfjthRUnujCGSzZ
This commit is contained in:
2026-10-30 00:04:38 +01:00
co-authored by Claude Opus 5.5
parent 9d823375aa
commit 41e5fe2f6b
28 changed files with 203 additions and 10 deletions
+4 -2
View File
@@ -1,4 +1,4 @@
// La Condor nel browser vero: al campone delle poste, mira, fiato trattenuto e tiro col mouse e col dito.
// La Condor nel browser vero: dal Taglia al campone delle poste, mira, fiato trattenuto e tiro col mouse e col dito.
// npm run browser:condor — schermate in /tmp/regolo-condor.
import { chromium } from 'playwright';
import { mkdirSync } from 'node:fs';
@@ -20,7 +20,9 @@ try {
await page.evaluate(async () => {
const { settle } = await import('/tests/helpers.mjs');
settle(game); game.go('giardini_poste'); settle(game);
game.queue.push({ closeup: 'condor', level: 'seria' }); settle(game);
game.act('talk', 'taglia'); settle(game);
game.choose(game.options().findIndex(o => o.text.startsWith('Taglia! Si fa una gara'))); settle(game);
game.choose(game.options().findIndex(o => o.text === 'Seria.')); settle(game);
});
await page.waitForSelector('#bocce-controls:not([hidden])');
await page.waitForFunction(async () => (await import('/src/engine/render.js')).hasBackground('assets/closeups/campone-condor.png'));
+13
View File
@@ -88,3 +88,16 @@ test('il disegno della Condor non cambia lo stato', () => {
assert.ok(calls.some(([op, t]) => op === 'fillText' && t === 'BATTUTO IL TAGLIA!'));
assert.ok(MINIGAMES.condor);
});
test('dal Taglia, al campone delle poste: la gara, il livello e la Condor', () => {
const g = new Game(story); g.go('giardini_poste'); settle(g);
const h = g.hotspot('taglia');
assert.equal(g.hotspotAt([h.box[0] + h.box[2] / 2, h.box[1] + h.box[3] / 2]).id, 'taglia');
g.act('talk', 'taglia'); settle(g);
g.choose(g.options().findIndex(o => o.text.startsWith('Taglia! Si fa una gara'))); settle(g);
g.choose(g.options().findIndex(o => o.text === 'A fassi male.')); settle(g);
assert.equal(g.closeup?.id, 'condor'); assert.equal(g.closeup.level, 'male');
g.closeup.step = 'result'; g.closeup.result = { winner: 'player', points: 50, taglia: 44 };
g.closeupClose(); settle(g);
assert.ok(g.state.flags.condor_vinta);
});