Giochi di carte dopo la revisione di Codex sui tre insieme; player dei video «Come si gioca» e primo copione
Esito che vale e si salva appena deciso, per tutti i minigiochi (anche tornando al titolo dalla schermata del risultato); briscola: uscire durante il conteggio non perde più la vittoria; tressette: si esce ai 21 col primo evento che ci porta, accusa compresa (prima vinceva sempre Andrea se ci arrivavano tutte e due), il carico che fa vincere si dà anche se è il 2, accuse che non escono dal tavolo, convenzioni scritte nell'aiuto; scopa: primiera valutata per quel che migliora, finale esatto a mazzo finito, presa sulla tavola al rilascio con scelta e conferma, frecce e Invio sempre sulla presa scelta. Tastiera: Invio e Spazio giocano sempre la carta scelta. Tavola descritta a parole. Classi CSS comuni ai tre giochi. Video: player nel gioco (pulsante «Guarda il video» nel «Come si gioca», compare quando il video esiste), video/narra.py per la voce del narratore, pezzi comuni dei copioni e il copione della briscola; scaletta in video/SCALETTA-CARTE.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
This commit is contained in:
@@ -90,13 +90,17 @@ try {
|
||||
assert.equal(await page.evaluate(() => game.closeup.step), 'choose');
|
||||
await page.waitForSelector('#scopa-options:not([hidden])');
|
||||
await page.screenshot({ path: `${out}/scopa-${name}-scelta.png` });
|
||||
if (mode === 'keyboard') { await page.keyboard.press('ArrowRight'); await page.keyboard.press('Enter'); }
|
||||
// Tastiera (Codex): fuoco sulla prima presa, freccia a destra, Invio: deve partire la seconda.
|
||||
if (mode === 'keyboard') { await page.locator('#scopa-options button:first-child').focus(); await page.keyboard.press('ArrowRight'); await page.keyboard.press('Enter'); }
|
||||
else if (mode === 'touch') {
|
||||
// Il 5 in tavola sta solo nella presa 2+5: toccarlo la sceglie.
|
||||
// Il 5 in tavola sta solo nella presa 2+5.
|
||||
const p = await page.evaluate(async () => {
|
||||
const { tableXY } = await import('/src/engine/scopa-render.js'), c = game.closeup;
|
||||
const i = c.table.findIndex(a => a.value === 5), [x, y] = tableXY(c.table.length, i); return [x + 21, y + 30];
|
||||
});
|
||||
// Il primo tocco sceglie la presa che lo contiene (evidenziata), il secondo la conferma.
|
||||
await at(page, mode, p);
|
||||
assert.equal(await page.evaluate(() => game.closeup.step === 'choose' && game.closeup.choice.selected), 1);
|
||||
await at(page, mode, p);
|
||||
} else await tap(page, mode, '#scopa-options button:nth-child(2)');
|
||||
assert.equal(await page.evaluate(() => game.closeup.step), 'take');
|
||||
|
||||
Reference in New Issue
Block a user