A modern implementation of the classic Solitaire (Klondike) card game built with Svelte, TypeScript, and TailwindCSS. This project features a clean design with smooth animations, drag-and-drop gameplay, and a complete scoring system.
This project is built using Deno with Vite and Svelte. While the application will run with Node.js, Deno is required for running tests.
Required:
Optional:
Clone the repository:
git clone https://gitlab.com/hamidriaz1999/csc200m24pid10.git
cd solitaire
Install dependencies:
deno install
deno install --allow-scripts=npm:[email protected]
# or
npm install
# or
pnpm install
Start the development server:
deno task dev
# or
npm run dev
# or
pnpm dev
Open your browser and navigate to http://localhost:5173
To create a production build:
deno task build
# or
npm run build
# or
pnpm build
The goal is to move all cards to the foundation piles, building up each suit from Ace to King.
solitaire/
āāā src/
ā āāā components/ # Svelte components
ā āāā gameLogic/ # Game logic classes
ā āāā shared/ # Shared states
ā āāā DataStructures/ # Custom data structures
ā āāā tests/ # Test files
āāā public/ # Static assets
āāā ...config files
Tests are written using Deno's built-in test framework. Make sure you have Deno installed before running tests.
The project includes comprehensive tests for the game logic and data structures. To run the tests:
deno test
Make the design responsive for mobile devices
Migrate to Svelte 5
Additional features