No description
| .vscode | ||
| components | ||
| frontend | ||
| img | ||
| .gitignore | ||
| .prettierrc | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| Makefile | ||
| nginx.conf | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
Tutoriel interactif de Mahjong Riichi
Un tutoriel complet et interactif pour apprendre à jouer au Mahjong Riichi, développé en TypeScript moderne avec une interface élégante.
Démonstration
Ce tutoriel est accessible directement sur ce site.
Fonctionnalités
- Guide étape par étape : Apprentissage progressif découpé en chapitres
- Interface interactive : Manipulez les tuiles et expérimentez les dynamiques
- Exemples de jeu : Scénarios dirigés pour s'entraîner aux différentes situations
- Design moderne : Interface élégante avec animations fluides
- Performances optimisées : Rendu canvas optimisé avec double buffering
Stack Technique
| Technologie | Version | Usage |
|---|---|---|
| TypeScript | 5.6+ | Langage principal |
| Vite | 6.0+ | Build tool & dev server |
| Vitest | 2.1+ | Tests unitaires |
| Canvas API | - | Rendu graphique |
Démarrage Rapide
Prérequis
- Node.js 18.0 ou supérieur
- npm ou yarn
Installation
# Cloner le dépôt
git clone https://github.com/Didictateur/Riichi.git
cd Riichi
# Installer les dépendances
npm install
# Lancer le serveur de développement
npm run dev
Scripts Disponibles
| Commande | Description |
|---|---|
npm run dev |
Lance le serveur de développement avec hot reload |
npm run build |
Compile le projet pour la production |
npm run preview |
Prévisualise le build de production |
npm run typecheck |
Vérifie les types TypeScript |
npm run test |
Lance les tests |
npm run test:watch |
Lance les tests en mode watch |
Makefile
Un Makefile est également disponible :
make dev # Serveur de développement
make build # Build production
make preview # Prévisualiser le build
make test # Lancer les tests
make clean # Nettoyer les fichiers générés
make hard-clean # Nettoyage complet (incluant node_modules)
make zip # Créer une archive de distribution
make help # Afficher l'aide
Structure du Projet
Riichi/
├── src/
│ ├── constants/ # Constantes partagées
│ ├── display/ # Composants d'affichage (dp*.ts)
│ ├── styles/ # Feuilles de style CSS
│ ├── text/ # Textes des tutoriels
│ ├── types/ # Définitions de types TypeScript
│ ├── utils/ # Fonctions utilitaires
│ └── yakus/ # Implémentation des yakus
├── img/ # Images et ressources
├── tests/ # Tests unitaires
├── build/ # Fichiers compilés
├── index.html # Point d'entrée HTML
├── vite.config.ts # Configuration Vite
└── tsconfig.json # Configuration TypeScript
Design System
Le projet utilise un système de variables CSS moderne :
:root {
--color-primary: #1a7f4b;
--color-accent: #ffd700;
--bg-main: linear-gradient(...);
/* ... */
}
Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche (
git checkout -b feature/amelioration) - Commit vos changements (
git commit -am 'Ajout de fonctionnalité') - Push la branche (
git push origin feature/amelioration) - Ouvrir une Pull Request
Sources
Les images des tuiles proviennent du dépôt de FluffyStuff.
Licence
Ce projet est dans le domaine public (CC0 1.0).