Forno, stazione e chiesa; uscite della rotonda e di Via Calimara come il paese vero; mappa ordinata

- Dalla Pieve a destra il forno e, a sinistra, la stazione; dal portone centrale si entra nella Pieve
  (foto di Mariano Mirannalti, nei crediti alla voce «Fotografie»).
- Via Calimara: in fondo la Piazza, verso chi guarda la farmacia. Rotonda del River: a sinistra il campo
  sportivo, in basso l'area feste, dietro la farmacia la Pieve, a destra il Comune, in basso a destra Calimara.
- Polisportiva: dal ponte prima il campo principale, poi il secondario col padel; dietro, l'area feste.
- Andrea ha 27 anni nel 2007: battute, documento e CLAUDE.md corretti.
- Mappa su una griglia ordinata, senza etichette sovrapposte.
- Doppio clic: Andrea va al doppio della velocità. In pausa la musica sfuma e si ferma; dopo un minuto
  senza toccare niente il gioco va in pausa da solo.
- Crediti: scorre solo l'elenco, dedica e Chiudi sempre in vista.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017egeN2amL84ErjfgQFtEDn
This commit is contained in:
2026-10-23 20:00:28 +02:00
co-authored by Claude Opus 5.5
parent 043a5abdcb
commit 2d682d8ae9
53 changed files with 341 additions and 93 deletions
+8 -2
View File
@@ -64,8 +64,9 @@ try {
assert.match(await page.textContent('#credits'), /Yuri Baldi/);
assert.match(await page.textContent('#credits'), /Francesco Bacci/);
await page.screenshot({ path: `${OUT}/01c-crediti.png` });
const fitsCredits = await page.evaluate(() => { const c = document.getElementById('credits'); return c.scrollHeight <= c.clientHeight; });
assert.ok(fitsCredits, 'i crediti stanno in una schermata');
// L'elenco può scorrere; la dedica e il pulsante Chiudi devono restare dentro lo schermo.
const fitsCredits = await page.evaluate(() => { const c = document.getElementById('credits').getBoundingClientRect(), b = document.getElementById('close-credits').getBoundingClientRect(); return b.bottom <= c.bottom && b.top >= c.top; });
assert.ok(fitsCredits, 'il pulsante Chiudi dei crediti è in vista');
await page.keyboard.press('Escape');
assert.ok(await page.isHidden('#credits'), 'Esc chiude i crediti');
await page.click('#new-game');
@@ -84,6 +85,11 @@ try {
assert.ok(await fits(page), 'verbi e inventario fuori dallo schermo');
await settle(page);
// Doppio clic su un punto della scena: Andrea ci va di corsa.
const r = await page.locator('#scene').boundingBox();
await page.mouse.dblclick(r.x + 300 / 640 * r.width, r.y + 330 / 360 * r.height);
assert.ok(await page.evaluate(() => game.hurry), 'il doppio clic fa correre');
await settle(page);
// Pausa: Esc o il pulsante fermano il gioco; Riprendi torna dov'eri; il titolo offre «Continua».
await page.keyboard.press('Escape');
await page.waitForSelector('#pause:not([hidden])');