Cartello, titolo, introduzione e crediti a tutto schermo; inventario che si scorre

- Sul telefono il titolo inquadra il bastione col Regolo; il volume resta raggiungibile sopra.
- L'inventario è alto quanto i verbi, si scorre e mostra l'ultimo oggetto preso; la prova nel browser lo
  riempie con 16 oggetti e controlla che resti dentro lo schermo.

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 22:45:06 +02:00
co-authored by Claude Opus 5.5
parent 616a84313d
commit 24d10ab4af
3 changed files with 37 additions and 6 deletions
+11
View File
@@ -93,6 +93,17 @@ try {
// «?» mostra per qualche secondo cosa si può toccare.
await page.click('#spots-button');
await page.screenshot({ path: `${OUT}/02c-punti.png` });
// Inventario pieno (16 oggetti di prova): resta alto quanto i verbi, dentro lo schermo, si scorre e mostra l'ultimo preso.
await page.evaluate(() => {
const items = game.story.items, kinds = ['chiave_oratorio', 'libro', 'squama'];
for (let i = 1; i <= 16; i++) { items['prova' + i] = { name: 'prova ' + i, icon: items[kinds[i % 3]].icon }; game.state.inventory.push('prova' + i); }
});
await page.waitForTimeout(150);
const inv = await page.evaluate(() => { const e = document.getElementById('inventory'), r = e.getBoundingClientRect(), last = e.lastElementChild.getBoundingClientRect();
return { inside: r.bottom <= innerHeight, scrolls: e.scrollHeight > e.clientHeight, lastVisible: last.bottom <= r.bottom + 1 && last.top >= r.top - 1 }; });
assert.deepEqual(inv, { inside: true, scrolls: true, lastVisible: true }, 'inventario pieno');
await page.screenshot({ path: `${OUT}/02d-inventario-pieno.png` });
await page.evaluate(() => { game.state.inventory = game.state.inventory.filter(i => !i.startsWith('prova')); for (let i = 1; i <= 16; i++) delete game.story.items['prova' + i]; });
// 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])');