Tressette e Trionfo — il gioco di carte italiano, giocabile online.
al Triònf nel ferrarese, Marafone o Beccaccino in Romagna.
Un gioco di carte per Tressette e Trionfo, cioè il tressette con la briscola. Non è un clone di un'app americana con le carte francesi: sono le quaranta carte italiane, con le regole vere e i punteggi in terzi di punto, come si contano al tavolo.
Per chi ci gioca da quarant'anni. Il pubblico non sono i videogiocatori: è gente che al bar tira giù il tre di denari e sa esattamente cosa sta facendo.
Da qui discende tutto il resto delle scelte: caratteri grandi, contrasto alto, niente gergo da app, deve funzionare su un telefono tenuto in mano da una persona di settant'anni. Se una schermata ha bisogno di essere spiegata, è sbagliata.
| Modo | Come funziona |
|---|---|
| Solitario | Un umano contro tre giocatori simulati. Funziona senza rete: in treno, in cantina, dove non prende. |
| Passa e gioca | Da due a quattro persone sullo stesso telefono, con il sipario fra un turno e l'altro perché nessuno veda le carte degli altri. I posti vuoti li prendono i simulati. |
| Tavolo in rete | Fino a quattro giocatori da dispositivi diversi. Stanza con un codice di quattro caratteri, niente registrazione: basta un soprannome. |
Il motore di gioco e il client sono fatti e funzionanti: si gioca in solitario e in passa-e-gioca. Il tavolo in rete è il lavoro in corso.
Questo è un progetto personale portato avanti nei ritagli di tempo, non un prodotto commerciale: nessuna promessa di date.
Le regole si scrivono una volta sola. Il motore è TypeScript puro, senza dipendenze, e gira identico sul client e sul server. In un gioco di carte online la fonte di bug numero uno è avere le regole implementate due volte in due linguaggi che pian piano divergono: qui il problema non può proprio esistere.
Il server non manda mai a un giocatore le carte degli altri. Ogni client riceve una vista personalizzata della partita. Non è una questione di fiducia nel client: se le carte altrui arrivano al browser, prima o poi qualcuno le guarda con gli strumenti per sviluppatori.
Ogni mano è riproducibile. Il mazzo si mescola con un generatore pseudocasuale con seme esplicito, e il seme si salva. Data la stessa partenza la mano si rigioca identica: serve per rivedere una partita e per i test di regressione, che altrimenti su un gioco di carte diventano impossibili.
E una trappola, per chi volesse implementarlo da sé: il 3 comanda ma l'Asso vale di più. La forza di presa e il valore in punti sono due ordinamenti diversi, e confonderli è l'errore classico della prima implementazione.
packages/engine motore di gioco: regole, punteggi, giocatori simulati
packages/protocol tipi condivisi dei messaggi fra client e server
apps/web interfaccia: Vite + React + TypeScript
Monorepo TypeScript con pnpm workspaces. Node 22 o superiore.
pnpm install
pnpm test # i test del motore
pnpm typecheck
cd apps/web
pnpm dev # apre l'interfaccia in sviluppoCodice rilasciato sotto GNU AGPL v3.
In breve: puoi usarlo, studiarlo, modificarlo e ridistribuirlo, anche per fini commerciali. In cambio, se lo modifichi e lo metti a disposizione di altri — compreso il caso in cui lo ospiti come servizio online, senza distribuire niente — devi pubblicare le tue modifiche con la stessa licenza.
Ho scelto l'AGPL e non la MIT proprio per il caso del gioco in rete: con le licenze permissive chi ospita un servizio non è tenuto a restituire nulla, perché non sta distribuendo software. Qui invece sì.
Le carte in apps/web/public/carte/ e in assets/carte/ sono immagini
generate con l'intelligenza artificiale e seguono la stessa licenza del
progetto. Essendo generate da IA la loro tutela è comunque debole: se ti
servono per altro, prendile pure.
Di Manolo Buriani · Oxysoft, Ferrara