Diez juegos, un motor
Añadiendo una nueva variante del solitario aquí cuesta un objeto de configuración. Ya existe todo lo demás — arrastrando, deshacer, insinuaciones, anotando, ahorrando—.
Diez juegos es nueve juegos demasiado muchos
Klondike, Spider, FreeCell, Yukon, Ruso, Pirámide, TriPeaks, Golf, Cuarenta Thieves y Canfield son, desde el punto de vista del jugador, diez juegos diferentes. Desde un punto de vista de código, son diez reglas sobre un juego notablemente pequeño
La forma ingenua de construir un sitio como este es escribir diez juegos. Eso te consigue diez implementaciones separadas de arrastrar, diez sistemas de deshacer, diez errores subtly diferentes, y un impuesto permanente sobre siempre cambiar cualquier cosa. Escribimos un motor en su lugar.
Lo que el motor posee
Todo lo que no es una regla pertenece al motor compartido, lo que resulta ser casi todo el trabajo.
| El motor maneja | ¿Por qué es compartido |
|---|---|
| Diseño y dimensionamiento | Cada juego es un conjunto de posiciones de pila en un tablero que debe caber cualquier pantalla |
| Arrastre " gota ", toque a juego | Interacción idéntica en los diez juegos; los jugadores nunca deben relearn |
| Undo | Captura todo el estado, restaurarlo. Reglas-agnósticas por diseño |
| Hora, puntuación, cuenta de movimiento | Mismo HUD en todas partes, con reglas de puntuación por juego |
| Hintes | El motor pregunta el juego "¿qué es un buen movimiento aquí?" y anima la respuesta |
| Ahorro y recuperación | Un serializador para cada juego |
| Detección y celebración ganadora | El juego proporciona la prueba; el motor suministra el confeti |
Qué juego es realmente
Un juego, en esta base de código, es un objeto que responde a un puñado de preguntas. ¿Cuántas cubiertas? ¿A dónde van las pilas? ¿Cómo se establece el acuerdo inicial? Dado una tarjeta y un montón de blanco, es que se mueve legal? ¿Es el juego ganado? ¿Qué es una pista razonable?
Yukon y ruso Solitaire son la ilustración más clara. Ellos son el mismo juego excepto que Yukon construye en colores alternantes y ruso se construye en el mismo traje. Comparten un archivo, y la diferencia entre ellos es un solo booleano pasado en la misma función de fábrica.
Sin marco, sin paso de construcción
No hay React aquí, no hay un empaquetador, no hay un transpilador y no hay node_modules en lo que se implementa. Las páginas son HTML estático, los estilos son dos hojas de estilo, y la lógica es módulos de JavaScript plano cargados directamente por el navegador.
Las páginas se generan —páginas de juego, guías y este blog salen todos de pequeños scripts Node que leen un archivo de contenido y escriben HTML. Eso nos da el beneficio real de un sistema de construcción, que es que los muebles de página compartidos no pueden derivarse de la sincronización, sin el costo, que es que nada funciona hasta que la cadena de herramientas lo hace.
Incluso los efectos de sonido evitan el patrón. Cada voltereta, lugar, chime y zumbido se sintetiza en directo con la API de audio Web en lugar de cargar como un archivo de audio, por lo que no hay nada que descargar y nada que licenciar.
Lo que te cuesta cargar
El resultado práctico es una página de juego que es unas cuantas decenas de kilobytes de marcado, estilos y script, además de las imágenes de tarjetas, que son precargadas en las páginas de juego por lo que el primer flip nunca aparece en blanco, y caché agresivamente porque una cubierta de tarjetas no cambia.
Sin rastreadores, sin scripts publicitarios, sin muro de consentimiento delante del tablero. Esto es en parte una decisión de valores y en parte una de rendimiento: el script de terceros más rápido es el que no está allí.
La única cosa que se sienta frente a todo esto es Cloudflare, que bloquea el sitio y filtra el tráfico malicioso. No añade nada a las páginas del juego. Política de privacidad Deletrea lo que ve.
Donde se detiene el motor
El sitio ahora tiene doce juegos, y diez de ellos corren en el motor descrito anteriormente. Corazones y Spades, añadido en agosto de 2026, no, y la razón vale la pena decir claramente: no son juegos de paciencia.
Todo arriba asume un jugador contra una cubierta. Piles que arrastras cartas entre, un estado de la tabla, una prueba para si el juego es ganado. Corazóns y Spades son juegos de truco para cuatro. Las manos son repartidas, tarjetas se pasan o se hacen ofertas, cuatro asientos juegan a su vez, se ganan trucos, y las puntuaciones se acumulan alrededor después de la ronda hasta que alguien alcanza un objetivo. No hay pila para soltar una tarjeta de juegos de la configuración peor para ganar.
Así que comparten lo que es genuinamente compartido: la cubierta, el arte de la tarjeta, los efectos de sonido, el sentido, el encabezado, el hábito de ahorro y consumo y los muebles de la página. Debajo tienen su propio pequeño módulo de mesa, que sabe sobre asientos, una orden de giro, un truco en el medio y los oponentes de computadora que piensan en qué tarjeta para jugar en lugar de escoger uno legal al azar. Dos motores, doce juegos de la misma regla que es la regla
Preguntas frecuentes
¿Este sitio funciona fuera de línea?
En parte. Las páginas son estáticas y caché bien, y cada juego ahorra su estado localmente, por lo que una conexión ardua no perderá la mano. No hay instalación completa sin conexión.
¿Trabajas a los jugadores?
Las estadísticas del estado del juego y la vida útil se almacenan en su propio navegador utilizando localStorage. No se envían a ningún lugar, y limpiar los datos de su navegador los aclara.
¿Quieres añadir más juegos?
Si. Para las variantes del solitario el motor está diseñado de modo que un nuevo juego es un objeto de configuración en lugar de una nueva base de código, que es lo que hace que se añadan realistas. Juegos que no son la paciencia en absoluto, tales como Corazóns y Spades, obtener su propio módulo en lugar de ser forzado a través de él.