L'Ingorgo più da discoteca: fasci più forti e numerosi, colpo di colore a ogni battuta, strobo a raffica, macchie di luce sulla folla, laser anche in piazza, palla a specchi su tutta la scena; alla festa si clicca solo per spostarsi; il manifesto più facile da toccare col dito; il video breve dell'Ingorgo (Andrea)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GiECd9Quo9nEdXyjXYF8ma
This commit is contained in:
@@ -96,6 +96,15 @@ test('chiudendo l\'effetto prima del lampo, la festa arriva lo stesso', () => {
|
||||
assert.ok(g.state.flags.ingorgo);
|
||||
});
|
||||
|
||||
test('col dito il manifesto dell\'Ingorgo si prende anche toccando vicino, e non si scambia con quello del Palio', () => {
|
||||
const g = new Game(story); g.go('piazza'); settle(g);
|
||||
const [x, y, w, h] = g.hotspot('manifesto_ingorgo').box, reach = 28; // 22 pixel di schermo su un iPhone in orizzontale
|
||||
for (const p of [[x + w / 2, y + h / 2], [x - 6, y + h / 2], [x + w + 4, y + h / 2], [x + w / 2, y + h + 6]])
|
||||
assert.equal(g.hotspotAt(p, reach)?.id, 'manifesto_ingorgo', `tocco in ${p}`);
|
||||
const palio = g.hotspot('manifesto').box;
|
||||
assert.equal(g.hotspotAt([palio[0] + palio[2] / 2, palio[1] + palio[3] / 2], reach)?.id, 'manifesto');
|
||||
});
|
||||
|
||||
test('il manifesto ingrandito si chiude senza fare niente: niente festa', () => {
|
||||
const g = new Game(story); g.go('piazza'); settle(g);
|
||||
g.act('look', 'manifesto_ingorgo'); settle(g);
|
||||
@@ -103,6 +112,18 @@ test('il manifesto ingrandito si chiude senza fare niente: niente festa', () =>
|
||||
assert.ok(!g.state.flags.ingorgo && !g.closeup);
|
||||
});
|
||||
|
||||
test('alla festa si clicca solo per andare da un posto all\'altro', () => {
|
||||
const g = fromPiazza();
|
||||
for (const scene of ZONE.scenes) {
|
||||
g.go(scene); settle(g);
|
||||
const list = g.hotspots();
|
||||
assert.ok(list.length && list.every(h => h.exit), `${scene}: solo le uscite`);
|
||||
assert.ok(story.scenes[scene].hotspots.some(h => !h.exit), `${scene}: di giorno c'è anche altro`);
|
||||
}
|
||||
g.go('piazza'); settle(g);
|
||||
assert.equal(g.hotspotAt([505, 200]), null, 'la colonna, alla festa, non risponde');
|
||||
});
|
||||
|
||||
test('alla festa le luci da palco si muovono, e solo alla festa', () => {
|
||||
globalThis.Image = class { set src(v) {} };
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user