Solitaire-Online
Notizie dal sito

Dieci Giochi, Un Motore

L'aggiunta di una nuova variante solitaria costa qui un oggetto di configurazione. Tutto il resto — trascinamento, disfare, suggerimenti, punteggio, risparmio — esiste già.

Dieci giochi è nove giochi troppi

Klondike, Spider, FreeCell, Yukon, russo, piramide, TriPeaks, golf, quaranta ladri e Canfield sono, dal punto di vista del giocatore, dieci giochi diversi.

Il modo ingenuo per costruire un sito come questo è quello di scrivere dieci giochi. Questo ti porta dieci implementazioni separate di trascinamento, dieci sistemi di annullare, dieci bugs subtly diversi, e una tassa permanente su mai cambiare nulla.

Quello che il motore possiede

Tutto quello che non è una regola appartiene al motore condiviso, che si rivela essere quasi tutto il lavoro.

Le maniglie del motorePerché è condiviso
Layout e dimensionamentoOgni gioco è un insieme di posizioni di pile su una scheda che deve adattarsi a qualsiasi schermo
Drag & drop, tap-to-playInterazione identica in tutti e dieci i giochi; i giocatori non dovrebbero mai riavviarlo
UndoEsaminare l'intero stato, ripristinarlo. Regole-agnostica dal design
Timer, punteggio, numero di mossaStesso HUD ovunque, con le regole di punteggio per-game passate in
HintsIl motore chiede al gioco "che cosa è una buona mossa qui?" e anima la risposta
Risparmio e ripresaUn serializzatore per ogni gioco
Vinci il rilevamento e la celebrazioneIl gioco fornisce la prova; il motore fornisce i coriandoli

Che cosa un gioco in realtà è

Un gioco, in questo codebase, è un oggetto che risponde a una manciata di domande. Quanti mazzi? Dove vanno i pilastri? Come è l'accordo iniziale stabilito? Data una carta e un pila di destinazione, è quello mossa legale? Il gioco ha vinto? Che cosa è un suggerimento ragionevole?

Yukon e russo Solitaire sono l'illustrazione più chiara. Sono lo stesso gioco, tranne che Yukon si costruisce in colori alterni e russo si costruisce nella stessa tuta. Condividono un file, e la differenza tra loro è un singolo booleano passato nella stessa funzione di fabbrica.

L'aggiunta di un'undicesima partita è un oggetto di configurazione e una voce di pagina. Il motore sa già come giocarlo.

Nessun quadro, nessun passo di costruzione

Non c'è nessun React qui, nessun bundler, nessun transpiler e nessun Node_modules Le pagine sono HTML statico, gli stili sono due fogli di stile, e la logica è semplici moduli JavaScript caricati direttamente dal browser.

Le pagine stesse sono generate — pagine di gioco, guide e questo blog tutti escono da piccoli script di Node che leggono un file di contenuto e scrivono HTML. Questo ci dà l'unico vero vantaggio di un sistema di costruzione, che è che i mobili di pagina condivisa non possono derivare dalla sincronizzazione, senza il costo, che è che nulla funziona fino a quando la toolchain non fa.

Anche gli effetti sonori evitano lo schema. Ogni capovolto, luogo, suono e ronzio è sintetizzato dal vivo con l'API Web Audio piuttosto che caricato come file audio, quindi non c'è nulla da scaricare e niente da autorizzare.

Cosa ti costa caricare

Il risultato pratico è una pagina di gioco che è un paio di decine di kilobyte di markup, stili e script, più le immagini della carta, che sono precaricate su pagine di gioco in modo che il primo flip non appare mai vuoto, e memorizzato in modo aggressivo perché un mazzo di carte non cambia.

Nessun tracker, nessun script pubblicitario, nessuna parete di consenso di fronte alla scheda, che è in parte una decisione di valori e in parte una performance: lo script di terze parti più veloce è quello che non c'è.

L'unica cosa che siede davanti a tutto questo è Cloudflare, che memorizza il sito e filtra il traffico dannoso. privacy policy esclama quello che vede.

Dove il motore si ferma

Il sito ora ha dodici giochi, e dieci di loro funzionano sul motore descritto sopra. Cuori e Spade, aggiunto nell'agosto 2026, non farlo, e la ragione vale dire chiaramente: non sono giochi di pazienza.

Tutto sopra assume un giocatore contro un mazzo. Piles si trascina carte tra, uno stato di bordo, un test per se il gioco è vinto. Cuori e le spade sono giochi di trucco per quattro. Le mani sono trattate, le carte sono passate o le offerte sono fatte, quattro posti giocano a turno, i trucchi sono vinti, e i punteggi si accumulano sopra il giro dopo il giro fino a quando qualcuno raggiunge un obiettivo.

Quindi condividono ciò che è autenticamente condiviso: il mazzo, l'opera della carta, gli effetti sonori, il feltro, l'intestazione, l'abitudine di salvataggio e di risume e i mobili della pagina. Sotto hanno il loro piccolo modulo da tavolo, che conosce i sedili, un ordine di svolta, un trucco negli avversari del mezzo e del computer che pensano a quale carta giocare piuttosto che scegliere uno legale a caso.

Domande frequenti

Questo sito funziona offline?

In parte, le pagine sono statiche e cache bene, e ogni gioco salva il suo stato localmente, quindi una connessione sfacciata non perderà la mano.

- Hai rintracciato i giocatori?

Le statistiche di stato del gioco e di vita vengono memorizzate nel proprio browser utilizzando localStorage. Non vengono inviate da nessuna parte, e la cancellazione dei dati del browser li cancella.

Vuoi aggiungere altri giochi?

Sì. Per le varianti solitarie il motore è progettato in modo che un nuovo gioco è un oggetto di configurazione piuttosto che un nuovo codebase, che è ciò che rende l'aggiunta realistica. Giochi che non sono affatto pazienza, come Hearts e Spades, ottenere il proprio modulo invece di essere forzato attraverso di esso.